Flow: Separating Consensus and Compute - Execution Verification

Throughput limitations of existing blockchain architectures are well documented and are one of the most significant hurdles for their wide-spread adoption. In our previous proof-of-concept work, we have shown that separating computation from consensus can provide a significant throughput increase without compromising security. In our architecture, Consensus Nodes only define the transaction order but do not execute transactions. Instead, computing the block result is delegated to compute-optimized Execution Nodes, and dedicated Verification Nodes check the computation result. During normal operation, Consensus Nodes do not inspect the computation but oversee that participating nodes execute their tasks with due diligence and adjudicate potential result challenges. While the architecture can significantly increase throughput, Verification Nodes still have to duplicate the computation fully. In this paper, we refine the architecture such that result verification is distributed and parallelized across many Verification Nodes. The full architecture significantly increases throughput and delegates the computation work to the specialized Execution Nodes and the onus of checking it to a variety of less powerful Verification Nodes. We provide a full protocol specification of the verification process, including challenges to faulty computation results and the resulting adjudication process. Furthermore, we formally prove liveness and safety of the system.

[1]  Håkan L. S. Younes,et al.  Probabilistic Verification of Discrete Event Systems Using Acceptance Sampling , 2002, CAV.

[2]  J. Goldberg,et al.  SIFT: Design and analysis of a fault-tolerant computer for aircraft control , 1978, Proceedings of the IEEE.

[3]  Aggelos Kiayias,et al.  The Bitcoin Backbone Protocol: Analysis and Applications , 2015, EUROCRYPT.

[4]  Silvio Micali,et al.  Algorand: Scaling Byzantine Agreements for Cryptocurrencies , 2017, IACR Cryptol. ePrint Arch..

[5]  Dan Boneh,et al.  Compact Multi-Signatures for Smaller Blockchains , 2018, IACR Cryptol. ePrint Arch..

[6]  Dan Boneh,et al.  Verifiable Delay Functions , 2018, IACR Cryptol. ePrint Arch..

[7]  Jason Teutsch,et al.  Demystifying Incentives in the Consensus Computer , 2015, CCS.

[8]  G. Barrie Wetherill Acceptance sampling: basic ideas , 1977 .

[9]  Heidi Howard,et al.  Distributed consensus revised , 2019 .

[10]  Dean V. Neubauer,et al.  Acceptance Sampling in Quality Control , 1983 .

[11]  Dominic Williams,et al.  DFINITY Technology Overview Series, Consensus System , 2018, ArXiv.

[12]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1985, JACM.

[13]  Alexander Hentschel,et al.  Flow: Separating Consensus and Compute , 2019, ArXiv.

[14]  Sarah Meiklejohn,et al.  Betting on Blockchain Consensus with Fantomette , 2018, ArXiv.

[15]  Jae Kwon,et al.  Tendermint : Consensus without Mining , 2014 .

[16]  Ittai Abraham,et al.  Hot-Stuff the Linear, Optimal-Resilience, One-Message BFT Devil , 2018, ArXiv.

[17]  Donald Ervin Knuth,et al.  The Art of Computer Programming, Volume II: Seminumerical Algorithms , 1970 .

[18]  Leslie Lamport,et al.  The Weak Byzantine Generals Problem , 1983, JACM.

[19]  Ronald A. Fisher and Frank Yates Statistical tables for biological, agricultural, and medical research By [the late] Ronald A. Fisher and Frank Yates , 2013 .

[20]  Nancy A. Lynch,et al.  Consensus in the presence of partial synchrony , 1988, JACM.

[21]  Silvio Micali,et al.  Verifiable random functions , 1999, 40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039).

[22]  Benny Pinkas,et al.  SBFT: a Scalable Decentralized Trust Infrastructure for Blockchains , 2018, ArXiv.

[23]  Ittai Abraham,et al.  HotStuff: BFT Consensus with Linearity and Responsiveness , 2019, PODC.

[24]  Leslie Lamport,et al.  Reaching Agreement in the Presence of Faults , 1980, JACM.

[25]  Joseph Bonneau,et al.  Proofs-of-delay and randomness beacons in Ethereum , 2017 .

[26]  Ethan Buchman,et al.  Tendermint: Byzantine Fault Tolerance in the Age of Blockchains , 2016 .