streamchain do blockchains need blocks
play

StreamChain: Do Blockchains Need Blocks? Zsolt Istvn, Alessandro - PowerPoint PPT Presentation

StreamChain: Do Blockchains Need Blocks? Zsolt Istvn, Alessandro Sorniotti , Marko Vukoli IMDEA Software IBM Research Zrich StreamChain in a nutshell Goal : Low latency and high throughput operation in permissioned ledgers for wider


  1. StreamChain: Do Blockchains Need Blocks? Zsolt István, Alessandro Sorniotti , Marko Vukolić IMDEA Software IBM Research Zürich

  2. StreamChain in a nutshell • Goal : Low latency and high throughput operation in permissioned ledgers for wider adoption (without changing security or reliability properties) • Idea : Revisit core design decisions → turn block-based processing into streaming processing • Enables : New opportunities for blockchains, ability to benefit from recent hardware trends 2

  3. The lineage of permissioned ledgers • Public ledgers (blockchains) • Permissioned ledgers • Geo-distribution → no way around • Compelling non geo-distributed communication latency, gossip to use-cases keep everyone up to date • Low latency, high bandwidth, gossip not necessary • Proof-of-work → amortize cost by • No proof-of-work packaging up many TXs in blocks Pain point: When executed inside the same datacenter, permissioned ledgers still take hundreds of milliseconds 3 for transaction finality!

  4. The source of high latency Extra latency T T T T T T T T T Input: 0 1 2 3 4 5 6 7 8 Compute Compute: hash + Sign S T T T T T T T T T I Output: 0 1 2 3 4 5 6 7 8 G time a) “Block” behavior T T T T T T T T T Input: 0 1 2 3 4 5 6 7 8 Compute: Compute hash + Sign S T T T T T T T T T I Output: 0 1 2 3 4 5 6 7 8 G time 4 b) Streaming behavior

  5. StreamChain – Design principles • Process transactions system-wide as they arrive • Reduces latency without impacting throughput • Use batching to hide the cost of high-latency operations (disk accesses) • Logical “blocking” of transactions and batching are decoupled • Use multi-core parallelism to speed up cryptographic operations • Streaming doesn’t change the cost of these… 5

  6. Hyperledger Fabric 101 • Open source platform for building applications on top of a permissioned ledger • Smart contracts as “chain code” written in various languages • Customizable behavior • Separates ordering of transactions into dedicated service – pluggable implementations for BFT CC Peer Ord. Peer Ord. Ord. Peer 6

  7. Executing transactions in Fabric • Has an EOV model to save resources, provide confidentiality • Execute : Choice of endorsers depends on a user’s endorsement policy and produce R/W set of the TX • Order : Orderer orders the transactions (R/W sets signed by endorsers), signs blocks • Validate : Nodes apply R/W set if endorsement is valid and compatible with state CC R/W Ordering CC State KVS Peer Peer R/W Peer R/W Ledger Peer 7

  8. Life after Ordering in Fabric • Fabric can have failed transactions due to R/W set conflicts CC 3 • Client have to retry transaction CC 2 CC • (Or use a suitable programming model) State KVS Peer • The less latency between execution and 100ms validation, the less chance of failing TX R/W Ledger • StreamChain brings this additional benefit in Fabric 8

  9. Sketch of StreamChain in Fabric Endorsement of chain codes Pipelined execution of Validate step R/W Set Write to Sign. Valid. Validation Ledger TXs from Orderer Peer S L Batching Streaming Streaming 9

  10. Our Proof of Concept • Modifies Fabric v1.0 code to simulate behavior • Streaming by making blocks with 1 TX and null signatures from CFT ordering service • Still relies on TLS connections • Cost of Orderer signature checking per block is negligible compared to TX signatures • Implemented parallel signature checks on TXs in the peers • Simulating amortized cost of disk access using RAMdisk 10

  11. Does this work with ordering service failures? • For CFT: Connections to ordering nodes set up via TLS • Can rely on single ordering node until crash • For BFT: If each node connects to t+1 ordering nodes: data can be streamed from one, hashes from the others • High bandwidth requirement, many connections # TX # 11

  12. Does this work with a BFT ordering service? • If connecting to only one ordering node, transactions cannot be recorded to ledger as they arrive • Multi-signature required periodically • Can speculate on state in the meantime – explained in the paper • Make transaction outcome immediately visible to execution logic • If signature is wrong, remove temporary state • May waste work but no data corruption possible on ledger 12

  13. Evaluation • Ran StreamChain in the IBM Cloud (9 machines) • Intel Xeon E5-2683 @ 2GHz • SSD storage • 1Gbps network • Compared to Fabric (Fabcoin) [Eurosys18] • UTXO application • ~4000TX/s, ~350ms end-to-end latency • (Related work has similar orders of magnitude) 13

  14. Latency 14

  15. Throughput vs Latency Throughput bound by R/W set 140 check and ledger commit. Committing Logic Latency (ms) 120 Fabric (Fabcoin) 100 80 60 Future expectation 40 StreamChain P.o.C. 20 0 0 1000 2000 3000 4000 Throughput (TX/s) 15

  16. Thoughts on the future • Permissioned ledger adoption could hinge on performance • Revisit assumptions: streaming processing is a realistic option • Proof-of-concept using Hyperledger Fabric • StreamChain exposes new bottlenecks → New research challenges • Ordering service optimizations • Smart contract execution Birds of a Feather Session tomorrow: Consensus and coordination using modern hardware 16

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