Teechain: Scalable Blockchain Payments using Trusted Execution Environments GIZEM AKDENIZ DECEMBER 13 , 2018.

Slides:



Advertisements
Similar presentations
Secure Multiparty Computations on Bitcoin
Advertisements

1 Algorithms and protocols for distributed systems We have defined process groups as having peer or hierarchical structure and have seen that a coordinator.
MANETs Routing Dr. Raad S. Al-Qassas Department of Computer Science PSUT
Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.
MODULE IV SWITCHED WAN.
04/18/2005Yan Huang - CSCI5330 Database Implementation – Distributed Database Systems Distributed Database Systems.
1 Bitcoin A Digital Currency. Functions of Money.
Network Protocols and Standards (Part 2). The OSI Model In 1984, the International Organization for Standardization (ISO) defined a standard, or set of.
OPS Requirements Specification and Analysis Dustin Larson Bryan Campbell Charles Sears.
Block Chain 101 May 2017.
When BPM meets Blockchain
Chapter 3 Part 3 Switching and Bridging
LCH PPS Onboarding Guide.
Overview Parallel Processing Pipelining
Raihana Ferdous, Vallipuram Muthukkumarasamy
Delay-Tolerant Networks (DTNs)
Distributed Financial Technology in Payments
Cryptocurrencies by.
Cryptography and Network Security
Evaluation Forms for Blockchain- Based System ver. 1.0
Packet Switching Datagram Approach Virtual Circuit Approach
Bitcoin - a distributed virtual currency system
The Echo Algorithm The echo algorithm can be used to collect and disperse information in a distributed system It was originally designed for learning network.
Cluster Communications
Blockchains and Cryptocurrencies: What Financial Planners Need to Know
Ivy Eva Wu.
NAT , Device Discovery Chapter 9 , chapter 10.
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
NET323 D: Network Protocols
Chapter 3 Part 3 Switching and Bridging
Campbell R. Harvey Duke University and NBER
Blockchain Adrian Zaragoza.
Deanonymization of Clients in Bitcoin P2P Network

