chainspace a sharded smart contract platform
play

Chainspace: A Sharded Smart Contract Platform Authors Mustafa - PowerPoint PPT Presentation

Chainspace: A Sharded Smart Contract Platform Authors Mustafa Al-Bassam* Alberto Sonnino* Shehar Bano* Dave Hrycyszyn** George Danezis* * University College London ** constructiveproof.com NDSS Symposium 2018 1 Motivation Blockchains


  1. Chainspace: A Sharded Smart Contract Platform Authors Mustafa Al-Bassam* Alberto Sonnino* Shehar Bano* Dave Hrycyszyn** George Danezis* * University College London ** constructiveproof.com NDSS Symposium 2018 1

  2. Motivation ▪ Blockchains are cool — but scale badly ▪ Hard to operate on secret inputs Transactions are Inputs are therefore recorded on chain public 2

  3. Motivation ▪ Related works Smart Contract Scalable Privacy Ethereum Hawk ZCash Omniledger RSCoin 3

  4. Introduction ▪ What is chainspace? contribution I Scalable smart contract platform contribution II Supporting privacy 4

  5. Contents .3. Privacy by Design .1. System Overview .2. Scalability .4. Security Properties .5. Performance 5

  6. System Overview ▪ How Chainspace works? ▪ Nodes are organised into shards ▪ Shards manage objects objects ▪ Objects can be used only once 6

  7. Scalability ▪ How nodes reach consensus? The S-BAC Protocol Byzantine Atomic Agreement Commit lock unlock Send prepare( T ) Client Accept Confirmation user 3 Shard 1 ) BFT BFT (manage o1) Inactive o 1 ) BFT BFT Shard 2 Inactive o 2 (manage o2) ) BFT Shard 3 Create o 3 (manage o3) Initial Process Process Process Broadcast Prepare Prepared Accept 7

  8. Scalability ▪ The Wisdom behind S-BAC Only shards managing o1 and o2 Shard 1 and shard 2 can work in are reaching consensus parallel Send prepare( T ) Client Accept Confirmation user 3 Shard 1 ) BFT BFT (manage o1) Inactive o 1 ) BFT BFT Shard 2 Inactive o 2 (manage o2) ) BFT Shard 3 Create o 3 (manage o3) Initial Process Process Process Broadcast Prepare Prepared Accept 8

  9. Privacy by Design ▪ Transaction in classic blockchains user node contract secret data input state output state 9

  10. Privacy by Design ▪ What are Chainspace Smart Contracts? user side execution checker node side 10

  11. Privacy by Design ▪ Chainspace transaction execution user node execution checker checker input objects input & output secret objects data output or objects 11

  12. Privacy by Design ▪ Private data never leave the client ! user private data À Ã Õ Œ œ – — “ — secret key — À Ã Õ Œ œ – — “ execution — zk-proof — node À Ã Õ Œ œ – — “ checker — verify zk-proofs — 12

  13. Security Properties ▪ What does Chainspace guarantee? ▪ Honest Shard: among 3f+1 nodes, at most f are malicious. ▪ Malicious Shard: over f dishonest nodes. ▪ Chainspace properties: Transparency Encapsulation Anyone can authenticate the history of A smart contract cannot interfere with transactions and objects that led to the objects created by another contract creation of an object. (except if defined by that contract). Integrity Non-Repudiation (Honest Shard) Misbehaviour is detectable: there are Only valid & non-conflicting transactions evidences of misbehaviour pointing to will be executed. the faulty parties or shards. 13

  14. Performance ▪ What did we implement? Measured and tested S-BAC protocol on Amazon AWS implemented in Java Based on BFT-SMaRt Python contract Everything is released as open source software simulator https://github.com/chainspace Helps developers Simulation of the checker No need for full deployment 14

  15. Performance ▪ How the number of shards influences the TPS? TPS VS Number of Shards TPS scales linearly with the number of shards 15

  16. Performance ▪ How does the size of the shard influence the TPS? TPS VS Nodes per Shard TPS decreases slowly 16

  17. Performance ▪ How the number of inputs influence the TPS? TPS VS Number of Inputs TPS decreases slowly and then flattens out 17

  18. Performance ▪ How is the trade off between TPS and latency? Probability VS Latency Low latency even when the system is heavy loaded 18

Recommend


More recommend