Under the HOOD: UNPACKING VELAS TOWER BFT PROTOCOL (Section 1)
Technology 7 min reading
Content
Show- Introduction
- The Consensus Problem
- Byzantine General Problem
- Byzantine Fault Tolerance and Its Limitations
- Limitations
- Conclusion
Explore more from Velas
Technology 1 min reading
Velas Expands Cross-Chain Bridging to AvalancheExciting news for the Velas community! We're thrilled to announce that Velas has extended its cross-chain interoperability by enabling bridging to Avalanche, a prominent blockchain platform known for its high throughput and low fees.
Technology, Engineering 1 min reading
Smart Contracts on SteroidsWelcome to the latest edition in our series, Exploring Velas' Innovative Technologies. Throughout this series, we delve into the cutting-edge technologies propelling Velas forward as a leading blockchain platform, reshaping the landscape...
The Velas Tower BFT Protocol offers a comprehensive insight into Velas’ implementation of Byzantine Fault Tolerance.
To enhance accessibility and comprehension, we’ve structured the content into two well-defined sections, ensuring clear and detailed information for everyone.
In section 1, we will be exploring Consensus Problem, Byzantine General Problem, Byzantine Fault Tolerance and its Limitations.
Introduction
Blockchain technology has rapidly gained widespread adoption, leveraging its capacity for secure and transparent record-keeping and data transfer. Within a decentralized framework like blockchain, where multiple nodes collaborate to process transactions, the implementation of a robust mechanism for ensuring synchronization and agreement among nodes is paramount. This decentralized system responsible for determining the true state of the blockchain is known as a consensus mechanism.
Consensus algorithms, a cornerstone of distributed systems, play a pivotal role in ensuring the effective functioning of blockchain networks. These algorithms facilitate coordination, consistency, security, and overall system reliability, particularly in the face of potential faulty processes. In the context of blockchain, these algorithms not only prevent issues like double-spending but also ensure that all nodes validate transactions while maintaining a consistent view of the transaction history.
The Consensus Problem
Before delving into the intricacies of Velas’s Tower BFT protocol, it’s essential to trace the roots of the consensus problem back to the mid-1990s when Edmund Eisenberg and David Gale conducted a seminal study on achieving consensus among individuals with subjective consciousness in the same space. This study, initially addresses the consistency problem of network nodes in limited and trustworthy scenarios only and as thus was not suitable for open internet scenarios.
The consensus problem (also known as Byzantine Generals problem) is extended by Satoshi Nakamoto in the context of the Bitcoin system as outlined in the paper “ Bitcoin: A Peer-to-Peer Electronic Cash System ”, introducing the challenge of achieving consensus in open internet environments with multitude of nodes. This problem, also known as Byzantine failures, holds significant importance in the field of computing. The analogy involves generals collectively deciding to attack or retreat while besieging a fortress, complicated by the presence of treacherous generals disseminating selective and misleading information.
Satoshi Nakamoto’s extension of the Byzantine Generals problem laid the foundational groundwork for addressing consensus challenges in decentralized systems. This extension paved the way for innovative solutions like Byzantine Fault Tolerance (BFT), which has emerged as a fundamental building block in the design of secure and trustworthy blockchain networks.
Byzantine General Problem
The Byzantine General Problem is often explained through the analogy of a group of generals surrounding a city, each responsible for deciding whether to attack or retreat. The challenge lies in achieving consensus among all generals, even when some may be traitorous and provide easy conflicting instructions.
Here’s the analogy:
Imagine a group of generals leading separate divisions of a mighty army, all positioned around a heavily fortified city. The success of their collective strategy depends on a unanimous decision to either launch a coordinated attack or withdraw from the battle. A half-hearted or divided approach could lead to disastrous consequences for the entire army.
Now, the problem arises because not all generals can be trusted. Some generals may be loyal, providing honest and accurate information, while others may be traitorous, deliberately sending conflicting orders to sow confusion and potentially sabotage the mission.
The generals are physically separated and can only communicate through messengers, making it challenging to ascertain the loyalty of each general accurately. The messengers may be unreliable, delivering false orders or failing to reach their intended recipients.
In this scenario, the Byzantine General Problem represents the challenge of achieving consensus among the generals despite the presence of traitorous elements. The loyal generals must formulate a strategy that ensures a majority agreement, allowing them to either attack or retreat with a unified front, despite the potential for misinformation and betrayal.
Meanwhile, in distributed systems and blockchain, this analogy illustrates the difficulty of reaching consensus among nodes when some nodes may behave maliciously or provide inconsistent information. Byzantine Fault Tolerance mechanisms aim to address these challenges and enable a decentralized network to maintain consistency and reliability, even in the presence of potentially malicious nodes.
Byzantine Fault Tolerance and Its Limitations
The Byzantine General Problem perfectly describes the situation that the blockchain network faces when trying to determine the contents of the next block on the blockchain. One of the significant selling points of blockchain technology is its trustlessness and unlike traditional, centralized systems, there is no single authority responsible for determining and maintaining the “official” version of the distributed ledger. Instead, a network of independent nodes determines the content of the ledger in a decentralized manner.
In the blockchain, each node is assumed to be working in its own self-interest, and it is challenging because none of the nodes can be trusted. Blockchain protocols are designed to make good behavior the best and most profitable option for these nodes. A key part of this is a consensus algorithm that is Byzantine fault-tolerant, meaning that it is capable of reaching a consensus even though some of the nodes in the network may attempt to lie and cheat to twist the result to their benefit.
Byzantine Fault Tolerance (BFT) provides a usable solution to the Byzantine Generals’ Problem. As long as a certain percentage of the nodes in the network are honest, the blockchain will come to a consensus on the current state of the distributed ledger. Formally, a BFT system resists faults if, given a system of n components with t of them being dishonest (Byzantine faults), and assuming only point-to-point channels between all components, the following conditions hold:
- Whenever a component A tries to broadcast a value x, the other components can discuss with each other and verify the consistency of A’s broadcast.
- If A is honest, then all honest components agree on the value x.
- In any case, all honest components agree on the same value y.
This definition ensures that even if some components are Byzantine faults, the honest components can still come to an agreement, allowing the system to function correctly.
Limitations
However, the approach of BFT comes with its inefficiencies and scalability challenges as it relies on direct communications between each pair of nodes in the blockchain network. For a network with n nodes, there will be n(n-1) messages to achieve consensus. This direct communication becomes a bottleneck, especially in large networks. For example, the Bitcoin network, with over 50,000 active nodes at the time of writing, would require approximately 850 million messages to achieve consensus for each block in the blockchain, making it unworkable and unscalable.
Another challenge arises from the potential for nodes to be spun up and go down unexpectedly, a common occurrence in blockchain networks. This makes it nearly impossible for nodes to maintain an up-to-date list of the nodes they need to communicate with to achieve consensus.
Conclusion
Our journey through the intricacies of consensus, Byzantine Generals Problem, and traditional BFT limitations has painted a clear picture of the challenges faced in achieving trustless consensus in decentralized systems. However, this is not the end of the story. Innovation thrives on addressing these challenges, and the future of blockchain consensus shines bright with solutions like Velas Tower BFT.
Tower BFT stands tall on the shoulders of pBFT, inheriting its core principles of fault tolerance and security. But it doesn’t stop there. It ascends to new heights by incorporating the innovative power of Proof of History (PoH). This potent combination unlocks the doors to a scalable and performant future for blockchain technology, paving the way for mass adoption and unlocking its full potential.
In the final section , we will delve deeper into the inner workings of Tower BFT, exploring how it leverages PoH to break through the scalability and performance bottlenecks that hold back traditional BFT.
Prepare to witness the power of this groundbreaking solution and its potential to revolutionize the way we interact and transact in a decentralized world.
Stay tuned for the final chapter, where the future of consensus unfolds before your eyes — a future powered by Velas Tower BFT.