Each blockchain has a number of characteristics and properties that depend solely on the problems it has to face. This concept implies that we can have an infinite number of blockchains depending on the needs of people.
We have already talked a lot about blockchain and consensus, but now we are swami, in order not to repeat the concepts, we will consider only the most popular mechanisms. In addition, we will understand how they work and when, and why we need this or that mechanism, so we will better understand the technology from a practical point of view.
But before we proceed to the consideration of each of the algorithms, first of all it is necessary to understand why we need them.
Blockchain is a means of organizing information
Let’s consider the blockchain in several aspects that characterize it:
- A new approach to database organization
- Versioning of all changes that have occurred
- The location of data on the blockchain, as opposed to processing the last state in the accounting system.
As you can see, we don’t find any mention of decentralization. This is due to the fact that the blockchain itself does not organize trust relationships in a decentralized environment. Blockchain only provides a secure and flexible way of organizing information, which, in combination with a consensus algorithm, leads to the creation of a specially or completely decentralized system.
Result. Blockchain technology allows you to create databases structured according to the blockchain principle, in which all changes in information are stored. But, according to Coinmarketrate.com when we need to organize trusting relationships in a decentralized environment, it is impossible to bypass the consensus mechanism.
What does the consensus mechanism do?
In fact, it’s very simple. The word consensus indicates that this is a way to reach agreement. In a decentralized system where there is no general consensus, consensus will eventually disappear. It does not matter whether the participants of the systems fully trust each other or not. All of them should agree on certain principles and functionality that will be common to all. And this is the role of the consensus mechanism.
Currently, there are more than a dozen alternatives to consensus mechanisms or algorithms. But before we look at the most popular of them, it is important to understand two things:
- There is no generally accepted method of reaching consensus yet.
- Also, there is no one algorithm that would be better than another, it all depends on the requirements of the system.
Types of Consensus algorithms
- Proof-of-Work (PoW — Proof of Work)
We have repeatedly considered the difference between the two most well-known consensus algorithms, but it does not hurt to do an overview of these algorithms, as well as an introduction to others that we will consider here.
An explanation of this mechanism can be found in its name. To confirm transactions, you need to show that you have done some work. These rules prevent an attack on the system by creating fake transactions. The more work you do, the more likely it is that you will offer the next block in the chain and thereby receive a reward.
Note that probabilities, not rules of thumb, are what consensus is based on. If we have one lottery ticket, and someone has ten, it does not mean that we are doomed to lose.
PoW is considered to be the simplest and at the same time the most stable algorithm. It’s not the fastest, but it’s durable. This characteristic distinguishes it from other forms of consensus.
In order to have a better chance of winning, users will always strive to do more work. In the case of Bitcoin, we are talking about mining equipment, which usually leads to a kind of arms race in which they try to have the most computing power.
- Proof-of-Stake (PoS — Proof of stake)
This system is very similar to voting among the shareholders of a company, where the one with the most shares has more authority. Therefore, it’s not about the number of voters, but about how much weight they have.
Those users who have the most coins, or shares, have the greatest incentive for the blockchain to work properly. In addition, this form of consensus takes care to protect the network from all kinds of attacks, failures, confirmation of fake transactions and other problems.
The advantage of the algorithm is that it is a simple system that motivates validators to be honest. The disadvantage is that it is difficult to build a PoS-based system that would take into account all possible scenarios when malicious behavior takes place.
In PoW, a 51% attack is theoretically possible, although in reality it doesn’t make much sense for attackers. Although the system will face serious problems if more than half of the shareholders collude with each other, its design is obviously much more complicated than PoW.
At the moment, there is no time-tested stable PoS-based system in an anonymous environment, all of them are under development.
- Delegated Proof-of-Stake (DPoS) (Delegated proof of Stake)
The main idea of DPoS is that each user can vote for their delegate – the one who approves transactions. As a rule, the identities of these delegates are known. Therefore, you can choose to perform this task respected in society people who were elected by ordinary people by voting.
The number of votes is also taken into account here. The more coins on the blockchain, the greater the impact on the elections.
Since this algorithm has a limited number of validators, it provides greater throughput and transaction confirmation speed. The best example of this is BitShares, which, being a decentralized system that has implemented DPoS, is able to compete with centralized systems such as Visa or MasterCard. With such a system, a compromise between power and decentralization is achieved.
- Proof-of-Importance (PoI) (Proof of Importance)
PoI is like an extended version of PoS. In addition to taking into account the number of coins the participants have, the algorithm recognizes the behavioral component between them.
For example, where, when and how the transfer of coins takes place. This way you can eliminate the situation when the rich get richer. One of the most popular PoI implementations is NEM.
- Byzantine Fault Tolerance (BFT) (Byzantine Fault Tolerance)
These algorithms are primarily aimed at reaching consensus in a small group of people. In the case of a multi-signature, these are only a few participants, in BFT – dozens.
BFT makes sense when all participants in the process know each other and are not inclined to change. A good example is the vote of roommates on the issue of repair.
- Federated Byzantine Agreement (FBA) (Federal Byzantine Agreement)
Initially, FBA was used by Ripple, and then it was improved by Stellar. This mechanism makes it possible to reach consensus among a large number of participants, the total number of which is unknown.
Each participant chooses to trust a limited number of people, a group, other participants, forming a so-called circle of trust in which consensus is easily achieved. In the end, one of the members of one group trusts the other, which makes consensus possible throughout the network.
One can draw a parallel with the seed of revolution in society. People spread information by word of mouth. As a result, society becomes passionate about a common idea, because people interact with different groups.
In this article, we have reviewed the most popular consensus mechanisms that have been tested in the real world. But it should be borne in mind that none of them is absolutely perfect, and there is no universal solution for partial or complete decentralization of the environment. Each of them has its pros and cons.
On the other hand, algorithms are constantly updated and supplemented with various improvements. Sometimes they are a mixture of several consensuses, forming a hybrid.
As you can see, creativity in this sector is vital. And this is good news, because a blockchain without consensus is like a smartphone without an internet connection: it may be interesting, but it may be useless.