Read the Whitepaper here
We will be going over the Consensus Algorithm of EOS, but because this is a rather complicated subject, it'll be divided into three articles.
Consensus Algorithm (BFT-DPOS)
EOS.IO software utilizes the only known decentralized consensus algorithm proven capable of meeting the performance requirements of applications on the blockchain, Delegated Proof of Stake (DPOS). Under this algorithm, those who hold tokens on a blockchain adopting the EOS.IO software may select block producers through a continuous approval voting system. Anyone may choose to participate in block production and will be given an opportunity to produce blocks, provided they can persuade token holders to vote for them.
Note: There are different terms for someone who is allowed to publish a valid block update that will be accepted by the blockchain. In Bitcoin, the term is "miner", in Ethereum it is "vaildator" and in EOS it is "block-producer". For simpilcity's sake I will be adopting the EOS' term to describe all three.
A consensus algorithm is the process in which the network come into agreement which set of records is the legitimate one, and thus the one to be accepted by the network.
Bitcoin uses a combination of Proof-of-Work with longest chain rule. In Bitcoin's case, the set of records that took the most work to produce is the one with the claim to legitimacy.
Because it takes enormous amount of computation power to produce a block, and each block depends on the previous, it is unlikely any person will have this much computational resources. And it is unlikely that many party will collude to attack the network since individually, they will be better served supporting the network rather than attacking it.
But as we've seen lately, these assumptions have proven to be false.
A combination of specialized hardware and concentration of miners gave rise to massive mining pools like GHash.io, who gained 51% of the network's hashing power and had the ability to control the Bitcoin network unilaterally, and comprising the network by performing a double-spent attack.
At the time of writing, top 6 mining pools are holding around 81% of the network's hash rates, and they are all located in China, a country with a centralized government that could at any time intervene in the mining pool's operation.
Promise of Proof-of-Stake.
Proof-of-Stake is an alternative consensus algorithm that has recently been favored by new blockchain technologies.
At it's core, Proof-of-Work systems rely on the assumption that those who have invested a lot of economic resources into equipment will not risk their investment to attack the network.
Proof-of-Stake just takes a simplified step, trusting those who invested the most into the ecosystem to not go against their economic interest.
In Ethereum's model of Proof-of-Stake, an address that holds a threshold amount of tokens will "stake" or lock up their tokens for a chance to become the block-producer. If the Ethereum network detects the address behaving dishonestly, then the address will lose its staked tokens.
Shortfalls of Proof-of-Stake
In a simple Proof-of-Stake system encourages concentration of tokens in a small number of addresses. And encourages a concentration of wealth. This is because for one to qualify as a block-producer, a certain threshold must reached. And once someone becomes a block-producer, he or she is paid for the amount, effectively generating more wealth which then can be further invested into another address to make it into another block-producer.
This eliminates the chance of vast majority of small token holders from ever becoming a block-producer.
An old idea made new.
The Consensus Algorithm of the EOS blockchain is one of the true innovation of the EOS software and what sets it apart from other blockchains.
But the concept it burrows is 200 year old one: representative democracy.
In a representative democracy, instead of each person voting directly on political issues, they vote for those who they think will be able to make the best decision on specific areas like economics or foreign policy.
There is, however, a difference between representatives chosen by citizens and representative chose by EOS token holders. In a democracy like America, it is one citizen one vote, whereas in EOS, it is one token one vote.
In this sense, it is more like America's best product: The Corporation.
In a corporation, shareholders chooses, through a process of a vote, a Board of Directors that oversees the executive team and hold them accountable to the wishes of the shareholders.
In a corporation, the more shares you hold, the more weight your vote has.
In the EOS network, it is token holders who, through a process of a vote, chooses Block Producers who maintains the operation of the network and hold accountable businesses that operate on the blockchain to ensure that they do not violate the terms of service set forth by the token holders.
This is a variant of the Proof-of-Stake mechanism and is called Delegated Proof-of-Stake.
Each token who stakes his token will have a voting weight proportional to the amount of the tokens he have staked. This is traditional Proof-of-Stake.
In Delegated-Proof-of-Stake, each stake holder can delegated their influence to other users without giving up the control of their property.
That means 10 individuals each owning just 1% together will have the same amount of influence of 1 individual owning 10%.
Though simple, enables many more people to be able to make meaning impact on the blockchain.
Resolving forks on Delegated-Proof-of-Stake
It follows the longest chain rule for one, meaning that the database that has the most valid data-block updates is the one that is accepted by nodes in the network.
If there is two competing data-chains, claiming legitimacy, the nodes can make a comparison between the two and disregard the one that is shorter.
This same concept applies for the EOS blockchain.
The only difference is that the block-producing nodes are known on the EOS blockchain.
In the case where some elected producers decide to create a fork of the blockchain, they would have to have the super-majority to maintain the fork to be the longest one.
Otherwise the longest chain will always be the one with the most block-producer support.
In the next article, we'll go over what utilization differences is why it allows for faster confirmation times and increased trust in the network.
If you would like to know more about me and what I'm doing you can read my introduction post here.
Read my series on the Steem blockchain:
Steem: Welcome to the Matrix. Part One
Steem: Operating in the Matrix. Part Two
Steem: Construction of the Matrix. Part Three
Read my series on the EOS blockchain:
EOS whitepaper walk-through. Abstract
EOS whitepaper walk-through. Note and Disclaimer
EOS whitepaper walk-through. Overview
EOS whitepaper walk-through. Background
EOS whitepaper walk-through. Requirement.
And you can contact me in the following way:
@bluabaleno on Steem.chat