We propose separating the task of reliable transaction dissemination from transaction ordering, to enable high-performance Byzantine fault-tolerant quorum-based consensus. We design and evaluate a mempool protocol, Narwhal, specializing in high-throughput reliable dissemination and storage of causal histories of transactions. Narwhal tolerates an asynchronous network and maintains high performance despite failures. Narwhal is designed to easily scale-out using multiple workers at each validator, and we demonstrate that there is no foreseeable limit to the throughput we can achieve. Composing Narwhal with a partially synchronous consensus protocol (Narwhal-HotStuff) yields significantly better throughput even in the presence of faults or intermittent loss of liveness due to asynchrony. However, loss of liveness can result in higher latency. To achieve overall good performance when faults occur we design Tusk, a zero-message overhead asynchronous consensus protocol, to work with Narwhal. We demonstrate its high performance under a variety of configurations and faults. As a summary of results, on a WAN, Narwhal-Hotstuff achieves over 130,000 tx/sec at less than 2-sec latency compared with 1,800 tx/sec at 1-sec latency for Hotstuff. Additional workers increase throughput linearly to 600,000 tx/sec without any latency increase. Tusk achieves 160,000 tx/sec with about 3 seconds latency. Under faults, both protocols maintain high throughput, but Narwhal-HotStuff suffers from increased latency.
翻译:我们提议将可靠的交易传播任务与交易订单分开,以便实现高性能的拜占庭有过失容忍度的法定人数共识。我们设计并评价一个高通量协议,即专门从事高通量可靠传播和因果历史储存的Narwhal,专门从事高通量交易的可靠传播和交易历史储存的Narwhal。Narwhal容忍一个无序网络,尽管失败,但仍保持高性能;Narwhal的目的是在每一个验证器上使用多个工人来方便地扩大交易传播;我们表明,我们所能达到的完成量没有可预见的限制。将Narwhal与部分同步协商一致协议(Narwhal-HotStuffit)结合成一个部分同步的协商一致协议(Narwhal,Narwhalalhal,即使存在故障或因缺氧而断时断时断时断时断时断时续地丧失。然而,活性可以导致更高的耐久性。在出现故障时,我们设计图斯克,一个零通度协议,即零通关紧性协议,与Narwhal,与Narwx 工作。我们显示,在各种配置和断断断流之间,任何高性规则下,我们显示的运行增加了。在1xxxx1x130之间的结果摘要增加。