Consensus Algorithms
Consensus Algorithms

$8.17 tipped


The following post is a list of consensus algorithms that was originally posted in Portuguese at https://livecoins.com.br/algoritmos-de-consenso/. I have full permission granted to repost the article. Some formatting changes have been made. I make no claims of accuracy to this post but thought the information worthy enough to translate and reshare.

For network participants to agree decisions, they need a consensus algorithm. The most famous is PoW ( Proof of Work ) which is used in Bitcoin and most blockchains.

Such consensus algorithms are necessary so that network participants can control the network without relying on a central point. Over time, several algorithms emerged, trying to improve points such as security, scalability, cost, etc. however it is a trilemma: scalability, security and decentralization, you cover one side and leave the other side out.

In addition, algorithms can work competitively or collaboratively to reach consensus.

     1 PoW - Proof of Work
     2 PoS - Proof of Stake
     3 dPoW - Delayed Proof of Work
     4 dPoS - Delegated Proof of Stake
     5 PoA - Proof of Authority
     6 PoR - Proof of Reputation
     7 PoET - Proof of Elapsed Time
     8 PoC - Proof of Capacity or Proof of Space
     9 PoH - Proof of History
          9.1 Proof of Stake Velocity
          9.2 Proof of Importance
          9.3 Proof of Burn
          9.4 Proof of Identity
          9.5 Proof of Activity
          9.6 Proof of Existence
          9.7 Ouroboros
          9.8 PoSV - Proof of Stake Voting
          9.9 Proof of Retrievability
     10 Byzantine Fault Tolerance
          10.1 RAFT
          10.2 Proof of Believability
     11 DAG - Directed Acyclic Graphs
          11.1 Tangle (IOTA)
          11.2 Hashgraph
          11.3 Holochain
          11.4 Block-Lattice
          11.5 SPECTER
          11.6 ByteBall

1. PoW - Proof of Work

Related image

PoW was the first consensus algorithm, presented in 2008 on the Bitcoin whitepaper and used today. In PoW, participants use computational power to solve mathematical problems and receive a reward (BTC in this example).

If two blocks are found simultaneously by two different miners, the longest chain will be used. So the network with the most miners will be the one used. This also raises the 51% attack problem, where a miner / pool would generate the longest chain, however the attacker would be shooting his foot as he would lose his investment. Thus, the network will be safe if more than half of its participants (computational power) are honest.

As mining became more financially attractive, alternatives were sought to improve mining's cost performance. Initially BTC was mined through CPUs, then GPUs, FGPAs and now ASICs. Other blockchains called “ASIC-resistant” block the use of ASICs, promoting more noticeable decentralization.

Used by: Bitcoin, Ethereum, Litecoin, ZCash, Monero

Positives:
Used, and tested, since the release of Bitcoin.
It's been 10 years proving to be an extremely secure algorithm.

Negatives:
Slow
Uses a lot of energy

2. PoS - Proof of Stake

Image result for staking

Probably the second best known consensus algorithm, PoS does not use computational power like PoW but rather the blockchain currency itself, reducing energy costs.

Participants need to allocate capital (staking) to validate new blocks, if you have 7% of the allocated coins, the chance of you validating a block is 7%. This makes a 51% very costly and unlikely since the attacker would devalue his own capital.

One of the biggest criticisms is the nothing-at-stake problem, in the first blockchains using this algorithm, it was only necessary to leave the coins in your own wallet, without relying on a security deposit. That is, such currencies would not serve as a guarantee in the event of an attack, it would be like believing that a participant would not attack the network as this would devalue its capital.

Used by: PIVX, Peercoin, Nxt

Positives:
Low energy utilization (also called green mining)
More costly attacks

Negative points:
Nothing-at-stake problem
Initial Centralized Distribution

3. dPoW - Delayed Proof of Work

Image result for delegation

DPoW uses another blockchain's hashrate to provide a second layer of protection for your blockchain. This way, notaries add data from one blockchain to another, ensuring better security and immutability of transactions.

In addition, the blockchain has normal nodes, so the blockchain can function normally without relying on the second one and more blockchains can be attached. One downside is that only blockchains using PoW or PoS can use dPoW.

The first blockchain to use such an algorithm was Komodo (KMD) which uses Bitcoin as a secondary blockchain.

Used by: Komodo

