demystifying blockchains decentralized secure and fault
play

Demystifying Blockchains: Decentralized, Secure and Fault-tolerant - PowerPoint PPT Presentation

Demystifying Blockchains: Decentralized, Secure and Fault-tolerant Storage Amr El Abbadi University of California, Santa Barbara In Collaboration with: Mohammad Amiri, Sujaya Maiyya, Victor Zakhary, and Divyakant Agrawal. Brown 2019 1


  1. Demystifying Blockchains: Decentralized, Secure and Fault-tolerant Storage Amr El Abbadi University of California, Santa Barbara In Collaboration with: Mohammad Amiri, Sujaya Maiyya, Victor Zakhary, and Divyakant Agrawal. Brown 2019 1

  2. Blockchains • Many interesting (controversial?) problems in new guises. • Distributed Systems: Consensus, replication, etc • Data Management: Transactions, replication, commitment, etc • Security: Encryption, hashing, etc • Economics: Money, tokens, assests, etc Brown 2019 2

  3. Bitcoin Brown 2019 3

  4. Traditional Banking Systems • From Database and Distributed Computing Perspective • Identities and Signatures • You are your signature: IDENTITY  Private and Public Digital signatures • Ledger • The balance of each identity (saved in a DB)  Blockchain (basically a linked list!) • Transactions • Move money from one identity to another • Concurrency control to serialize transactions  Mining and Proof of Work • Typically backed by a transactions log • Log is persistent (disk)  Replication to the whole world • Log is immutable and tamper-free (end-users trust this)  HashPointers Brown 2019 4

  5. Blockchain Architecture • The ledger is fully replicated to all network nodes • A Block is a set of transactions submitted by the clients. Application Layer Storage Layer Brown 2019 5

  6. Transaction Model 0.1 BTC 0.3 BTC TX 1 1.8 BTC TX 2 1.8 BTC 0.5 BTC 1.5 BTC 1.2 BTC Merge Assets Split Assets Assuming no imposed transaction fees! Brown 2019 6

  7. Transaction Model TX 1 TX 2 Sign Sign 0.3 BTC 0.1 BTC 1.8 BTC 0.5 BTC 0.1 BTC 1.5 BTC Brown 2019 7

  8. The Ledger: Some Technical Details • How is the ledger tamper-free? Blocks are connected through hash-pointers • Each block contains the hash of the previous block header • Tampering with the content of any block can easily be detected Hash() Hash() Hash() Brown 2019 8

  9. Making Progress • To make progress: • Network nodes validate new transactions to make sure that: • Transactions on the new block do not conflict with each other • Transactions on the new block do not conflict with previous blocks transactions • Network nodes need to agree on the next block to be added to the blockchain • New assets are generated and registered through mining. • Reward transaction in every mined block Hash() Hash() Hash() Consensus 9 Brown 2019

  10. Consensus Protocols All participants should be known a priori • Permissioned vs Permissionless settings • Permissionless Blockchains: • Network nodes freely join or leave at anytime • Nakamoto’s Consensus: Proof of Work (PoW) • Ethereum’s Consensus: Proof of Stake (PoS) • : Permissioned Blockchains • Paxos (Crash failures only) • Byzantine Fault-tolerance (malicious failures) Brown 2019 10

  11. Mining Details: Block Creation TX 1 TX 2 . . . TX 1 TX 1 TX 2 TX 2 . . TX n . . . . TX n TX n CS171 11

  12. Mining Details: Block Contents Version Previous Block Header Hash Header SHA256( ) < D Merkle Tree Root Hash TX reward Time Stamp Current Target Bits Nonce TX reward TX 1 TX 1 TX 1 TX 1 TX 2 TX 2 TX 2 . . . Transactions TX 2 . . . . . . . . TX n TX n TX n TX n CS171 12

  13. Mining Details • D: dynamically adjusted difficulty 256 bits Version Difficulty bits • Difficulty is adjusted every 2016 blocks (almost 2 weeks) Previous Block Header Hash Header SHA256( ) < D Merkle Tree Root Hash Time Stamp Current Target Bits Nonce TX reward TX 1 TX 1 TX 1 TX 1 TX 2 TX 2 TX 2 . . . Transactions TX 2 . . . . . . . . TX n TX n TX n TX n CS171 13

  14. Forks • • • Transactions in the forked blocks might have conflicts Transactions in this block have to be resubmitted Miners join the longest chain to resolve forks • Could lead to double spending • Forks have to be eliminated

  15. Some Limitations of Bitcoin • High transaction-confirmation latency • Probabilistic consistency guarantees • Very low TPS ( Transactions per second) - average of 3 to 7 TPS • Transparency leads to lack of privacy • Energy consumption due to PoW.

  16. Atomic Commitment Across Blockchains Brown 2019 16

  17. The Landscape Brown 2019 17 Source: coinmarketcap.com on June 7 th 2019 at 5:00pm PST

  18. The Landscape • Thousands of Blockchains • Tens of thousands of markets • Exchanges to trade tokens for USD • Direct token transactions in one blockchain • Direct token transactions across blockchains, how? • Cross-chain transactions Brown 2019 18

  19. Cross-ChainTransaction Example Y X X Y Atomic Cross-Chain Commitment Protocol Swap of X bitcoins Ownership Y ethers Brown 2019 19

  20. Atomic Swap Example [Nolan’13, Herlihy’18] • Alice wants to trade Bitcoin for Ethereum with Bob Bob Alice Brown 2019 20

  21. Atomic Swap Example [Nolan ’ 13, Herlihy ’ 18] • Alice wants to trade Bitcoin for Ethereum with Bob • Create a secret s • Calculate its hash h = H(s) s and h Bob Alice Brown 2019 21

  22. Atomic Swap Example [Nolan ’ 13, Herlihy ’ 18] • Alice wants to trade X Bitcoin for Y Ethereum with Bob Bitcoin blockchain T 1 T 1 Move X bitcoins to Bob if Bob provides secret s | h = H(s) s and h Bob Alice Brown 2019 22

  23. Atomic Swap Example [Nolan’13, Herlihy’18] • Now, h is announced in Bitcoin blockchain and made public Ethereum blockchain Bitcoin blockchain T 2 T 1 T 2 Move Y Ethereum to Alice if Alice’s X bitcoins are locked in Alice provides secret s | h = H(s) T 1 ’s smart contract s Bob Alice Brown 2019 23

  24. Atomic Swap Example [Nolan’13, Herlihy’18] • Now, for Alice to execute T 2 and redeem Y Ethereum, she reveals s Ethereum blockchain Bitcoin blockchain T 2 T 1 Bob ’ s Y Ethereum are locked in T 2 ’ s Alice ’ s X bitcoins are locked in smart contract T 1 ’ s smart contract s Bob Alice Brown 2019 24

  25. Atomic Swap Example [Nolan ’ 13, Herlihy ’ 18] • Revealing s, executes T 2 . Now s is public in Ethereum ’ s blockchain Ethereum blockchain Bitcoin blockchain s T 2 T 1 Bob ’ s Y Ethereum are locked in T 2 ’ s Alice ’ s X bitcoins are locked in smart contract T 1 ’ s smart contract Bob Alice Brown 2019 25

  26. Atomic Swap Example [Nolan ’ 13, Herlihy ’ 18] • Now, Bob uses s to execute T 1 and redeem his Bitcoins Ethereum blockchain Bitcoin blockchain s T 2 s T 1 Bob’s Y Ethereum are locked in T 2 ’s Alice’s X bitcoins are locked in smart contract T 1 ’s smart contract Bob Alice Brown 2019 26

  27. Atomic Swap Example: What can go wrong? • Alice locks her X Bitcoins in Bitcoin ’ s blockchain through T 1 • Bob sees T 1 but refuses to insert T 2 • Now, Alice ’ s Bitcoins are locked for good • A conforming party (Alice) ends up worse off because Bob doesn ’ t follow the protocol • Prevention • Use timelocks to expire a contract • Specify that an expired contract is refunded to the creator of this contract Brown 2019 27

  28. Atomic Swap Example: Timelocks How to determine the time period of a timelock? T 4 : Refund T 2 to Bob if Alice does T 3 : Refund T 1 to Alice if Bob does not execute T 2 before 24 hours not execute T 1 before 48 hours T 2 : Move Y Ethereum to Alice if T 1 : Move X bitcoins to Bob if Alice provides secret s | h = H(s) Bob provides secret s | h = H(s) Bob Alice Brown 2019 28

  29. Atomic Swap Example [Nolan ’ 13, Herlihy ’ 18] Δ Δ Δ Δ Alice-Bob in Bitcoin Bob-Alice in Ethereum Alice reveals the secret to Bob’s contract and claims the Y ether X bitcoins Now, Bob takes the secret, reveals it to Alice ’ s contract and claims the X bitcoins e.g., Δ = 12hr Y ethers Brown 2019 29

  30. What can go wrong? X bitcoins are refunded to Alice any time after the Δ Δ Δ Δ contract expires Alice-Bob in Bitcoin Bob-Alice in Ethereum Atomicity Violation If Bob fails or suffers a network denial of service attack for Δ , Alice ’ s contract will expire and Bob will lose his X bitcoins X bitcoins Y ethers Brown 2019 30

  31. Atomicity Violation • Using timelocks leads to Atomicity violation • Our Atomicity-based Approach: • The decision of both transactions should be made atomic • Once the decision is taken, both transactions either commit or abort • A transaction cannot commit unless a commit decision is reached • A transaction cannot abort unless an abort decision is reached Brown 2019 31

  32. Building block: Cross-Chain Verification • How can miners of one blockchain: • Verify a transaction in another blockchain? • Without maintaining a copy of this other blockchain. Brown 2019 32

  33. Building block: Cross-Chain Verification 5 TX 1 Evidence Need to verify that TX 1 is actually TX 1 TX 1 evidence in verified blockchain d blocks d blocks 4 1 3 TX 1 Verified Blockchain Current head Transaction TX 1 of interest 2 6 SC { SC { Verifier Blockchain S 1 S 2 } } Current head Brown 2019 33

  34. Building block: Cross-Chain Verification TX 1 • Verification process: TX 1 evidence • Each header includes the hash of the previous header d blocks • The proof of work of each header is correct • TX 1 is correct • TX 1 is buried under d blocks • The cost of generating evidence: • Choose d to make this cost > the value transacted in TX 1 • If true, a malicious user has no incentive to create a fake evidence Brown 2019 34

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend