Narwhal and Tusk
Authors:
Open Access
- 28 March 2022
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 34-50
Abstract
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.Keywords
This publication has 21 references indexed in Scilit:
- OmniLedger: A Secure, Scale-Out, Decentralized Ledger via Sharding2018
- Hyperledger fabric2018
- The Honey Badger of BFT Protocols2016
- The Bitcoin Backbone Protocol: Analysis and Applications2015
- State Machine Replication for the Masses with BFT-SMART2014
- Short Signatures from the Weil PairingJournal of Cryptology, 2004
- Practical byzantine fault tolerance and proactive recoveryACM Transactions on Computer Systems, 2002
- Asynchronous Byzantine agreement protocolsInformation and Computation, 1987
- Asynchronous consensus and broadcast protocolsJournal of the ACM, 1985
- An efficient algorithm for byzantine agreement without authenticationInformation and Control, 1982