Positives:
Better energy use
Increased safety
Costs of a third blockchain would be lower

Negatives:
Only PoW and PoS can be part of this consensus.
The hashrate of the two different types of nodes needs to be well calibrated.

4. dPoS - Delegated Proof of Stake

Image result for Delegated Proof of Stake

Another algorithm that has been extensively explored is the delegated Proof of Stake, which allows participants to elect a representative to ensure network security. This means fewer nodes are required to validate blocks, increasing network scalability and reducing the time required to commit transactions. If one node goes offline, another can be put in place quickly.

Unlike PoW or PoS where participants compete to validate blocks, in dPoS they contribute. That is, all elected will validate the same number of blocks if they have no technical problems.

The main criticism is that reducing the number of validators makes the network appear to be more centralized.

Used by:  EOS, Steemit, BitShares

Positives:
Low energy utilization
Very fast
Low transaction rates

Negatives:
Somewhat centered
Participants can vote for themselves

5. PoA - Proof of Authority

Image result for trusted authority

In the Proof of Authority algorithm, transactions are validated by approved accounts. This requires that potential validators be exposed, that is, they are putting their reputation at risk to validate the blocks, removing the anonymity that is so talked about when talking about cryptocurrencies.

In addition, full verification and procedures are required to ensure that the validator has a server with the desired characteristics of the network.

Used by: POA.Network, VeChain

Positives:
Low energy utilization
Very fast

Negatives:
Somewhat centralized, mostly used in private blockchains

6. PoR - Proof of Reputation

Image result for proven reputation

This algorithm relies on the reputation of the participants to keep the network secure. Similar to Proof of Authority, the network penalizes participants attempting to attack the network. One of the big differences from PoA is that participants are companies, so they need to have a great reputation for putting them at risk.

Used by: GoChain

Positives:
Trusted private blockchains

Negatives:
Used only in trusted and private blockchains

7. PoET - Proof of Elapsed Time

Created in 2016 by Intel, this algorithm works like a lottery where all nodes have the same chance of finding a block. With each block discovery, each node must wait for a randomly chosen period of time, the one with the shortest time is responsible for the next block.

Used by:  HyperLedger Sawtooth

Positives:
Low cost of participation
More people can participate, more decentralized
Simple check node legitimacy selected
The cost control leader election process is proportional to the value gained from it

Negatives:
Although cheap, it requires specific hardware.
It cannot be adopted widely.
Not made for public blockchains

8. PoC - Proof of Capacity or Proof of Space

Image result for petabyte drive

PoC is a similar algorithm to PoW, but it uses an disk space to solve a challenge. It's a greener alternative to PoW because the power consumption required for storage is lower.

Used by: Burstcoin

Positives:
Low power usage, similar to PoW

Negatives:
Requires vast amounts of drive space

9. PoH - Proof of History

Image result for history

Instead of relying on the transaction timestamp, participants can prove that the transaction occurred before or after an event. That is, if you take a photo of a newspaper, this is proof that you took the photo after the newspaper was published.

This algorithm uses a sequential hash that runs continuously on itself, where the previous output is used as the next input.

Used by: Solana

  • 9.1 Proof of Stake Velocity

    Used by Reddcoin, the algorithm works just like PoS but the reward for allocating capital decreases exponentially, making it necessary to move your currencies to get the most rewards.

  • 9.2 Proof of Importance

    Used by NEM, besides taking into account the monetary factor, the algorithm also considers other factors such as notoriety, balance and number of transactions sent and received. Therefore, it is better than PoS in relation to the evaluation than it is allocated.

  • 9.3 Proof of Burn

    By burning the coins, participants have the right to mine in the network through a random selection process. The more coins burned, the greater the chance of being selected to mine the next block, functioning as a lottery.

  • 9.4 Proof of Identity

    PoI is cryptographic evidence that a user knows about a private key that is confronted with an authorized identity and attached to a specific transaction.

  • 9.5 Proof of Activity

    Used by deCRED, it is a hybrid algorithm that uses PoW and PoS. The blocks are first mined by PoW and then validated by PoS, the rates are split between the two. A double-edged sword inherits both the strengths and weaknesses of both models.

  • 9.6 Proof of Existence

    Used by Poex and Dragonchain, it is an online service that checks for files on a specific date through Bitcoin blockchain transactions. It can be used to sign digital contracts, prove ownership of the data without revealing the data in either case.

  • 9.7 Ouroboros

    Used by Cardano (ADA), it is yet another variation of Proof-of-Stake with a strict safety guarantee.

  • 9.8 PoSV - Proof of Stake Voting

    Used by Tomochain, and very similar to dPoS, participants vote to elect network block validators. The algorithm has a double validation system, one masternode generates a block, another validates it, and a third masternode does the double validation.

  • 9.9 Proof of Retrievability

    Used by Microsoft, it is compact proof that a file is intact, so the customer can fully recover it. For this reason it is attractive for high security remote storage systems. It can be useful as a consensus algorithm for cloud computing systems.

