To maximize performance, many modern blockchain systems rely on eventually-synchronous, Byzantine fault-tolerant (BFT) consensus protocols. Two protocol designs have emerged in this space: protocols that minimize latency using a leader that drives both data dissemination and consensus, and protocols that maximize throughput using a separate, asynchronous data dissemination layer. Recent protocols such as Partially-Synchronous Bullshark and Sailfish combine elements of both approaches by using a DAG to enable parallel data dissemination and a leader that paces DAG formation. This improves latency while achieving state-of-the-art throughput. Yet the latency of leader-based protocols is still better under moderate loads, which are common in practice. We present Angelfish, a hybrid protocol that adapts smoothly across this design space, from leader-based to Sailfish-like DAG-based consensus. Angelfish lets a dynamically adjusted subset of parties use best-effort broadcast to issue lightweight votes instead of reliably broadcasting costlier DAG vertices. This reduces communication, helps lagging nodes catch up, and lowers latency in practice compared to prior DAG-based protocols. Our empirical evaluation shows that Angelfish attains state-of-the-art peak throughput while significantly lowering latency under moderate throughput, delivering the best of both worlds.
翻译:为最大化性能,许多现代区块链系统依赖最终同步的拜占庭容错(BFT)共识协议。该领域涌现出两种协议设计:一种是通过领导者驱动数据分发与共识以最小化延迟的协议,另一种是利用独立的异步数据分发层最大化吞吐量的协议。近期诸如部分同步Bullshark和Sailfish等协议结合了两种方法的元素,通过DAG实现并行数据分发,并由领导者控制DAG形成节奏。这类协议在实现最先进吞吐量的同时改善了延迟。然而,在实际常见的适度负载条件下,基于领导者的协议仍能获得更优延迟。我们提出Angelfish——一种混合协议,能够在此设计空间中从基于领导者的共识平滑过渡到类Sailfish的DAG共识。Angelfish允许动态调整的子集参与者采用尽力广播方式发布轻量级投票,而非可靠广播更昂贵的DAG顶点。与先前基于DAG的协议相比,这减少了通信开销,帮助落后节点追赶进度,并在实践中降低延迟。实验评估表明,Angelfish在达到最先进峰值吞吐量的同时,显著降低了适中吞吐量下的延迟,实现了二者兼顾的最佳效果。