The Elusive Byzantine General Consensus: Why Classic Multi-Paxos Isn’t Used in Public Blockchains
As one of the most successful and widely adopted decentralized applications (dApps) on the Ethereum network, Bitcoin has inspired a proliferation of other projects to build their own public blockchains. However, despite its success, Ethereum’s native consensus algorithm, Byzantine Fault Tolerance (BFT), remains unsuitable for use in traditional public blockchains. In this article, we’ll explore why Classic Multi-Paxos, another widely used consensus algorithm, is not being adopted for public blockchain projects.
The Problem with BFT
Byzantine General Consensus (BGC) and its variants like Byzantine Fault Tolerance (BFT) are designed to ensure the integrity of a network in the face of malicious actors. However, these algorithms have been criticized for their high energy consumption, long block times, and limited scalability. To put it into perspective:
- Ethereum’s BFT algorithm requires around 50,000-100,000 TH/s (tera-hashes per second) of energy to achieve a consensus, which translates to an estimated carbon footprint of over 4 million metric tons per year.
- The average transaction time on the Bitcoin network is around 10 minutes, while the Ethereum network averages around 15 seconds.
Why Multi-Paxos Isn’t Suitable
Multi-Paxos, developed by Nick Szabo in the late 1990s, is a consensus algorithm that uses multiple nodes to validate transactions. While it offers advantages such as improved robustness and scalability compared to BFT, it also has several drawbacks:
- Scalability: Multi-Paxos can lead to high transaction fees and long block times due to the need for redundant verification.
- Energy Efficiency: The algorithm’s reliance on multiple nodes makes it more energy-intensive than BFT.
- Security: Multi-Paxos can be vulnerable to attacks, as there are no guarantees of network participation.
Satoshi Nakamoto’s Choice
So, why did Satoshi Nakamoto choose Byzantine Fault Tolerance (BFT) over Multi-Paxos? The answer lies in the energy costs and scalability issues associated with BFT. At the time, Ethereum was still a relatively new project with limited resources.
However, as the project grew and became more complex, it’s clear that BFT would have been prohibitively expensive. The estimated carbon footprint of a single Ethereum transaction is around 1-2 kg (2.2-4.4 lbs), which is equivalent to about 200-400 kg (440-880 lbs) of CO2 per year.
Why Multi-Paxos Isn’t Being Adopted
Despite the energy costs and scalability limitations, Multi-Paxos remains an interesting option for some projects. However, there are several reasons why it’s not being adopted:
- Limited Scalability: Multi-Paxos is designed to handle a limited number of transactions per second. As the network grows, this limitation becomes increasingly apparent.
- Complexity: Implementing and maintaining Multi-Paxos can be more complex than BFT, particularly in terms of node coordination and Byzantine detection.
- Lack of Scalability: While Multi-Paxos offers better scalability than BFT, it’s still not enough to support the high transaction volumes that most public blockchains experience.
Conclusion
In conclusion, while Classic Multi-Paxos has its advantages, it remains unsuitable for traditional public blockchains due to energy costs, scalability limitations, and complexity. The high energy consumption of Ethereum’s native consensus algorithm makes it a more expensive option than BFT, which can be used as a foundation for a distributed ledger.
However, the success of projects like Ethereum demonstrates that alternative consensus algorithms can offer improved robustness, scalability, and energy efficiency. As the blockchain landscape continues to evolve, we may see new solutions emerge that better address the needs of public blockchains.