10. Byzantine Fault Tolerance

Image result for Byzantine Fault Tolerance

The Practical Byzantine Fault Tolerance (PBFT) was written in 1999 and is now used by Hyperledger Fabric is an algorithm used by permissionadas and private networks to solve the problem of Byzantine generals. Such networks are better known as DLT (Distributed Ledger Technology) than blockchain.

In this same way are the Federated Byzantine Agreement (FBA) which are used by Ripple with the Ripple Protocol Consensus Algorithm (RPCA) and Stellar with the Stellar Consensus Protocol (SCP), where each node is responsible for its own chain. At XRP they are pre-selected by the Ripple foundation, at XLM anyone can be a validator, it's up to you to decide who to trust.

The Delegated Byzantine Fault Tolerance (dBFT) is used by NEO, through vote, the holders can select who will be the clerks. Such participants are responsible for the generation of new blocks. Being a good alternative for decentralization and scalability.

Stellar Consensus
Based on fBFT as shown above, if nodes misbehave or split, the algorithm halts network progress until consensus is reached.

  • 10.1 RAFT

    Used by Quorum and IPFS, it is an alternative to the 1989 Paxos. A client sends a value to the elected leader node, this record is then replicated to the follower nodes that confirm the record and sends it back to the leader who then notifies them. followers that the record has been allocated.

  • 10.2 Proof of Believability

    Used by IOST, the consensus protocol works like a PoS but is divided into two parts, the first processing transactions quickly in the first phase, and the second provides definitive character and ensures verifiability of them. This way there is a low latency and smaller blocks, being faster than PoS.

11. DAG - Directed Acyclic Graphs

Image result for Directed Acyclic Graphs

Used by IOTA, HashGraph, Byteball and Nano, its main feature is not working the same as other blockchains whose blocks are added one by one in the network. The blocks / transactions in this algorithm are added in parallel, each block / transaction confirming X previous block (s), being a good alternative for scalability.

  • 11.1 Tangle (IOTA)

    Tangle is the DAG consensus algorithm used by IOTA, to perform a transaction, you need to check two previous transactions.

  • 11.2 Hashgraph

    Consensus protocol created by Leemon Baird where nodes share transactions with other nodes at random, so eventually all transactions will be available to all nodes at some point. Great for private networks.

  • 11.3 Holochain

    Provides data structure that can be used to create dApps. You have your own chain, to which you can add data, such as financial transactions. Chains can merge, split and interact in complex ways. Data is stored in a decentralized manner, like Bittorrent. The data has a hash, which is the mathematical fingerprint that corresponds to the data. If someone tampers with the data, it will be rejected.

  • 11.4 Block lattice

    Used by Nano, each transaction is divided into a sending block in the sender chain and a receiving block in the recipient chain.

  • 11.5 SPECTER

    SPECTRE is the acronym for Serialization of Proof-of-Work Events: Confirming Transactions via Recursive Elections, is a proposal for Bitcoin scalability that uses PoW and DAG to reach consensus. In SPECTER, blocks are not linearly mined, so the network can handle multiple blocks per second.

  • 11.6 ByteBall

    Byteball also uses DAG, however it uses a main chain within the DAG. When there is a double-spend attempt, the earlier transaction version is considered valid, and all others are canceled. The main chain revolves around well-known users, called witnesses.

What is your favorite consensus algorithm? Do you prefer more security? Scalability? Decentralization? There is a multitude of alternatives on the market! The blockchain industry keeps growing.



Everything Cryptocurrency
Everything Cryptocurrency

Everything related to cryptocurrency news, cryptocurrency projects, cryptocurrency prices and cryptocurrency speculations.

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.