Flow: Separating Consensus and Compute

09/12/2019
by   Alexander Hentschel, et al.
0

Throughput limitations of existing blockchain architectures are one of the most significant hurdles for their wide-spread adoption. Attempts to address this challenge include layer-2 solutions, such as Bitcoin's Lightning or Ethereum's Plasma network, that move work off the main chain. Another prominent technique is sharding, i.e., breaking the network into many interconnected networks. However, these scaling approaches significantly increase the complexity of the programming model by breaking ACID guarantees increasing the cost and time for application development. In this paper, we describe a novel approach where we split the work traditionally assigned to cryptocurrency miners into two different node roles. Specifically, the selection and ordering of transactions are performed independently from their execution. The focus of this paper is to formalize the split of consensus and computation, and prove that this approach increases throughput without compromising security. In contrast to most existing proposals, our approach achieves scaling via separation of concerns, i.e., better utilization of network resources, rather than sharding. This approach allows established programming paradigms for smart contracts (which generally assume transactional atomicity) to persist without introducing additional complexity. We present simulations on a proof-of-concept network of 32 globally distributed nodes. While the consensus algorithm was identical in all simulations (a 2-step-commit protocol with rotating block proposer), block computation was either included in a consensus nodes' regular operations (conventional architecture) or delegated to specialized execution nodes (separation of concerns). Separation of concerns enables our system to achieve a throughput increase by a factor of 56 compared to conventional architectures without loss of safety or decentralization.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/12/2019

Flow: Separating Consensus and Compute – Execution Verification

Throughput limitations of existing blockchain architectures are well doc...
research
02/18/2020

Flow: Separating Consensus and Compute – Block Formation and Execution

Most current blockchains require all full nodes to execute all tasks lim...
research
05/24/2020

Better Late than Never; Scaling Computation in Blockchains by Delaying Execution

Proof-of-Work (PoW) based blockchains typically allocate only a tiny fra...
research
05/24/2020

Better Late than Never; Scaling Computations in Blockchain by Delaying Transactions

Proof-of-Work (PoW) based blockchains typically allocate only a tiny fra...
research
05/30/2023

Ethereum's Proposer-Builder Separation: Promises and Realities

With Ethereum's transition from Proof-of-Work to Proof-of-Stake in Septe...
research
03/11/2020

Scaling Hyperledger Fabric Using Pipelined Execution and Sparse Peers

Many proofs of concept blockchain applications built using Hyperledger F...
research
08/22/2021

The Power of Random Symmetry-Breaking in Nakamoto Consensus

Nakamoto consensus underlies the security of many of the world's largest...

Please sign up or login with your details

Forgot password? Click here to reset