HomeBlockchainHow does the EOSio consensus model work?

How does the EOSio consensus model work?

Each blockchain has its own type of consensus, i.e. a set of rules that determine how a block is created and how transactions are confirmed, and EOSio also has its own specific consensus model.

In this article we will focus on how EOSio works, analyzing in detail its consensus protocol and trying to understand how it is different from other PoS (Proof of Stake) systems.

The EOSio consensus model

The EOSio blockchain uses a different variant of the Proof of Stake (PoS). 

In a PoS system, the validators who secure the network and produce the blocks, stake tokens to show that they are willing to keep the network running and not to act maliciously.

The amount of tokens to become validators is usually high enough to discourage small holders or those with malicious intent to take part in the system. Those who were to operate inefficiently would suffer the so-called slashing, i.e. a share of the amount put in stake would be subtracted.

The Delegated Proof of Stake

After understanding how traditional PoS works, let’s try to understand the EOSio consensus model using DPoS (Delegated Proof of Stake).

In this case, it is not the validators who stake their tokens, but the users who delegate the vote to those they believe are the best at producing blocks and maintaining the blockchain. 

In this way, there is no top-down imposition of who should hold the various nodes, but a bottom-up choice to have greater decentralization of the decision.

Moreover, on EOSio there is no slashing system as on the other PoS networks. The choice is in the user’s hands because in case the Block Producer (BP) should operate in a wrong way, for example not updating the system or not actively participating, users could remove their votes and change their delegation.

Who produces the blocks on EOSio?

Unlike other PoW (Proof of Work) based blockchains, EOSio does not have miners but BPs.

The EOS blockchain has about sixty BPs, but only the first 21 with the highest number of votes are those who are active and dedicated to producing the blocks.

The BPs rotate according to some very precise parameters (details on how the BPs are rotated can be found in the free book Mastering EOS, available on Amazon) while the others remain idle in case a BP encounters an unexpected event.

How do BPs earn?

Before answering this question we need to take a step back and explain that, usually, PoS-based blockchains have an inflationary system: basically, every year a certain number of tokens have to be produced and distributed among those who maintain the network.

As far as EOS is concerned, it has gone from 5% to 1% now, so every year there are 10 million more tokens to be distributed as a prize between active and idle BPs according to the ranking by the number of votes (the higher the number of votes and the position of BP, the higher the reward will be).

The reward can be a maximum of 1000 EOS to a minimum of 100 EOS per day, quite a significant return.

A BP earns precisely from this type of system and therefore has all the interest and incentive to operate in the best possible way not to lose this reward and the trust of users.

How fast is the EOSio blockchain?

The speed is measured in TpS (Transaction per Second).

On bitcoin there is a maximum of 7 transactions per second, Ethereum 25, PoS should reach a thousand, while EOS can easily exceed 4000 TpS. The testnet has even exceeded 9000 TpS, demonstrating that PoS is a winning system of consensus.

Alfredo de Candia
Alfredo de Candia
Android developer for over 8 years with a dozen of developed apps, Alfredo at age 21 has climbed Mount Fuji following the saying: "He who climbs Mount Fuji once in his life is a wise man, who climbs him twice is a Crazy". Among his app we find a Japanese database, a spam and virus database, the most complete database on Anime and Manga series birthdays and a shitcoin database. Sunday Miner, Alfredo has a passion for crypto and is a fan of EOS.
RELATED ARTICLES

MOST POPULARS

GoldBrick