EPoS for Improving Decentralization

Ganesha Upadhyaya
5 min readOct 16, 2019

--

At Harmony, we care about achieving the highest level of decentralization possible and diligently try to improve the decentralization of our system. The level of decentralization is more important for us as our consensus protocol is based on FBFT (an optimized version of PBFT) and malicious behavior of nodes that possess over 33% resource power can cause the consensus protocol to become stuck.

The article “Impossibility of Full Decentralization in Permissionless Blockchains” and paper by Dr. Dawn Song from UC Berkeley and collaborators at KAIST studied the decentralization of blockchain systems. Their work not only proposed the necessary and sufficient conditions for full decentralization, it also evaluated several staking/incentive systems like Proof of Work (PoW), Proof of Stake (PoS), and Delegated PoS (DPoS), and found that at least one condition is not satisfied fully. For instance, PoW and PoS systems only satisfy one condition out of four (described below).

As per their work, the full decentralization, modeled as (m, ε, δ)-decentralization, refers to the case where a blockchain system satisfies that the number of participants running the nodes is as large as possible and the distribution of effective power among the participants is even. The four sufficient conditions of an incentive system that will allow a blockchain system to achieve full decentralization are:

  1. Giving Rewards (GR-m): Participants can earn net profit by running a node in a consensus protocol.
  2. Non-Delegation (ND-m): Participants can earn a higher profit when running a node in a consensus protocol than that of when delegating their resource.
  3. No Sybil nodes (NS-δ): For given the same amount of resource, participation with multiple nodes is not more profitable than participation with one node.
  4. Even Distribution (ED-(ε,δ)): The ratio between resource power of rich and poor nodes can eventually reach a similar value to 1.

The closest system that satisfies all four conditions, provided there exists a non-TTP-reliant Sybil cost function (TTP refers to a Trusted Third Party setup), was the PoS system with Quadrating Voting, where the effective stake is determined as a square root of the participant node’s stake. However, a fully non-TTP-reliant Sybil cost function is yet to be found as of this writing.

Understanding EPoS decentralization

Given the necessary and sufficient conditions for full decentralization, we will evaluate our Effective Proof of Stake (EPoS) incentive system and our blockchain to figure out where we stand on satisfying them.

Our Effective Proof of Stake (EPoS) scheme is a PoS-based staking/incentive mechanism that tries to balance the earning/profit of high and low stakers (the full description of which is here). In a nutshell, the effective stake for any stake of a participant node is computed as shown below.

Here, S is the stake of a participant node and Sm is the median stake. The above formula tries to keep the effective stake of any staker around the median stake by capping both the upper and the lower bound. For instance, for c=0.15, Sₑ will be capped between [0.85*Sm, 1.15*Sm] for any stake S. In our system every validator (participant who is in the top 1600 staker) who signs the block earns a reward that is proportional to the Effective Stake (Sₑ). Let’s now see to what extent our EPoS mechanism satisfies the four necessary conditions for full decentralization.

1) In our EPoS, for every epoch, participants stake and contest for a limited number of validator seats (currently ~1600 with 400 per shard across 4 shards). Any participant who succeeds in obtaining a seat, always earns a reward for any block that he/she signs. The block reward is distributed based on the proportion of the effective stake. Our system has enough participants who earns reward every epoch makes us satisfy the first condition GR-m.

In the above equation, Ui is the utility function that represents the expected net profit of a node ‘i’ in terms of the block reward, effective stake proportion, and the cost of running a node.

2) We aim at ~10% annual staking yield (meaning at least 10% profit in terms of the earned rewards against the cost of running the node annually and the amount staked) and it should be possible to set the block rewards to meet this expectation. While it is less likely, but possible that our utility function Ui< 0 making the net profit not beneficial to run a node, however this case is equally likely for any staker (high or low) due to our effective staking scheme.

In addition, it is not more profitable for multiple participants to run one node through cooperation (in the form of delegation) when compared to running each different node (ND-m) for several reasons.

  • If a participant stakes (even when the stake is low) and gets selected, he is ensured of a reward.
  • There is no concept of minimum stake to be part of the validator committee, hence participants cannot predict whether they will be part of the committee for their stake and try to combine the efforts of running a node.
  • Delegation reward is proportional to delegated stake and there is an associated commission fee (can be as high as 10%, could be anything between 0–100%) which is deducted from the delegators reward.

3) While our blockchain does not have a Sybil cost (the cost incurred to run multiple nodes for a single participant) and in a way EPoS encourages participants to run multiple nodes (because staking high on a single node does not reward high), however trying to run more than one node decreases the amount of stakes that a participant can stake to get selected and the chance of succeeding. Further, running multiple nodes incurs higher cost. Overall, the participants cannot precisely determine whether the net profit of running multiple nodes is beneficial. In a way, EPoS implicitly controls the extent to which any participant is able to run multiple nodes and make profit. Hence, EPoS can be considered to be partially satisfying the NS-δ condition.

4) Finally, the ED-(ε,δ) condition that defines that rate at which the rich and poor stakers make profit should be even, is fully satisfied in EPoS. Consider the below relation for any Si and Sj stakes from the two participants i and j with Si > Sj:

This relation holds in EPoS because the low stakers earns as much reward as the high stakers and over several validation phases, the rate of earning of the consistent high stakers will be lesser than that of the low stakers.

In summary, we found the article and paper very useful and we will keep our efforts ongoing to satisfy the four necessary conditions for full decentralization as fully as possible.

--

--