BFT 协议的权衡:低延迟 vs. 高鲁棒性
现代拜占庭容错(BFT)共识协议通常运行在部分同步模型下,该模型假设在某个不确定的时间点后,网络最终会变得稳定,消息传递延迟会有上限。虽然这个模型在协议设计上是实用的,但现实部署中很少能享受长时间的持续稳定。相反,系统经常经历同步阶段后出现短暂中断,如延迟激增、节点宕机或恶意攻击。这些短暂中断被称为 “突变(blips)”。 在这种情况下,现有的共识协议通常被迫在 网络稳定时的低延迟 与 故障状态下的高鲁棒性 之间做出取舍:- 传统的基于视图(view-based)的 BFT 协议(如 PBFT 和 HotStuff)在网络良好时响应迅速,但一旦发生突变,其性能会迅速恶化。这种性能衰退称为“宿醉效应(hangover)”,即使网络恢复后仍会持续,因为积压的请求会延迟后续交易处理。
- 基于 DAG 的 BFT 协议(如 Narwhal & Tusk/Bullshark)将数据传播(DAG)与共识(BFT)解耦,允许交易异步传播至各副本。这种设计支持高吞吐量,并可在网络中断时继续推进。然而,这些协议即使在网络良好时也会因异步排序机制的复杂性而导致高延迟。
Autobahn 架构概览
Autobahn 的架构围绕其两大核心层:数据传播层 和 共识层,职责分离明确。这种解耦借鉴了 Narwhal 等 DAG 系统的设计,但 Autobahn 对其进行了增强,以支持无缝性和更低延迟。 数据传播层负责以可扩展的异步方式广播客户端交易。每个副本维护一条独立的交易批处理通道,称为“车道(lane)”,这些车道可独立于共识状态进行传播和认证。即使共识过程暂停,车道仍持续增长,保证系统对客户端始终保持响应。 共识层运行一个基于 PBFT 风格的部分同步协议。但与传统共识需就每一批交易达成一致不同,Autobahn 共识协议的处理方式类似“车头快照(tip cut)”,即各条车道当前状态的精简摘要。这种设计允许 Autobahn 一次性提交任意规模的数据,减少突变带来的影响。 相较于 HotStuff(数据与共识紧耦合,领导者失败时易停滞)和 Bullshark(因 DAG 遍历和同步造成高延迟),Autobahn 提供了更平滑、更快速的共识体验。它继承了 DAG 的并行性,却规避了其延迟劣势。数据传播层:车道与车辆

共识层:低延迟达成一致


