Skip to main content
QUICK REVIEW

[论文解读] BFT Consensus: From Academic Paper to Mainnet (Invited Talk)

Kushal Babel|arXiv (Cornell University)|Oct 23, 2023
Distributed systems and fault tolerance被引用 5
一句话总结

Mysticeti-C 是一种新型的基于DAG的拜占庭共识协议,通过消除显式区块认证并利用门限逻辑时钟实现每区块提交,将共识延迟降至最优的3条消息轮次(广域网延迟0.5秒),TPS超过20万。与Sui上的Bullshark相比,其延迟降低了80%。通过集成Mysticeti-FPC,实现了资源高效的快速路径交易,将快速路径转账直接融入DAG结构中,仅需极少签名和消息,显著提升效率。

ABSTRACT

This talk shares our journey in bringing Byzantine Fault Tolerant (BFT) consensus from academic papers to operational blockchain networks. It begins in 2019 with our initial effort as researchers and engineers at Facebook to deploy the HotStuff consensus protocol [Yin et al., 2019] at the heart of the Libra blockchain [Facebook, 2022]. We present how this journey led to modifications from the original theoretical design [Rati Gelashvili et al., 2021] and the eventual migration to DAG-based systems [George Danezis et al., 2022; Alexander Spiegelman et al., 2022], now implemented in the Sui blockchain [The Sui team, 2023] and gaining traction across the blockchain space [Arun et al., 2024; Kushal Babel et al., 2024; Shrestha et al., 2024; Malkhi et al., 2023]. We outline the numerous research and engineering challenges we faced at every step of this journey, describe how we addressed some of these challenges [Bano et al., 2020; Giuliari et al., 2024], and point out which ones remain open questions and require further research. This talk aims to offer a different perspective on BFT consensus, focusing on the needs of real-world blockchains and offering insights that may not be visible from research papers alone.

研究动机与目标

  • 解决如Bullshark等基于认证DAG的共识协议存在的高延迟问题(2–3秒),其根源在于多轮认证、基于波次的提交机制以及签名验证带来的高CPU开销。
  • 在保持高吞吐量和抗审查性的同时,实现拜占庭共识提交的理论下限——3条消息轮次。
  • 设计一种可投入生产的协议,在崩溃故障下能优雅降级,通过减少每区块的签名生成与验证,最小化CPU开销。
  • 扩展协议以支持快速路径机制(Mysticeti-FPC),实现无需显式证书的资产转移子秒级提交,提升资源效率。
  • 将协议集成至实际区块链系统(Sui)中,并在低延迟、高吞吐量及容错环境中展示可测量的性能提升。

提出的方法

  • 设计一种基于门限逻辑时钟的DAG结构,使每个区块在被决定后立即提交,消除基于波次或批量的提交延迟。
  • 用一种新型提交规则替代显式区块认证,仅需2f+1个区块即可提交任一给定区块,实现无需等待波次的每区块提交。
  • 仅使用一种消息类型——签名区块——通过多播传输,降低协议复杂度并提升可实现性。
  • 通过每区块仅需一个签名和一次验证,显著降低CPU开销,避免验证者在恢复过程中验证数千个证书。
  • 在Mysticeti-FPC中,通过将快速路径交易编织进DAG结构并使用投票作为时间戳,将快速路径交易原生集成至DAG中,无需单独的快速路径证书。
  • 采用动态提议者槽机制,并为连续三轮设置静态槽位,以确保在崩溃故障下仍能保持活性,同时通过每轮允许多个提议者提升吞吐量。

实验结果

研究问题

  • RQ1基于DAG的拜占庭共识协议是否能在不依赖乐观机制或快速路径机制的前提下,实现提交延迟的理论下限——3条消息轮次?
  • RQ2在存在拜占庭故障的情况下,如何在DAG协议中消除区块认证,同时仍确保安全性和活性?
  • RQ3与基于波次的提交相比,每区块提交在延迟、吞吐量和CPU利用率方面的性能影响如何?
  • RQ4是否可以将快速路径机制原生集成至DAG结构中,而无需显式证书?其带来的效率与延迟改进为何?
  • RQ5协议在崩溃故障下表现如何?能否在生产规模部署中保持高吞吐量和低延迟退化?

主要发现

  • Mysticeti-C 在106个验证者的网络上实现了0.5秒的广域网共识延迟,较Bullshark的1.9秒降低了80%。
  • 该协议在0.5秒延迟下仍能维持超过20万笔/秒的交易吞吐量,超过Narwhal-based共识的吞吐能力,满足现代区块链的需求。
  • 通过消除区块认证并仅对每个区块要求一个签名,Mysticeti-C 显著降低了CPU开销,尤其在崩溃恢复阶段,验证者无需验证数千个签名。
  • Mysticeti-FPC 实现了0.25秒以下的快速路径提交延迟,资源效率较含显式证书的协议提升8倍以上,归因于消息与签名开销的减少。
  • 将Mysticeti-C集成至Sui区块链后,延迟降低了4倍,证明了在真实生产环境中(日均活跃账户超100万,链上价值超15亿美元)的显著性能提升。
  • 通过每轮使用多个提议者槽位及动态槽位分配策略,协议在崩溃故障下仍能保持活性与容错能力,确保即使部分节点失效也能持续推进。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

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