Blockchain technology has been heralded as one of the most secure inventions in recent times. A blockchain is for all intents and purposes unhackable and every transaction is both secured and verified. Once an entry is made on a blockchain, it cannot be changed. The reason that this is possible is due to the consensus algorithm of the blockchain. A consensus algorithm refers to one of the consensus protocols used in determining agreement on the blockchain, or well, consensus.
There are several different types of protocols, each with their own unique characteristics — Proof of Work, Proof of Stake, Practical Byzantine Fault Tolerance and more. The core concept of each of these protocols is that they help to establish trust in the blockchain. One of these protocols, the Stellar Consensus Protocol could represent a shift in the way blockchains are structured and the future of cryptocurrency.
What is SCP?
The Stellar Consensus Protocol (SCP) is the underlying consensus algorithm of the Stellar Network. It is a proven case for the Federated Byzantine Agreement (FBA). SCP originated from the concept of Byzantine Agreements but its focus is on decentralized networks. The SCP uses two other concepts known as quorums and quorum slices in addition to the Byzantine and Federated Byzantine Agreements. We’ll dive into exactly what those are a little later, but for now, let’s focus on SCP.
According to the SCP, anyone can operate a node and join the Stellar network, meaning that it is an open network. However, this isn’t the entire story. While anyone can join the network, participation in the consensus process as a validator is limited. To join as a validator, the existing validators need to approve and accept any new nodes.
Through the SCP, instances, where agreements are blocked, are removed thanks to the Federated Byzantine Agreement.
The Byzantine Agreement (BA) concept is typically viewed as a way of solving a logic problem related to Byzantine Generals. The simplistic view relates to a situation where several parties need to vote and come to a consensus on their next course of collaborative action. However, due to the possibility of traitors within the group, the entire system could fail. Among Byzantine Generals, the only way to coordinate a joint attack is through the use of messengers. With suspected traitors in the mix, no one can be sure whether the messages of coordinated attack are coming from trustworthy personnel or the enemy.
This Byzantine General problem can be solved in quite a few ways on the blockchain, including Proof of Work (Pow), Proof of Stake (PoS) and the Byzantine Agreement, through the use of the Byzantine Fault Tolerance.
In the Byzantine Fault Tolerance method to solving the problem of consensus, participants in a particular blockchain are known and they each possess a public key. When blocks pass through an individual’s nodes, it gets validated and then signed with the public key. Once enough participants sign, also known as a quorum, then the block is considered valid and the transaction is added to the blockchain.
Federated Byzantine Agreement
While the Byzantine Agreement has been successful as a means of achieving consensus, it is not without its faults. The classic Byzantine Agreement and Byzantine Fault Tolerance method don’t scale well and require a lot of overhead to communicate things clearly between nodes. The SCP addresses these issues and the limitations of the Byzantine Agreement through a new consensus protocol that achieves Decentralized Control, Flexible Trust, Low Latency and Asymptotic Security.
The FBA is also open to nodes joining through an open membership rather than through a close membership list. Nodes don’t need to be verified ahead of time and thus control is more decentralized. Trust is determined by the nodes themselves and various quorums can emerge instead. While a quorum is the number of nodes required to come to an agreement, the FBA relies on quorum slices. Quorum slices are subsets of a quorum and are used as a means of convincing other nodes to agree.
The Future of Protocols
The Bosagora consensus protocol also utilizes a PoS feature to maintain the governance system within the Congress Network. In order to be a node validator, each individual needs to freeze 40,000 BOA and forgo liquidity. This provides an economic incentive to be a node operator and collateral for the security and integrity of information held in the node’s blockchain. If the information is forged then these coins are forfeited to the Commons Budget.
Consensus protocols on the blockchain are constantly changing. There needs to be enough collaboration to solve the Byzantine General problem and enough incentive for node operators to reach a consensus. With Bosagora’s interpretation of the Federated Byzantine Agreement and Proof of Stake, the future of consensus protocols on the blockchain are in good hands.