Welcome back to the next portion of our EOS IO Dawn 4.0 guide.
We have already discussed the following:
In the second part we are going to talk about:
- Last Irreversible Block Algorithm
#4 Block Producer Rewards
We’ve told you how the DPOS consensus mechanism at EOS works. For a quick summary, EOS network has 21 block manufacturers and those 21 take good care of consensus and community health. Classic consensus mechanisms like evidence of work(POW) and proof of bet (POS) possess a more immediate reward method. Having said that, EOS’s DPOS doesn’t really have anything like that. On the contrary, it has an inbuilt inflation strategy which raises the overall supply by 5% every year.
These surplus tokens are then dispersed accordingly (more on that in a little ).
Based on Block. One, this inflation system is the way to go ahead for the long term evolution of the EOS job.
EOS Reward Distribution
Image Credit: Medium
Hmm..what is going on here?
The inflation rate of EOS per year is 5 percent which is divided into two components:
- 1% that goes to the manufacturers.
- 4% which goes for worker proposal programs (more on this in a little.)
The main logic behind the distribution algorithm is to make sure:
- The producers are paid sufficiently for their service.
- Nobody is paid in an insufficient way to never pay their costs.
- Everyone who qualifies has to find a minimum daily payment so that”wealthy people who haven’t any intention of creating blocks do not try to get interest on their producer candidate by voting on themselves”
Like we’ve mentioned, there are 21 busy block producers, however, there can be any range of standby producers as well, who might have received a particular number of votes from the election, however, they weren’t able to qualify in the top 21. This is where things get interesting. The 1 percent that Is Intended for block producers gets split into further two components:
Each of the 21 block manufacturers are entitled to this 0.25% block reward in proportion to the amount of blocks they discover.
Now what happens to the rest of the 0.75%?
It has distributed among the 21 block producers and the rest of the standby producers in agreement with the amount of votes they get. But before that, some conditions have to be met:
- The producers who get the reward have to qualify for at least 100 EOS tokens.
- The vote rewards have to go out at once daily.
Let’s see how this benefit mechanism is going to help block manufacturers being more valuable to the ecosystem.
Suppose, both Alice and Bob are two rival manufacturers. If Alice brings in more value compared to Bob, the community will recognize her value and provide her votes. Due to getting more votes, Alice will get more voter advantages. This, in turn, will incentivize Bob to step up and create greater value, so that he can gain more votes, and then more rewards, another time around.
It is possible to check the number of active manufacturers in the EOS network within here. As you may see, there 55producers (as of writing) who have qualified (>100 EOS/day) for its voter rewards.
What Happens to The 4%?
As we have told you, 4 percent of the inflation rate was retained for its”worker proposal system” Now, 4% is a whole lot of cash. Consider that, 50 million EOS tokens are going to go into the marketplace as inflation from the first year itself, of which 40 million EOS tokens will be used for those worker proposal systems. At current valuation, that stands at roughly $400 million USD.
That is a massive quantity of cash so that it makes sense to understand where that cash is going to be used.
Turns out, you can do pretty much whatever you desire with this particular investment!
The EOS community votes on the best way to use the funds moving forward. Below are some of the ideas that are circulating locally. The majority of the money will be used for research and development on the EOS blockchain however there are also hints of maintaining a few of the intricacies for charitable and relief purposes.
There’s another interesting proposal.
In a 5-year period, the number of all EOS figures will balloon around 1.276 billion EOS tokens, which is ~300 million gallons of surplus which, at current evaluation, goes to ~$3 billion!
Now, the thing is, the injection of much EOS tokens will shoot provide through the roof, which consequently, imbalances the”source || need” ratio. An interesting proposal is to inject a more token-burning mechanism which burns excess tokens and keeps the token supply in check.
It appears like EOS includes a fairly well thoughts out reward mechanics. It will be interesting to observe the sort of projects and innovations that may come about as a result of the employee proposal program.
Next, we have Voter Decay!
#5 Vote Decay
Before we get into it, it is necessary to understand why voting is such a crucial part of EOS.Before we get into it, it is necessary to understand why voting is such a crucial part of EOS.
EOS and Voting
The main reason EOS was created was to support industrial-scale Dapps. It’s important to understand what the word”industrial-scale”. EOS utilizes DPOS with 21 block manufacturers so they can scale their platform up enough to encourage these kinds of Dapps. The value of the block producers definitely can’t be underestimated. Not only do they treat consensus, but they take good care of overall network health also.
In EOS, you stake your tokens for tools such as network bandwidth, CPU bandwidth, and even RAM. In case the value of the tokens increases threefolds, your access to these resources should not be affected place staking.
But what happens in the event that you do not have the tokens and are just procuring resources on your Dapp, what happens to you when the token cost rises? In cases such as these, it’s all up to the block producers to maintain the connection between sources and tokens. The producers must focus on bringing the price per unit of source down to a fair range.
That is, possibly, the most important job of this BP and that is the reason why BP voting is this important job. However, before we continue, we need to know the reason it’s essential for people to vote and to allow their votes to actually mean something.
Voting Apathy and The Free Rider
Voting is your lifeblood of contemporary democracy. The same is true for a decentralized system like EOS.
But, unemployment generally falls victim to the free-rider issue. The”free-rider problem” is really a concept in game theory in which
“those who benefit from resources, public goods, or services don’t cover them, which results in an underprovision of those products or services”
Let us see an example of this to know the concept, after that we’ll see how this works wrt voting.
The free rider problem works on public goods/services which are:
- Non-Excludable: People can’t be prevented from using these goods.
- Non-Rivalrous: One person’s use doesn’t diminish the ability of another person to use the same good.
Let’s consider”National Security” as this public service. Ideally speaking, as a taxpayer, you ought to be paying taxes to the authorities regularly so that they can use it to keep and improve the military. However, what happens in case you don’t pay these taxes?
Even in the event that you don’t pay these taxes, you may still”get” national safety and the army will still struggle in the boundaries no matter. In essence, you become a free-rider.
The problem is that as more and more free-riders enter the market; it could lead to dire consequences. The government might not have enough cash to put money into their military and you can imagine how dire the consequences might become.
Thus, how does this factor into EOS voting you ask? Well, let us take a pretty recent example.
An extremely common response that one receives from someone when asked why they did not vote would be “My vote won’t change anything”
The significance of the logic is that because there are several people voting, one single vote won’t make any difference.
However, we have observed the issue with the increasing number of free-riders.
One need not look any farther than the 2016 US Presidential Elections contested between Hillary Clinton and Donald Trump. Just 56.9percent of the eligible population bothered to turn up to the elections.
Image Credit: Statista
This kind of voter apathy could be extremely detrimental for EOS. As we have already seen how significant producer elections are. In order to make sure the best block producers are placed in charge, the EOS participants should participate in the elections in an energetic way.
However, this can be an extremely idealistic view. Something needs to be done to make sure each and every vote really means something. This is why EOS creator Dan Larimer introduced the idea of”Vote Decay.”
By implementing “Vote Decay” the following happens:
- Power of each vote halves every year
- Voter must recast their vote every week to reassert the strength of each vote.
- Circumvents the “free-rider problem” by giving the voters a chance to re-evaluate their votes.
The Voter Decay mechanism leads to two great advantages:
- Firstly, as we’ve seen time and again, elected officials may become corrupt and change their tune after becoming elected. The vote corrosion system gives the voters a chance to reconsider their vote every week. This retains the cube manufacturers accountable and on their feet.
- Secondly, people simply alter over time. Perhaps the political beliefs and ideologies that somebody has now is completely different than what they had a year ago. The vote corrosion system will allow people to vote for someone who’s more congruent with their recently evolved ideologies.
This has the capacity to be a truly revolutionary idea and can alter decentralized voting (maybe even voting) eternally.
Like we mentioned, the power of every vote cast halves each year. SpringRole CEO, Kartik Mandaville, revealed how this can work on his Moderate article:
“The bottom time for the calculation of weight is Jan 1st, 2000. Now instead of rewriting the weighted vote to the blockchain each moment, Dan developed the idea of climbing the weight of the future votes. Eg Jan 1st, 2019 is two ¹⁹ and Jan 1st, 2018 is two ¹⁸ — this makes the vote on Jan 1st, 2019 twice as strong as Jan 1st, 2018.”
Among the most fascinating theories that EOSIO Dawn 4.0 has brought to our attention will be that the”Voter Decay” version. It’s thought that this might potentially be a very strong model that future blockchain jobs can utilize to implement a voting mechanism.
The vote decay is one of the most fascinating things to have come from EOSIO Dawn 4.0. A potential difficulty could be the usage of robots such as the voting protocol, however, Dan Larimer addresses it :
“We recommend that the constitution include language forbidding the use of automated voting bots as the intention of vote-decay was to make certain that voters reevaluate their conclusions rather than”set-it and forget it”. Although it is not possible to show the usage of bots, it will be possible to prove that people do not utilize intelligent contracts to auto-vote.”
#6 DPOS Last Irreversible Block Algorithm
There are a number of things that have to be covered before you can know DPOS Last Irreversible Block (LIB) Algorithm. Before we begin, we have to understand what finality really is.
Finality, in very loose terms, means that once a particular operation was completed, it will forever be etched in history and nothing may revert that performance. This is very significant in areas which deal with fund. Imagine that Alice possesses a specific amount of an advantage in a business. Just give of some glitch in the corporation’s processes, she shouldn’t have to revert ownership of the asset.
If you were to classify blockchain consensus calculations, they would fall under two categories:
- Given a defined set of validators, they produce 100% unambiguous finality.
- Those that do not provide 100% finality but rely on the high possibility of finality.
The first creation of blockchain consensus algorithms such as Proof of Work (POW), traditional Proof of Stake(POS) etc. offered a high probability of finality with no 100% warranty. Think of a POW coin such as Bitcoin.
Bitcoin follows the”longest-chain” rule, which suggests, even in the event the blockchain branches out into multiple chains, the series which has the maximum amount of cubes will be regarded as the principal chain. As a result of this reason, not one of the cubes mined are just lasting in every sense of this word. Anyone everywhere can build a longer string awarded they have sufficient funds and motives.
Bitshares introduced the world to Delegated Proof of Stake aka DPOS. A DPOS blockchain typically has 100% cube manufacturer participation. A transaction is usually confirmed within 1.5 seconds from the time of broadcast with a 99.9% certainty. In order to have absolute certainty within the validity of a transaction, a node need to wait around for 15/21 (i.e. a 2/3 majority) manufacturers to arrive at a consensus.
So what happens in case of a fork caused by negligence or malicious purpose?
All the nodes would be, by default, maybe not switch to a fork which doesn’t incorporate any blocks not finalized by 15/21 makers. This will stand true regardless of string length. Each block has to get a 15/21 acceptance to be considered part of the series.
Due to the short block creation time, it’s likely to warn nodes of if they’re in the major or small chain over 9 minutes. The main reason why that is so is straightforward. Remember, the average time elapsed between every block is 3 seconds .If per node misses 2 consecutive blocks there is a 95% likelihood that they in a minority fork.
While this was definitely an wonderful innovation, DPOS 2.0 took things to a completely different level. DPOS 2.0 began the notion of the past irreversible block (LIB). The LIB is the most recent block that 2/3+1 of those bock producers have built off of. The logic is that if the majority of the manufacturers have assembled on a chain then the likelihood of the fork may go down much more.
Having said that, this LIB has an attack situation. Consider the following:
- The network splits into two chains.
- Normally, this would cause one or both the chains to halt until one of the chains gain approval from 2/3+1 producers.
- However, what 2 subsets of validators simultaneously switch forks which results in both the forks reaching 2/3+1 on 2 different blocks.
- Because of this, there is a possibility of 2 different LIBs which defeats its process.
Even though this failure mode’s likelihood of occurrence is much less compared to the likelihood of a Bitcoin block having 6 confirmations being reversed. Both Bitshares and Steem that have operated for more than 3 years with no problem scenario ever being detected.
This is where DPS 3.0 comes in using IBC. IBC will help 1 string to establish to some other series the finality of its own transactions. Finality is a crucial and critical element for easy IBC.
In order to secure reliable IBC despite all states, DPS 3.0 and BFT presents a slight modification to the LIB algorithm. With this small change, one can establish indefinitely that 2 nodes can’t come to different conclusions regarding the LIB. Consequently, it also helps prove the malicious behaviour of each node.
In DPOS, every block that gets generated is basically a stamp of approval for a previously mined block. So, if 70% of the producers have built to a block, then block has 70% of those votes and acceptance from the ecosystem. This looks pretty solid, however, this is the place we hit a snag. Turns out, in a DPOS method, producers might, maliciously or produce blocks on various forks at distinct. This ends up contradictory the votes accomplished by previously discovered cubes.
Let’s consider a scenario and check how this could have been managed from both DPOS 2.0 and DPOS 3.0
- Consider a network with 3 producers: A, B, and C.
- Suppose there is a loss of communication between producers A and B and they both end up making Block N at Time T (for A) and Time T+1 for B.
- Now C creates block N+1 at time T+2 on top of B’s Block N.
- A realizing this, creates Block N+2 on top of C’s Block N+1 conflicting his previously mined Block N.
Let’s look at the above scenario wrt to both DPOS 2.0 and DPOS 3.0.
Under DPOS 2.0
The number of complete producers on our fictional network is . To find the 2/3+1 majority in this network, all 3 individuals will will want to consent (2/3*3 +1 = 3).
Thus, for block N in A to have accepted in the network, it might have been deemed irreversible if it got mined on by all the manufacturers.
Under DPOS 3.0
Remember the key points of what happened earlier?
- A and B discovered block N.
- B’s block N got built upon and A’ block was ignored.
- In fact, A also built on B’s block.
Under DPOS 3.0 however, the following will happen.
- A will confirm that he produced an alternative block N.
- Because of this disclosure, the network will not count A’s block N+2.
- Since this leaves B’s block N with only 2 votes instead of 3, it makes the block non-irreversible.
So, how is this implemented?
- Each producer includes the highest block number (H) that they have previously confirmed on any fork in their block N’s header.
- When the block N is applied only the block in the range of H+1 to N is considered for irreversibility.
- Anybody who attempts to do malicious behaviour by signing a block using a different range is tagged byzantine and generates a cryptographic proof of misbehavior.
- For 2 unique cubes in precisely exactly the same block height to reach 2/3+1 votes, so the group has to be split threeway into 1/3, 1/3, along with 1/3. One set of 1/3 generates one particular cube, another group creates another block as a malicious set of 1/3 signals for both the cubes.
However, in such a circumstance, the network must have 2/3+1 to be malicious to make just two cubes that are termed permanent. There are only two ways that it can occur:
- Sign two blocks with the same block number directly or indirectly.
- Sign two blocks with the same block time.
Newer consensus protocols such as DPOS, Hashgraph, Casper, and Tendermint manage to attain unambiguous finality so long as 2/3rd of those participants are fair. 100% unambiguous finality is a critical characteristic for blockchains that wish to encourage IBC. The abstract routine for all these protocols entails:
- All the participants issue pre-commitment on the block.
- All the participants when >2/3 acknowledge the pre-commitments.
- Block achieves finality when >2/3 commitments are reached.
- Finality agreement is reached unless >1/3rd are malicious and the evidence of bad behavior is available.
Vitalik Buterin, the man behind Ethereum, pointed out some possible vulnerabilities in the EOS consensus mechanism. He said:
“This does not seem to actually be safe. Consider a case with four validators, so we are allowed one byzantine. Suppose before time T the commonly agreed head is Z; then, at times (T, T+1, T+2, T+3), validators (A, B, C, D) make blocks extending a chain from Z. A now has votes from B, C and D and so is finalized. Now, before timeslot T+3 ends, D also (byzantine-ly) makes a block (call it D’) on top of Z. Then, at times (T+4 … T+11), (A, B, C, D, A, B, C, D) make blocks on top of D’ (this is ok because each validator is making a block at a height one higher than the block they previously made). The second A block in this chain has three votes and so is also finalized. Hence, two conflicting blocks got finalized.
In general, it’s not possible to achieve BFT safety on a block without at least two messages from most nodes that directly or indirectly reference that block; this algo tries to do it in one round and it’s likely impossible to actually do that safely. If you want an intuitive and good way of doing this, I recommend just using the algorithm in our Casper FFG paper.”
You can read the whole exchange between Vitalik and Dan Larimer right here.
So, there you have it. In these two parts hopefully, you can get a gist of everything that is going to come along with EOSIO. Before we finish things off here, it is prudent to address the elephant in the room.
Yes, the EOS launch has been ”not so smooth” so far. However, we can’t tell for sure how things are going to pan out. But for now, all that we can do is to tell you the different features and properties that EOSIO Dawn 4.0 can bring along with it.
We hope you got immense value from this read.