Skip to main content
QUICK REVIEW

[论文解读] Proof-of-Execution: Reaching Consensus through Fault-Tolerant Speculation

Suyash Gupta, Jelle Hellings|arXiv (Cornell University)|Nov 3, 2019
Distributed systems and fault tolerance参考文献 107被引用 17
一句话总结

Proof-of-Execution (PoE) 是一种新型的拜占庭容错共识协议,支持乱序事务处理和在达成共识前的推测性执行,从而降低通信和延迟开销。在故障条件下,其吞吐量相比现有 BFT 协议(如 PBFT 和 HotStuff)最高提升 80%,并通过执行证明和安全回滚确保安全性。

ABSTRACT

Multi-party data management and blockchain systems require data sharing among participants. To provide resilient and consistent data sharing, transactions engines rely on Byzantine FaultTolerant consensus (BFT), which enables operations during failures and malicious behavior. Unfortunately, existing BFT protocols are unsuitable for high-throughput applications due to their high computational costs, high communication costs, high client latencies, and/or reliance on twin-paths and non-faulty clients. In this paper, we present the Proof-of-Execution consensus protocol (PoE) that alleviates these challenges. At the core of PoE are out-of-order processing and speculative execution, which allow PoE to execute transactions before consensus is reached among the replicas. With these techniques, PoE manages to reduce the costs of BFT in normal cases, while guaranteeing reliable consensus for clients in all cases. We envision the use of PoE in high-throughput multi-party data-management and blockchain systems. To validate this vision, we implement PoE in our efficient ResilientDB fabric and extensively evaluate PoE against several state-of-the-art BFT protocols. Our evaluation showcases that PoE achieves up-to-80% higher throughputs than existing BFT protocols in the presence of failures.

研究动机与目标

  • 解决现有拜占庭容错(BFT)共识协议在高吞吐量多方数据管理系统中计算、通信和延迟开销过高的问题。
  • 在不依赖双路径、非故障客户端或可信组件的前提下,维持安全性和活性,即使在拜占庭故障下也能正常运行。
  • 设计一种 BFT 协议,通过在最终达成一致前启用推测性执行,降低共识开销。
  • 确保即使恶意主节点导致部分执行或结果不一致,系统仍能保持正确性和一致性。
  • 通过在 ResilientDB 架构中的实现和广泛基准测试,验证协议的性能和弹性。

提出的方法

  • PoE 使用非发散的推测性执行机制,允许副本在接收到准备消息后立即执行事务,而无需等待提交消息。
  • 通过在接收到准备消息时维护部分顺序保证,将排序与执行解耦,实现请求的乱序处理。
  • 协议通过执行证明机制确保安全性:若客户端从多数非故障副本接收到匹配响应,则可可靠提交事务。
  • 若后续发现某事务不一致,副本将执行安全回滚,确保各副本间状态收敛。
  • PoE 采用无感知签名和线性通信模式以减少开销,避免 PBFT 所具有的二次方通信复杂度。
  • 协议采用三阶段线性结构——预准备、准备和提交——以优化容错能力和性能。

实验结果

研究问题

  • RQ1是否可以在不损害安全性和一致性的前提下,将推测性执行安全地应用于 BFT 共识?
  • RQ2如何设计一种 BFT 协议,在保持对拜占庭故障的弹性并避免依赖可信组件或客户端假设的前提下,实现高吞吐量?
  • RQ3在故障条件下,BFT 共识中乱序处理和推测性执行对性能有何影响?
  • RQ4当部分副本提前执行事务时,执行证明机制是否仍能确保客户端级别的可靠性?
  • RQ5在故障场景下,PoE 与 PBFT、HotStuff 等最先进的 BFT 协议相比,在吞吐量和延迟方面表现如何?

主要发现

  • 在模拟环境中,128 个副本的故障条件下,PoE 的吞吐量相比 PBFT 和 HotStuff 最高提升 80%。
  • 通过在共识最终确定前启用推测性执行,协议显著降低了通信开销和客户端延迟。
  • PoE 通过执行证明机制确保安全性和活性:若客户端从多数非故障副本接收到匹配响应,则可保证一致性。
  • 安全回滚机制确保副本可在不违反共识的前提下回退不一致的执行,即使面对恶意主节点行为也成立。
  • 与 PBFT 等二次方协议相比,协议的线性通信模式和无感知签名方案显著提升了性能。
  • 在 ResilientDB 架构中的评估结果表明,PoE 在高吞吐、故障频发的环境中优于现有 BFT 协议。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。