Proof of Work
PoW - proof of work - is the oldest consensus algorithm used in blockchain. It consists in selecting one node within each round, which will generate another block. The node that can calculate a complex mathematical problem the fastest (does the necessary amount of work) and provides proof of this is selected.
The reliability of this algorithm depends on the overall computational power of the network - the higher the power, the less susceptible the network is to manipulation. On the other hand, higher computing power also means higher energy consumption.
Proof of Stake
PoS - deposit proof - is another algorithm used in blockchain networks. Potential leaders must make a cryptocurrency deposit and have a chance to generate a block in proportion to the deposit. This algorithm depends on the cryptocurrency associated with the blockchain.
Practical Byzantine Fault Tolerance
The PBFT algorithm is - simplified - based on validators' voting on the status of a transaction. Therefore, the set of participants (validators) must be closed.
For a small group of validators, it is a very efficient algorithm that can quickly reach a consensus. However, its complexity grows rapidly with the number of validators. Due to the closed group of validators, it is therefore not very suitable for public blockchains.
Proof of Elapsed Time
The PoET algorithm assumes the random selection of a leader who generates a block in a given round. For the selection to be truly random, two conditions must be met: the random parameter determining the next leader cannot be influenced by any participant, and the set of participants (validators) must remain closed.
The first condition in the case of the PoET algorithm is implemented using special hardware (see Intel Software Guard Extension). A closed group of validators and the need for special hardware presupposes use in private and consortium blockchain networks.
Delegated Proof of Stake
Delegated Proof of Stake - is also based on leader selection. A group of potential leaders of a given size is selected by a vote of the participants. These then become leaders for the round in pseudo-random order and form blocks. DPoS is a very efficient algorithm that can quickly reach consensus. However, like PoS, it is typically dependent on the cryptocurrency associated with a given blockchain.
Other algorithms
A variant of DPoS and PoET is the "Proof of Authority" algorithm. From the group of pre-selected validators - potential leaders - there is a pseudo-randomly selected leader for the next round, who will create a new block. The group of validators is selected and maintained by a consortium.
Federated Byzantine Agreement - A federated byzantine agreement is a type of protocol in which each participant trusts only a certain group of other participants. Within these individual groups, a consensus is then rapidly formed, and since the groups overlap, the whole network gradually iterates to the same state.
The disadvantage is the requirement for group overlap, which is a necessary condition for reaching a network-wide consensus. Without meeting this condition, mutually disjointed "islands of trust" with different statuses may emerge.
A summary and general comparison of the consensus algorithms described in the previous sections is outlined in the following table:
Title
Selected additional publicly available information |
Typical use |
Advantages / disadvantages |
Public blockchain |
(+) Safety in an anonymous environment (-) Energy intensity |
|
Public blockchain with its own cryptocurrency |
(+) Safety in an anonymous environment (-) Cryptocurrency binding |
|
Private and consortium blockchain |
(+) Efficient algorithm (short latency, high throughput) in a small group of validators |
|
Proof of Elapsed Time |
Private and consortium blockchain |
(+) Efficient algorithm (short latency, high throughput) (-) Addiction to specialized HW |
DPoS |
Public blockchain with its own cryptocurrency |
(+) Efficient algorithm (short latency, high throughput) (-) Cryptocurrency binding |
FBA |
Public and consortium blockchain |
(+) Highly decentralized solution (+) Higher throughput (-) May be more difficult to set up |
Private and consortium blockchain |
(+) Efficient algorithm (short latency, high throughput) (-) High degree of centralization |
Comparison of consensus mechanisms