Zcash Mining – A Guide For Beginners. Zcash (also known as ZEC and seventeenth most valued cryptocurrency with market capitalization of $500 million)
{ BLOCKCHAIN Technology. BSEtecBSEtec is a digital solution provider company which offers the best service with the implement of the latest technologies.
Blockchain Helpline Number
ECE 544 Protocol Design Project 2016
Breaking through with Blockchain
Focus Group 3: Blockchain and digitalisation
BLOCKCHAIN AND THE FUTURE OF DAM
Outline Announcements Fault Tolerance.
NET323 D: Network Protocols
Secure Electronic Transaction (SET) University of Windsor
Bitcoin: A New Internet Currency
Distributed Ledger Technology (DLT) and Blockchain
Switching Techniques.
Can blockchains be made better using hardware-assisted security?
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Chapter 3 Part 3 Switching and Bridging
GRIF DEX is an international decentralized exchange, a trading platform where you can buy and sell coins, tokens and fiat currency. An exchange will conform.
Shielding applications from an untrusted cloud with Haven
Blockchains and Smart Contracts for the Internet of Things
Off-Chain Payment Channels
Database System Architectures
Electronic Payment Security Technologies
Scalable and Privacy-preserving Design of On/Off-chain Smart Contracts
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Faculty Seminar Series Blockchain Technology
Blockchain Technology: A New Approach to Provenance
Windows Development Dynadata Copyright, 2014 © DynaData S.A. 1/29.
Lightning or How to Pay Quickly with Bitcoin
Digital Signatures Network Security.
Hyperledger Fabric 소개 및 튜토리얼
BPSec: AD Review Comments and Responses
GAYATRI INSTITUTE OF COMPUTER AND MANAGEMENT HINJILICUT (GANJAM)
Blockchain Tech Big Picture
Bitcoin and Blockchain
Explore Txs, block, blockchain in Bitcoin
Not about digital currencies
Presentation transcript:

Teechain: Scalable Blockchain Payments using Trusted Execution Environments GIZEM AKDENIZ DECEMBER 13 , 2018

greatest weakness : performance limited by the rate and latency BLOCKCHAIN PROTOCOLS are used to power Bitcoin cryptocurrency enable fund transfers over a trustless, decentralized and global network . robust and secure greatest weakness : performance limited by the rate and latency

BITCOIN digital crytocurrency bitcoin adress associated with public/private keypair Bitcoin transactions: pieces of info conveying which funds are to be transferred between which Bitcoin addresses. Transaction inputs : unspent transaction output(UTXOs) script : specified within each UTXO , to prove ownership of the UTXO each peer (or node ) -> updates a copy of the (append-only) bitcoin blockchain Performance limitation : only a handful of transactions per second and requires waiting 10’s of minutes before providing the transaction confirmation

TEE CPU safeguards the confidentiality and integrity of code allow code to run in a trusted environment called an enclave Code and Memory Isolation Remote Attestation

goal : to overcome the limitations of underlying blockchain protocol TEECHAIN Definition : a payment channel and multi-hop payment protocol that supports practical , efficient and secure off-blockchain fund transfers . goal : to overcome the limitations of underlying blockchain protocol

Runs inside each party’s TEE Approach Runs inside each party’s TEE Exploits TEEs to enforce correct operation of mutually distrusting parties during off-chain fund exchanges Protocol to route payments across multiple payment channels (payment chains),

Model and Assumptions mutually distrusting parties using a blockchain-based cryptocurrency to exchange funds potentially malicious parties parties are connected via a network, with some parties behind firewalls or network address translation (NAT).

no direct way of verifying transactions ! Interaction with the blockchain: (i) when funds are deposited into the network (ii) when funds are released from the network (iii) when a new deposit is approved and assigned to a channel (iv) when payment channels are terminated

Payment channels bidirectional payment channels between TEEs with direct network connectivity enables two participants to exchange funds (without blockchain interaction) when a channel termination occurs -> generating only a single blockchain transaction for the final state of the channel

Protocol a secure network channel is established between two TEEs (newNetworkChannel, line 15) Both participants provide their TEEs with the remote public key and a cryptocurrency settlement address (newPayChannel, line 18). agree on a unique channelID The TEEs then associate this information with the channel and create a signed acknowledgement message (line 26), opening the channel (line 27).

Deposits deposits : transaction outputs that have been paid into a bitcoin address that is held by a Teechain TEE, meaning that the addresses’ private keys are only known to the TEE, and that have been placed onto the blockchain only the owning TEE is ever able to release those deposits again by generating a corresponding spending transaction. TEE allows funds to be associated/dissociated with payment channels at runtime.

Deposit approval deposit has actually been placed onto the blockchain command approveMyDeposit , approveMyDeposit request to the remote party. must only be approved once for each pair of Teechain participants can be associated with any payment channel between the pair of TEEs can be performed at any time during protocol execution

Deposit Association Command associateMyDeposit New deposits can be added at any time (newDeposit, line 36). The corresponding private keys to spend deposits are stored in the TEEs , allowing the funds to be released later (releaseDeposit, line 42). Before a deposit can be associated with a channel, the remote party must approve it (approveMyDeposit, line 48). locates the corresponding Bitcoin private key that can spend the txo , encrypts it for the channel forwards it

Deposit Dissociation command dissociateDeposit providing a channel ID and the deposit to dissociate Verifiying whether dissociation is permissible, i.e. whether the value of the dissociated deposit does not exceed her current channel balance. may be performed at any point in time while the payment channel is open.

Payment Channel Settlement Either party may settle the channel according to its current state at any point in time. command settle no payments having been made : channel -> terminated deposits -> disassociated from the channel 2) sends the balances of the parties to their settlement addresses using all the deposits currently associated with the channel, and the corresponding private keys to spend from those deposits.

Payment Routing a protocol to route payments across multiple Teechain payment channels all nodes of the payment chain have been securely attested command routePayment : the amount of money to be sent and the public keys of all nodes along the path Stages: 1. LOCK 2.SIGN 3.PROMISEA 4.PROMISEB 5.UPDATE 6.RELEASE

to lock the states of all payment channels in the payment chain the chain settlement transaction chainSettleTx -> that settles the state of all channels in the payment chain according to the post-payment state 2. SIGN Signing the settlement transaction chainSettleTx -> signedChainSettleTx 3. PROMISE A Promise to not settle pre-payment 4. PROMISEB Promise to correctly settle post-payment 5. UPDATE State Update 6. RELEASE Lock release

Off-chain Channel Termination Advantage: the funds become available immediately and can be used for future payments reduces the amount of transactions that must be placed onto the blockchain !! Teechain is able to terminate channels off-chain if two nodes of the Teechain network share at least two payment paths. !!

Fault Tolerance To avoid permanent loss of funds: 1. Persistent Storage 2. TEE State Replication: Backup Chains

Performance Evaluation throughput and latency of payment channels and payment chains are measured Teechain nodes use either persistent storage or chain replication (to understand the impact of fault tolerance) throughput -> maximum number of transactions sent on a channel or a chain per second. measuring the throughput -> send x payments to the counterparty and measure the time ∆t from the initiation of the first payment until the receipt of the x-th acknowledgement. latency -> the time measured from the moment a payment is issued until the acknowledgement for that payment is received.

three step payment chain : UK1 -> US -> UK2 Teechain : requires 3 RR LN : requires 1.5 RR for chain replication , persistent storage : additional RRs

Thank you for your attention!