Are you curious about consensus algorithms and why they’re key to blockchain technology? Great! You’ve come to the right place. To learn blockchain development and be certified I recommend visiting Ivan on Tech Academy.
Blockchain is currently #1 ranked skill by LinkedIn. Because of that, you should definitely learn more about Ethereum to get a full-time position in crypto during 2020.
What is consensus?
Blockchain consensus algorithms are paramount to verify the authenticity of distributed blockchain platforms and are the process of building agreement among a network of mutually distrusting participants.
In order for a blockchain to properly work, nodes need to reach a consensus on the state of transactions and blocks. Mostly, transactions are either accepted, rejected, or left pending. Consensus algorithms allow nodes (and mining hardware/software) to agree on:
- Transaction data such as amounts and addresses,
- Block state meaning if a certain block is valid or invalid.
In essence, consensus refers to the set of rules that govern the consensus mechanism and ensure its trustless nature. A consensus protocol has three key properties on which its applicability and efficacy can be determined.
Properties of consensus algorithms
Depending on the consensus mechanic used, the overlaying protocol may be either more secure, decentralized or scalable. Irregardeless, the most important properties of any distributed consensus mechanics are safety, liveness and fault tolerance. Let me discuss each below:
- Safety: a consensus protocol is determined to be safe if all nodes produce the same output and the outputs produced by the nodes are valid according to the rules of the protocol. This is also referred to as the consistency of the shared state.
- Liveness: a consensus protocol guarantees liveness if all non-faulty nodes participating in consensus eventually produce a value.
- Fault tolerance: a consensus protocol provides fault tolerance if it can recover from the failure of a node participating in consensus.
In addition, each alternative consensus algorithm is mostly linked to either an open or closed governance model. The two most typical are:
- Decentralized governance models where the community participates in the decision-making process. This is achieved by either committing code to the software in order to improve the consensus mechanics, or simply by transacting in the network. Some of the oldest cryptocurrencies that fall under this category are Bitcoin, Ethereum, and Dogecoin.
- Centralized governance models which are usually represented by federated consensus. A small group has the power to control the network, transactions and overall consensus mechanics. There are a variety of top-10 projects that fall under this category including Stellar Lumens, Ripple and Bitcoin Cash.
Top blockchain consensus algorithms
As discussed in the introduction, there are three main consensus algorithms. Proof-of-Work, Pow; Proof-of-Stake, PoS; and DBFT or delegated Byzantine fault tolerant.
They key differences between them are the following:
- Proof-of-Work (PoW) based on cryptographic calculations that require miners to spend energy to solve computational problems in order to find a hash. The longer the hash, the more secure it is.
- Proof-of-Stake (PoS) based on each participant stake. The PoS requires participants to stake some of their tokens in order to become network validators. PoS is seen to have two main issues. The first is the nothing at stake problem, where participants can’t lose their stake even if they voted for all blocks and did not follow the protocol rules. The second is the fact PoS is less secure to long-range attacks.
- Delegated Byzantine Fault Tolerance (DBFT) based on a federated consensus, meaning the network reaches consensus through the agreement from a number of central authority nodes. Although this consensus algorithm allows scalable solutions to be built on top, it decreases security and user privacy as the network is not truly decentralized and has central points of failure.
Each consensus mechanic has a different purpose, usually connected to either enabling either the maximum security, decentralization or scalability.
Below, I resume what each consensus mechanics promotes at its core. You’ll see PoW is the most secure, while PoS is the most decentralized and DBFT the most scalable.
The main trade-off that consensus protocols face is between centralization and efficiency. Remember the previous dilemema? How can an algorithm maintain security and decentralization, while creating a scalable system at the same time?
The more centralized the decision-making process is, the faster the decision can be taken and the more scalable the network is. On the other hand, the less centralized a network is, the longer it takes to come to a consensus. When the hierarchy between shareholders is flat, unanimous decision making is difficult to achieve. Although the introduction of counterparties may not be a problem in every case, the original goal of the blockchain technology was to create consensus without intermediaries. Miners, oracles, witnesses, delegates, or stakers all centralize the system to some degree.
- Ivan On Tech Academy,
- Ivan On Tech ETH 2.0 code review,
- Build a blockchain in SECONDS,
- Functional programming in blockchain,
- ETH 2.0 discussion,
- Ethereum projects analysis,
- Role of consensus algorithms.
This article is not financial advisement. Changes may happen that the author is unaware of. Always check the resources provided!