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
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 are cool — but scale badly ▪ Hard to operate on secret inputs Transactions are Inputs are therefore recorded on chain public 2
Motivation ▪ Related works Smart Contract Scalable Privacy Ethereum Hawk ZCash Omniledger RSCoin 3
Introduction ▪ What is chainspace? contribution I Scalable smart contract platform contribution II Supporting privacy 4
Contents .3. Privacy by Design .1. System Overview .2. Scalability .4. Security Properties .5. Performance 5
System Overview ▪ How Chainspace works? ▪ Nodes are organised into shards ▪ Shards manage objects objects ▪ Objects can be used only once 6
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
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
Privacy by Design ▪ Transaction in classic blockchains user node contract secret data input state output state 9
Privacy by Design ▪ What are Chainspace Smart Contracts? user side execution checker node side 10
Privacy by Design ▪ Chainspace transaction execution user node execution checker checker input objects input & output secret objects data output or objects 11
Privacy by Design ▪ Private data never leave the client ! user private data À Ã Õ Œ œ – — “ — secret key — À Ã Õ Œ œ – — “ execution — zk-proof — node À Ã Õ Œ œ – — “ checker — verify zk-proofs — 12
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
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
Performance ▪ How the number of shards influences the TPS? TPS VS Number of Shards TPS scales linearly with the number of shards 15
Performance ▪ How does the size of the shard influence the TPS? TPS VS Nodes per Shard TPS decreases slowly 16
Performance ▪ How the number of inputs influence the TPS? TPS VS Number of Inputs TPS decreases slowly and then flattens out 17
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
Explore More Topics
Stay informed with curated content and fresh updates.