论文标题
流:分开共识和计算 - 块形成和执行
Flow: Separating Consensus and Compute -- Block Formation and Execution
论文作者
论文摘要
当前大多数区块链要求所有完整的节点执行所有任务限制了现有区块链的吞吐量,这是有据可查的现有区块链的吞吐量,并且是广泛采用分散技术的最重要障碍之一。 本文扩展了流量的呈现,这是一个管道的区块链体系结构,将交易顺序上的共识过程与交易计算分开。正如我们在以前的白皮书中实验表明的那样,我们的体系结构在保留系统安全性的同时提供了显着的吞吐量改进。流程利用节点在带宽,存储和计算能力方面提供的异质性,并根据管道中的任务(即收藏家,共识,执行和验证)来定义节点的角色。虽然用户代理的交易收集通过带宽优化的集合器节点完成,但执行它们是由计算优化的执行节点完成的。然后将检查执行结果分布在更广泛的验证节点中,这些验证节点以分布式和并行方式确认结果是正确的。与更传统的区块链体系结构相反,Flow的共识节点不会执行交易。取而代之的是,验证节点报告观察到对共识节点的执行错误,该节点裁定收到的挑战并削减了恶意演员。 在本文中,我们详细介绍了从提交到系统的交易的生命周期,直到它们被执行为止。该论文涵盖了收藏家,共识和执行角色。我们提供协议规范,以收集交易,形成块并执行所得块。此外,我们详细介绍了系统在这些过程中的安全性和可笑性。
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.