Flow: Separating Consensus and Compute – Block Formation and Execution

02/18/2020
by   Alexander Hentschel, et al.
0

Most current blockchains require all full nodes to execute all tasks limits the throughput of existing blockchains, which are well documented and among the most significant hurdles for the widespread adoption of decentralized technology. This paper extends out presentation of Flow, a pipelined blockchain architecture, which separates the process of consensus on the transaction order from transaction computation. As we experimentally showed in our previous white paper, our architecture provides a significant throughput improvement while preserving the security of the system. Flow exploits the heterogeneity offered by the nodes, in terms of bandwidth, storage, and computational capacity, and defines the roles for the nodes based on their tasks in the pipeline, i.e., Collector, Consensus, Execution, and Verification. While transaction collection from the user agents is completed through the bandwidth-optimized Collector Nodes, the execution of them is done by the compute-optimized Execution Nodes. Checking the execution result is then distributed among a more extensive set of Verification Nodes, which confirm the result is correct in a distributed and parallel manner. In contrast to more traditional blockchain architectures, Flow's Consensus Nodes do not execute the transaction. Instead, Verification Nodes report observed faulty executions to the Consensus Nodes, which adjudicate the received challenges and slash malicious actors. In this paper, we detail the lifecycle of the transactions from the submission to the system until they are getting executed. The paper covers the Collector, Consensus, and Execution role. We provide a protocol specification of collecting the transactions, forming a block, and executing the resulting block. Moreover, we elaborate on the safety and liveness of the system concerning these processes.

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
06/08/2023

Parallel and Asynchronous Smart Contract Execution

Today's blockchains suffer from low throughput and high latency, which i...
research
09/12/2019

Flow: Separating Consensus and Compute

Throughput limitations of existing blockchain architectures are one of t...
research
09/19/2022

Technical Report: Analytical Modeling and Throughput Computation of Blockchain Sharding

Sharding has shown great potential to scale out blockchains. It divides ...
research
11/15/2022

Operation-level Concurrent Transaction Execution for Blockchains

Despite the success in various scenarios, blockchain systems, especially...
research
01/19/2022

Shades of Finality and Layer 2 Scaling

Blockchains combine a distributed append-only log with a virtual machine...
research
01/11/2022

Utilizing Parallelism in Smart Contracts on Decentralized Blockchains by Taming Application-Inherent Conflicts

Traditional public blockchain systems typically had very limited transac...

Please sign up or login with your details

Forgot password? Click here to reset