Skip to main content
QUICK REVIEW

[论文解读] Bullshark: DAG BFT Protocols Made Practical

Alexander Spiegelman, Neil Giridharan|arXiv (Cornell University)|Jan 14, 2022
Distributed systems and fault tolerance被引用 13
一句话总结

BullShark 引入了首个针对部分同步网络优化的实用、基于DAG的拜占庭原子广播(BAB)协议,结合了同步周期下的低延迟快速路径与异步环境下的容错保证。在50个参与方的部署中,其吞吐量达125,000 TPS,延迟为2秒——相比现有最先进协议,延迟降低33%,吞吐量较HotStuff提升一倍,同时保持最优通信复杂度、抗量子安全性和通过Tusk扩展的公平性(200行代码)。

ABSTRACT

We present Bullshark, the first directed acyclic graph (DAG) based asynchronous Byzantine Atomic Broadcast protocol that is optimized for the common synchronous case. Like previous DAG-based BFT protocols, Bullshark requires no extra communication to achieve consensus on top of building the DAG. That is, parties can totally order the vertices of the DAG by interpreting their local view of the DAG edges. Unlike other asynchronous DAG-based protocols, Bullshark provides a practical low latency fast-path that exploits synchronous periods and deprecates the need for notoriously complex view-change mechanisms. Bullshark achieves this while maintaining all the desired properties of its predecessor DAG-Rider. Namely, it has optimal amortized communication complexity, it provides fairness and asynchronous liveness, and safety is guaranteed even under a quantum adversary. In order to show the practicality and simplicity of our approach, we also introduce a standalone partially synchronous version of Bullshark which we evaluate against the state of the art. The implemented protocol is embarrassingly simple (200 LOC on top of an existing DAG-based mempool implementation (Narwhal & Tusk). It is highly efficient, achieving for example, 125,000 transaction per second with a 2 seconds latency for a deployment of 50 parties. In the same setting the state of the art pays a steep 50% latency increase as it optimizes for asynchrony.

研究动机与目标

  • 通过针对常见同步网络条件进行优化,弥合理论性DAG-BFT协议与实际部署之间的差距。
  • 消除DAG共识协议中复杂的视图变更与视图同步机制。
  • 在实现快速路径性能的同时,保持最优的摊销通信复杂度、异步活性以及抗量子安全性。
  • 提供一种实用、极简代码(200行)的扩展,可应用于现有基于DAG的协议,实现高吞吐与低延迟。

提出的方法

  • BullShark 使用结构化、基于轮次的DAG,每个顶点包含一个交易批处理,并引用前一轮中至少2f+1个顶点,通过本地DAG解析实现全序,无需额外通信。
  • 引入双模式机制:在同步周期使用快速路径,当波次失败时则回退至异步共识,每次失败波次后切换投票类型。
  • 协议利用Narwhal内存池实现高效的交易分发,并依赖可靠广播与门限签名确保安全性和公平性。
  • 垃圾回收机制在保持同步期间公平性的同时,确保内存使用有界,不同于以往反应式协议中排除响应缓慢诚实参与方的做法。
  • 部分同步版本采用轻量级200行代码实现,避免单体共识模式,通过在DAG结构中编码所有必要信息,消除视图变更逻辑。
  • 协议继承DAG-Rider的核心DAG解析逻辑(伪代码少于30行),并扩展了利用网络同步性的快速路径机制,不牺牲安全性或活性。

实验结果

研究问题

  • RQ1DAG-BFT协议是否能在网络同步周期实现低延迟性能,同时在异步环境下保持安全性和活性?
  • RQ2是否可以通过DAG结构实现所有协调,从而消除DAG共识中复杂的视图变更与视图同步机制?
  • RQ3对现有DAG-BFT协议进行实用且极简的代码扩展(200行),是否能同时实现高吞吐与低延迟,而不损害抗量子安全性或公平性?
  • RQ4在真实部署中,带有快速路径的DAG-BAB协议与最先进的HotStuff和Tusk相比,性能表现如何?

主要发现

  • BullShark 在50个参与方的部署中实现了125,000笔/秒的吞吐量,2秒延迟,展现出在真实环境下的高效性。
  • 与基于Narwhal内存池的异步Tusk协议相比,部分同步版本的延迟降低了33%。
  • 在相同部署环境下,BullShark 的吞吐量是部分同步HotStuff协议的两倍,性能提升一倍。
  • 协议保持了每笔交易最优的摊销通信复杂度O(n),确保可扩展性。
  • BullShark 即使在量子攻击者存在的情况下,仍保持抗量子安全性和公平性(有效性),确保安全性不受影响。
  • 整个协议扩展仅在Tusk基础上增加200行代码,充分体现了其卓越的实用性与简洁性。

更好的研究,从现在开始

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

无需绑定信用卡

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