What is
consensus? If broadly defined, a consensus is an agreement that satisfies each
of the parties involved. This is the key to democracy and decentralization in
general, as well as distributed registry technology in particular. Look at BTC:
although Satoshi Nakamoto is his mysterious founder, he (or she!) has no power
over the community. Bitcoin, like the blockchain, is completely transparent and
open, and each node is equal in this network.
In the narrow
sense, we use in cryptography, a consensus is a decision-making procedure. Its
goal is to ensure that all network participants agree on their current status
after adding new information, a data block or a transaction batch. In other
words, the consensus protocol ensures the chain is correct and provides
incentives to remain honest participants. This is an important structure to
prevent a situation where someone alone controls the entire system, and it
ensures everyone abides by the rules of the network.
A short review of
a blockchain protocol
A protocol is a
set of rules.
It helps:
ensure the
viability of online transactions;
eliminate the
possibility of double waste;
make sure
participants do not cheat.
Blockchain
protocol is the amount:
deterministic
logical rules;
cryptography and
encryption as a basis for security;
social
encouragement to support the network protocol.
Let’s review what
blockchain protocols exist today, where they are used, and what are their pros
and cons.
Disclaimer: the
article will be supplemented and edited to provide the most accurate
information.
We will start
with the mastodons of the industry. Proof of Work (PoW) and Proof of Stake
(PoS) are the pioneering protocols that often serve as the prototypes for other
modern consensus protocols.
Proof of
Work (PoW)
Principle: it is
difficult to find a solution, but it is easy to check the result.
Performance: low.
DLT environment:
public blockchain.
Completion:
probabilistic.
Example of use:
Bitcoin, Ethereum, Litecoin.
The bitcoin
blockchain is probably the most copied blockchain protocol. Numerous nodes
confirm transactions in accordance with the PoW consensus algorithm. To add a
new block, the participant must prove he/she has done a certain job. To be
precise, it solves a very difficult task of finding a hash that complies with
certain rules. The first who was lucky to find the right combination gets the
opportunity to add a block to the chain.
As a result,
participation in PoW implies the cost of computing resources, but the advantage
is that it can be implemented in an environment where participants absolutely
do not trust each other. Anyone can join the network, as it is a blockchain,
which does not require permission (it’s permissionless). And although the
peer-to-peer scalability is high, the transaction rate remains low.
Another problem
is the motivation of network members — they usually join in to get rich, and
not to maintain justice. Reducing mining fees over time and lower commissions
in the future can greatly affect network security.
Proof of
Stake (PoS)
Principle: the
network trusts the validator, who puts his own resources as a pledge for the
ability to create blocks: the larger the share, the higher the probability that
the network will allow the creation of a block.
Performance:
high.
DLT environment: public
/ private blockchain.
Completion:
probabilistic.
Example of use:
NXT, Tezos, soon Ethereum.
The technical
feature of PoS is the absence of complex and unnecessary calculations. Instead
of competing with others, network participants pledge their crypto actives,
such as ether (Ethereum) in Ethereum, and wait for them to be selected to
create a new unit.
Here participants
are interested in security, as they themselves own the coins of the system. The
algorithm selects one validator, based on the share belonging to it. Therefore,
if the participant owns a 5% share, then 5% of transactions will be checked.
The idea is that the higher the proportion of validator underlying
cryptocurrency, the less interest he/she has in manipulating the validation
process.
As in the case of
the PoW algorithm, the completion of a transaction in PoS is probabilistic.
Although transactions are relatively fast compared to transactions on the
Bitcoin network, tokens are still required for this. Moreover, skeptics point
to the fact that validators with large stakes will be chosen more often and,
therefore, will receive even more tokens: the rich are getting richer.
Delegated
Proof of Stake (DPoS)
Principle:
Participants delegate the production of new blocks to a small and fixed number
of elected validators. High competition, but very profitable.
Performance:
high.
DLT environment:
public/private blockchain.
Completion:
probabilistic.
Usage example:
EOS, BitShares.
Delegated Proof
of Stake (DPoS) enables creating blocks at high speed and process more
transactions per second by reducing the number of validators. During the
voting, coin holders choose validators to form the blocks. The weight of each
vote is defined by the sum of the assets of the voter. Coin holders can vote
for validators at any time. This determines the high flexibility of the
network: if the majority of performers fail, the community will instantly vote
to replace them.
The production of
new blocks occurs every 1–2 seconds. This protocol is faster and fairer compared
to PoS since the “delegated” validator later shares tokens with its voters.
Although, the confirmation of the finished blocks still lies on the shoulders
of all the other members of the network.
Proof of
Activity (PoA)
Principle: a
hybrid of PoW and PoS.
Performance: low.
DLT environment:
public.
Completion:
probabilistic.
Usage example:
Decred.
Proof-of-Activity
(PoA) combines the PoW and PoS protocols, which means that participants can
mine or lay down a share to validate the blocks. So, the PoA protocol provides
a balance between miners and ordinary members of the network.
Proof-of-Location
(PoL)
Principle:
beacons are used to notice a node in a synchronized state, and then to mark its
presence with a temporary stamp.
Performance:
average.
DLT environment:
public.
Completion:
immediate.
Usage example:
FOAM, Platin.
Proof-of-Location
(PoL) allows users to secure a specific GPS location and thus authenticate
themselves on the network. Interestingly, this blockchain protocol relies on
BFT beacons, which record geolocation and time markers in the blockchain, which
prevents disruptions and fraud in the system.
Proof-of-Importance
(PoI)
Principle: like
PoS, but with additional properties that affect your ranking.
Performance:
high.
DLT environment:
public.
Completion:
probabilistic.
Usage example:
NEM.
The algorithm
acts almost like PoS, but includes three components:
the number of
tokens in the account;
account
operations activity;
the time spent by
the account holder on the network.
The first
parameter plays an essential role in the rating for verifying transactions; the
second and third parameters just help to establish the “value” of the account.
The smaller the sum of tokens, the stronger the influence of other parameters.
Consequently, an
account that lays hundreds of thousands of tokens can increase the coefficient
of importance by almost 3 times due to its activity and constant presence in
the network. On the other hand, it does not matter for those who own hundreds
of millions of tokens.
Proof-of-Elapsed-Time
(PoET)
Principle: blocks
are created in a trusted environment with equal periods.
Performance:
average.
DLT environment:
private blockchain, with and without permissions.
Completion:
probabilistic.
Usage example:
Intel.
Intel did not lag
behind and developed its own blockchain protocol called IntelLedger.
This system is
similar to Proof of Work but utilizes less electricity. Instead of participants
solving a cryptographic puzzle, the algorithm works in a Trusted Execution
Environment (TEE) environment, such as Intel Software Guard Extensions (SGX).
The PoET protocol guarantees that the blocks are generated randomly and without
any necessary efforts.
Proof of
authority (PoA)
Principle: semi-centralized
blockchain for banks and insurance companies
Performance: high
DLT environment:
Public, private or consortium.
Completion:
probabilistic
Example of use:
Kovan, Rinkeby, Giveth, TomoChain, Rublix, Swarm City, Colony, Go Chain.
Similar to PoS
and DPoS, in PoA validators secure the blockchain and are able to produce new
blocks. New blocks on the blockchain are created only when a supermajority is
reached by the validators.
By identifying
pre-selected authorities, PoA consensus becomes centralized. Therefore, it’s
suited for private blockchains and consortiums, such as a group of banks or
insurance companies for better scalability. The identities of all validators
are public and verifiable by any third party. Having their identity at stake,
validators act in the best interest of the network.
Proof of
Burn (PoB)
Principle:
burning a mined PoW cryptocurrencies in exchange for mining privileges or the
coins/tokens of an alternative currency
Performance:
medium
DLT environment:
Public
Example of use:
Slimcoin and Counterparty
Miners send coins
to an unspendable address (an eater address) in such a way burning them (coins
can no longer be accessed and spent again). As PoB transactions are recorded on
the blockchain, there’s undeniable proof that the coins are inaccessible, and
the user is rewarded.
The idea is that
a user demonstrates a willingness to undergo a short-term loss for long-term
investment — a lifetime privilege to mine on the system. The more coins a user
burns, the higher the chance to mine the next block.
Proof of
Capacity (PoC)
Principle: The
amount of “work” a miner will perform depends on the amount of free disk space
to devote to the plotting process.
Performance: high
and efficient
DLT environment:
public
Example of use:
Burstcoin and Bitcoin Ore
PoC is similar to
PoW with a considerable difference — in PoC, rather than doing a large amount
of work to verify each block, the work is done in advance in the process called
“plotting”; the results from this process are used later to verify each block.
Plotting is the
process of producing special files called “plot files” which store a large
number of precomputed hashes. The shortest solution to the mining algorithm
grants the rights to mine the next block. PoC is efficient, cheap, and distributed.
Proof-of-Brain
(PoB)
Principle: the
protocol enables smart, a social currency for publishers and content businesses
Performance: fast
and efficient
DLT environment:
public
Example of use:
Steemit
PoB is a scalable
blockchain protocol for openly accessible and immutable content accompanying a
fast and fee-less digital token — STEEM — which helps people earn money by
using their brains thus the name. STEEM is a means for creating unceasingly
growing communities with members adding value through the built-in rewards
structure.
PoB is a public
publishing platform called Steemit from which any Internet application can
share data in such a way rewarding those who contributed this valuable content.
Proof-of-Physical-Address
(PoPA)
Principle:
identity verification DApp
Performance: high
DLT environment:
private
Example of use:
ConsenSys and POA Network
Proof of Physical
Address (PoPA) is a DApp which connects a real-life physical element with
blockchain technology. This helps in verifying an individual’s identity. PoPA
connects a person’s physical address with a wallet address in which they
control the respective private key.
Every time a user
verifies his/her card in the DApp, the PoPA protocol refreshes its own record
and calls the ERC780 congenial contract to store the user/address connection.
Proof-of-concept
(PoC)
Principle: demonstrates
the feasibility of any blockchain project
Performance:
unknown
DLT environment:
private
Example of use:
unknown
A Proof of
Concept (POC) can be used in any field such including Voting trackers, Record
storage, Legal documents, etc. A POC can either be a prototype without any
supporting code or a Minimum Viable Product (MVP) with a base feature set. A
POC is a model used for an internal organization to have a better understanding
of a particular project.
Consensus
protocols are an integral part of distributed systems. They help to achieve
justice, to avoid system failures when one of the participants — the node —
fails. Secondly, a decentralized environment requires solutions which will help
move forward and change the general state, even in an environment where no one
trusts anyone. Certain rules help to reach “consensus”.
We reviewed the
most popular protocols which are already used in dozens of projects. Still,
there are also Cross-resiliency (XFT), Paxos, Sieve, Raft protocol, Byzantine
resiliency (BFT), direct acyclic graphs (DAG), and even non-blockchains
conducted through a mental experiment which we’ll describe later.
If you have
questions and requests (for instance, to review a certain blockchain protocol),
leave comments below the article.