In early 2023 Mr. Kaine dropped a few roadmap hints on the community.
What the hell is Narwhal and Tusk? In short, it's a BFT system that is very fast. The authors released a research paper in March 2022 called: Narwhal and Tusk: A DAG-based Mempool and Efficient BFT Consensus.
...and Mr. Kaine considers it part of Phase 1 milestones for NoM. Was Kaine following this research in 2019 when he designed NoM?
Narwhal and Tusk Explained
Narwhal and Tusk introduce a new approach to improve the performance of Byzantine fault-tolerant quorum-based consensus. The authors propose separating the tasks of reliable transaction dissemination from transaction ordering.
They introduce a DAG-based mempool protocol called "Narwhal" that specializes in high-throughput reliable dissemination and storage of causal histories of transactions. Narwhal is designed to scale out and maintain high performance even in asynchronous networks. When combined with a partially synchronous consensus protocol, it offers significantly better throughput.
Another design, "Tusk", is introduced as a zero-message overhead asynchronous consensus protocol that works in conjunction with Narwhal. The results show that these systems achieve high throughput and low latency in various configurations and fault scenarios.
Experimental results that show that Narwhal-Tusk can achieve over 130,000 tx/sec at less than 2-sec latency on a WAN.
How Does this Affect NoM?
Narwhal-Tusk will "likely" be the last component of the network that is implemented; well after dynamic plasma, sentinels, side chains, zk rollups and other Phase 1 deliveries. But as Kaine says, it will be "epic" when implemented.
Deep Dive on Questions and Insights surrounding Narwhal & Tusk:
How does the separation of transaction dissemination from transaction ordering in Narwhal improve the overall scalability and performance of the system compared to traditional methods?
The separation of transaction dissemination from transaction ordering in Narwhal offers several advantages that enhance the overall scalability and performance of the system compared to traditional methods:
- Specialization of Tasks: By separating these two tasks, Narwhal can specialize in high-throughput reliable dissemination and storage of causal histories of transactions. This means that each component can be optimized for its specific function without being bogged down by the other's requirements.
- Efficient Use of Resources: Traditional systems often place transaction dissemination in the critical path of consensus, which can impact performance. With Narwhal, transaction dissemination is off-loaded to the Mempool protocol, allowing the consensus to only sequence a very small amount of metadata. This reduces the amount of data that needs to be processed in the critical path, leading to increased performance.
- Improved Throughput: Narwhal is designed to easily scale out using multiple workers at each validator. This means that as more resources are added to the system, Narwhal can handle a higher volume of transactions without a corresponding increase in latency. The article mentions that there's no foreseeable limit to the throughput that can be achieved with this design.
- Reduced Latency: In traditional systems, the need to both disseminate and order transactions can introduce delays. By separating these tasks, Narwhal can achieve better throughput even in the presence of network faults or asynchrony, although there might be a slight increase in latency in such cases.
- Enhanced Fault Tolerance: The design of Narwhal ensures that even if the network is asynchronous or there are failures, the system maintains high performance. This is crucial for systems that require high availability and reliability.
In summary, the separation of transaction dissemination from transaction ordering in Narwhal allows each component to be optimized for its specific task, leading to improved scalability and performance compared to traditional methods that combine these tasks.
Given that Narwhal is designed to work efficiently even in asynchronous networks, how does it ensure data integrity and availability in the presence of faults?
Given the information provided in the summary of the article on Narwhal, and combining it with general knowledge about distributed systems and their behavior in asynchronous networks, we can deduce the following:
- Causal Histories of Transactions: Narwhal specializes in the reliable dissemination and storage of causal histories of transactions. By maintaining a causal history, Narwhal can ensure that the order and dependencies of transactions are preserved, which is crucial for data integrity. This means that even if messages arrive out of order due to network asynchrony, the system can reconstruct the correct sequence of events.
- Byzantine Fault Tolerance: The mention of Byzantine fault-tolerant consensus implies that Narwhal is designed to handle malicious nodes or nodes that behave unpredictably. In a Byzantine fault-tolerant system, as long as a certain threshold of nodes remains honest (typically more than two-thirds), the system can reach consensus and maintain data integrity despite the presence of faulty or malicious nodes.
- High Throughput and Scalability: Narwhal's design emphasizes high throughput, even in asynchronous settings. This means that it can handle a large volume of transactions efficiently, ensuring data availability. Its ability to scale out using multiple workers at each validator further enhances its capacity to manage and process data, ensuring availability even under high loads.
- Redundancy: While the specific mechanisms aren't detailed in the summary, distributed systems often employ redundancy to ensure data availability. By storing multiple copies of data across different nodes, the system can recover from the failure of individual nodes or even multiple nodes simultaneously.
- Reconciliation Mechanisms: In asynchronous networks, there's a possibility of data divergence due to network partitions or delays. Distributed systems often have reconciliation mechanisms to resolve these divergences once network partitions are healed or delays are resolved. This ensures that all nodes eventually have a consistent view of the data.
- Robust Mempool Protocol: The mention of Narwhal as a mempool protocol suggests that it has mechanisms to temporarily store and manage unconfirmed transactions. This storage ensures that even if a transaction isn't immediately added to the ledger (due to network asynchrony or other reasons), it isn't lost and can be processed once the network conditions allow.
In summary, while the exact mechanisms employed by Narwhal aren't detailed in the provided summary, its design principles, combined with general practices in distributed systems, suggest that it employs a combination of causal histories, Byzantine fault tolerance, redundancy, and reconciliation mechanisms to ensure data integrity and availability in asynchronous networks and in the presence of faults.
How can the principles behind Narwhal and Tusk be integrated or adapted into existing blockchain or distributed ledger technologies to enhance their performance and reliability?
The principles behind Narwhal and Tusk can be integrated or adapted into existing blockchain or distributed ledger technologies (DLTs) in several ways:
- Separation of Concerns: One of the primary principles behind Narwhal is the separation of transaction dissemination from transaction ordering. Existing blockchains and DLTs can adopt this principle by decoupling these two processes, allowing each to be optimized independently. This can lead to faster transaction propagation and more efficient consensus mechanisms.
- Enhanced Mempool Management: Narwhal's approach to managing the mempool (where pending transactions are stored) with high-throughput and reliable dissemination can be adopted by existing blockchains. This can help in efficiently managing transaction backlogs, especially during network congestion, ensuring that transactions are processed in a timely manner.
- Asynchronous Consensus Protocols: Tusk's zero-message overhead asynchronous consensus protocol can be integrated into existing blockchains that currently rely on synchronous or partially synchronous consensus mechanisms. This would make them more resilient in varied network conditions and potentially improve their throughput and latency.
- Byzantine Fault Tolerance: If a blockchain or DLT doesn't already employ Byzantine fault tolerance, integrating principles from Tusk can enhance its resistance to malicious actors and ensure data integrity even when a portion of the network nodes act maliciously.
- Scalability through Parallelism: Narwhal's ability to scale out using multiple workers at each validator can be integrated into existing blockchains to improve their scalability. By allowing parallel processing of transactions, blockchains can handle a higher volume of transactions without significant increases in latency.
- Causal Histories: The use of causal histories in Narwhal ensures that transactions are processed in a manner that respects their interdependencies. Existing blockchains and DLTs can adopt this principle to ensure that the order and dependencies of transactions are preserved, enhancing data integrity.
- Integration with Layer 2 Solutions: The principles behind Narwhal and Tusk can be integrated into Layer 2 scaling solutions (like Lightning Network for Bitcoin). These solutions aim to offload transactions from the main chain for faster processing and can benefit from the high-throughput and reliable dissemination offered by Narwhal and the efficient consensus of Tusk.
- Optimized Data Structures: The underlying data structures and algorithms used by Narwhal and Tusk can be studied and adapted to optimize the data structures used in existing blockchains, leading to more efficient storage, retrieval, and processing of data.
In summary, the principles behind Narwhal and Tusk offer a fresh perspective on transaction management and consensus in distributed systems. By integrating or adapting these principles, existing blockchains and DLTs can potentially achieve higher throughput, lower latency, improved fault tolerance, and overall enhanced performance and reliability.