[论文解读] Flow: Separating Consensus and Compute -- Block Formation and Execution
本文提出 Flow,一种流水线式区块链架构,通过为异构节点分配专门角色(收集者、共识、执行和验证节点),将交易顺序的共识与交易执行分离。通过将共识与计算解耦,Flow 在保持强安全性和活性保证的前提下,实现了相比同构区块链 56 倍的吞吐量提升,其手段包括可验证执行和对故障行为的罚没机制。
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.
研究动机与目标
- 解决传统区块链中因所有全节点均需执行共识、执行和交易收集而造成的吞吐量瓶颈。
- 通过利用节点在带宽、存储和计算能力方面的异质性,实现高吞吐量区块链扩展。
- 通过解耦主观(依赖共识)与客观(确定性)操作,保持系统安全性和去中心化。
- 通过可验证执行和罚没挑战机制,确保恶意行为的容错性和可检测性。
- 即使存在拜占庭节点,也能通过分布式验证和共识仲裁机制保证活性与安全。
提出的方法
- 分配不同角色:收集者节点通过带宽优化的通信方式处理交易收集;共识节点在不执行交易的情况下确定区块顺序。
- 执行节点并行执行确定性交易,生成带有密码学证明(SPoCK)的执行收条。
- 验证节点通过检查随机采样的执行追踪片段,以分布式并行方式验证执行结果。
- 使用基于 HotStuff 的共识机制完成区块最终确定,共识节点负责仲裁验证者提出的罚没挑战。
- 引入分布式随机信标(DRB)作为随机源,防止节点选择和区块生成的可预测性。
- 采用分块执行模型,将每个区块划分为多个块,对执行追踪进行密码学承诺,并逐步验证。
实验结果
研究问题
- RQ1通过将共识与执行解耦,区块链是否能在保持安全性和去中心化的同时实现显著更高的吞吐量?
- RQ2在安全且可扩展的区块链架构中,如何有效利用节点在带宽、计算能力和存储方面的异质能力?
- RQ3当执行由少数专用节点完成并由更大规模的验证者集验证时,哪些机制能确保安全性和活性?
- RQ4在去中心化系统中,如何以高概率检测到错误的执行结果,并有效实施罚没?
- RQ5分布式随机信标在保护区块生成过程和防止敌意操纵方面发挥什么作用?
主要发现
- 通过将共识与执行工作负载分离,Flow 相较于同构区块链架构实现了 56 倍的吞吐量提升。
- 系统保持强安全性:即使存在最多 n−1 个拜占庭执行节点,错误执行结果被封存的概率也至多为 1−ε,其中 ε≤10−12(在调优系统参数下)。
- 只要至少存在一个诚实的执行节点,系统即保证活性,确保执行收条最终被生成。
- 错误计算结果会被验证节点以极大概率检测并发起挑战,从而有效罚没恶意行为者。
- 通过可检测性和可归因性缓解拜占庭集群威胁:故障收集者会被罚没,缺失收集将触发仲裁挑战。
- 使用 SPoCK(专用机密知识证明)实现高效、可验证且可问责的执行,同时将信任假设降至最低。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。