EOS New York
Published in

EOS New York

A Possible Future for EOS Governance: Uniting Stake-holder Incentives to Maximize Decentralization & Chain Performance

The Voter Inflection Point (VIP), Staking Rewards, & Global Block Producer Performance Standards

We’re Still Using Default Settings

Summary of Changes

EOS Governance

The collective decisions we make, how we make them, and the mechanisms we use to enforce those decisions.

Decentralization as a Value Proposition:
Death by a Thousand Cuts

  • Voter apathy and vote capture tactics
  • Consensus’ lack of Sybil resistance
  • An incentive and ability to coordinate votes
  • A general lack of options to obtain an APR on token stake.

The Prisoner’s Dilemma

EOS is currently experiencing a prisoner’s dilemma paradox where those in power focus on protecting themselves and are fearful of the other participants. By avoiding the risk of trying to stop what is happening we end up producing a less optimal outcome than if we were to work together to identify the issues and propose a solution. We’ve spoken to large stakeholders who begrudgingly participate in the current system but feel as if they would be hurt if they tried to step over the line and stop it.

The Arguments for Vote Buying

Vote buying isn’t a huge problem but we do address it in this paper. We think it’s important to take a moment and to try and understand the motivation behind vote-buying on the surface level. It’s clear that we are in a bear market. During these times, token holders may be hurt because of the drop in token value relative to fiat. Block Producers, despite also being in a bear market, have the ability to generate new token returns from inflation. In an effort to keep token-holders from leaving the community, and to lessen their pain, many block producers decide to share rewards with those who vote for them. This is an act of kindness and it’s a great thing. It’s EOS token-holders being taken care of. We recognize this perspective and respect it. But we also recognize that there are other ways to achieve this end.

The Issues

The EOS Voting Mechanic Is A Sybil Attack Waiting To Happen

The EOS Voting Mechanic Is An Invitation To Mesh

Compounding the lack of Sybil resistance is the fact that separate parties can coordinate and mutually ensure spots in consensus through vote-trading. When enough tokens have been obtained, one can leverage the multiplicative nature of token voting, i.e. 1 token == 30 votes, to create a codependent mesh of the same number and mutually ensure consensus spots. When the turnover rate of consensus becomes zero then the system relies on the benevolence of consensus instead of its trustlessness. This is not hypothetical, this is happening now.

Lack of Options To Obtain A Return

EOS does not exist in a bubble, it competes against every other dApp blockchain platform where the concept of “staking rewards” is a common and expected incentive. Yet, EOS remains the holdout. Because EOS has ignored market demand for passive returns block rewards have effectively become “the only game in town” and have become a target as a result. Large token-holders can access block rewards through a myriad of tactics and strategies and provide very little beyond producing blocks in return. This is not hypothetical, this is happening now.

Mining Pools are an Accelerant Toward Centralization in DPOS systems: An Example.

A mining pool is created which promises to return 80% of EOS tokens it earns from block rewards back to any EOS account that delegates their vote weight to a proxy that the mining pool designates and controls. This is wonderful for the token-holder because there are no other opportunities for returns for them at this time. The mining pool starts to accumulate votes. The mining pool uses these votes to propel itself upward in the ranks by voting for themselves and coordinating with others so that votes can be reciprocated.

Additional Motivations: Profit, Prestige, & Power

It would be wrong if we were to purport that “profit” is the greatest and only motivation to obtain a block producer spot because it’s not. Prestige and power are two others. Prestige, being able to wear the badge of honor that is being a top 21 block producer and perhaps being able to leverage its halo effect into driving more traffic for an EOS-based business. And power, being able to have a seat on the “board” of the future of the decentralized internet. No matter what the motivation, those who possess the token weight to vote themselves into a block producer spot will be able to continue to do so in this new proposal.

Flip the Model on Its Head

By implementing the following proposal we can expect:

  • Token-holders become their own mining pool.
  • Coordinating votes is made obsolete by a new voting algorithm.
  • Consensus is less susceptible to coordinated control. There’s neither a reason to own more than one BP nor does the voting mechanic enable it as much as it did.
  • Block Producer rewards are more evenly distributed across BPs.
  • Block Producer production performance is standardized, code-enforced, and directly in the interest of every active EOS stake-holder.
  • Greed can flourish or devour itself since the blockchain operation is always protected.
  • No more involuntary inflation, you choose to subject yourself to it.
  • Distributed resources afforded by the tokens one owns are guaranteed to hold the same relative weight as when they were originally obtained.

Changes to Block Producer & Token Holder Incentives

BP Rank Percentage Pay

Originally, we modeled a system where eosio.bpay was removed and pay was entirely allocated through eosio.vpay. We quickly found that this would be fatal to EOS as it would likely reduce the number of paid block producers to fewer than 30. The reason for this is that there are some actors with tens of millions of EOS and now that the voting model encourages voting for fewer BPs it’s reasonable to expect that they would vote entirely for themselves. One positive aspect of 1 token 30 votes is that it floods the market with so many votes (e.g. there are ~300MM tokens voting but 8.16BB total votes at the time of this writing) that eosio.vpay is relatively flat. But, when you reduce to a single vote for each token, one will end up with as many votes as there are tokens at the most. When a single actor controls 30MM tokens with only 300MM total votes it would mean they also earn 10% of the block producer rewards which inadvertently would reduce the number of paid block producers to begin with.

Block Production Uptime Determines Total Inflation

Changes to the Voting Mechanics

1 token == 30 votes is a large contributor to the current dysfunctional state and would exacerbate the issues identified in this proposal if left in place. We propose that we move from a system where vote weight multiplies with each additional producer voted to a system where vote weight divides with each additional producer vote for. Meaning, (Token Weight/ Number of Producers Voted For). This is similar to “one token, one vote” (1t1v) where a vote for a single BP will carry the most weight and reduces the ability to coordinate. It’s worth noting that this lowers the general approval threshold for producing blocks.

The Voter Inflection Point (VIP)

Examples:

Macro Example

Assume the inflection point is 300MM. Above this number 50MM EOS are issued each year divided across each account that stakes or lends to REX. The total votes on-chain drops to 298MM. The total EOS issued per year is dropped to 10MM and distributed to BPs and Standbys using rank pay. Staking rewards for token-holders are suspended until the total tokens voting is 300MM or more.

Micro Example

A token holder has 10,000 tokens, stakes them, and receives 500 EOS per year. If the token-holder votes they receive 50% of the reward, divert 40% to the BP reward pool and 10% is automatically burned/retired or earmarked. The token holder’s annual yield is 250 EOS, 100 EOS is burned or earmarked, and 150 EOS goes to the BP pool.

Changes to Account Level Voting

It stands to reason that the VIP value should be optimized for equilibrium and that every measure should be taken to ensure token-holders have the tools to allow for easier decision making to that end. Currently, a single account must vote with the same amount of tokens they have staked. Instead, we propose that we disconnect the number of tokens staked to be disconnected from the amount tokens voting which provides a better user experience. For example, a token-holder determines that they would like to vote only with 50% of their tokens and stake the other 50%. This change would allow them to do that within one account rather than be forced to split it into two.

The Expected Effects

  • The total amount of votes will always hover near the inflection point, standardizing the capital threshold of attack against EOS.
  • Return-seekers would likely withdraw from voting unless it meant dropping below the VIP. The incentive to capture consensus is replaced and entities will choose to stake rather than register multiple BP accounts.
  • BPs primarily motivated by power and/or prestige can continue undeterred.
  • EOS consensus becomes more Sybil resistant because vote weight cannot be multiplied across BP accounts at zero cost. Every vote has a cost.
  • Coordinated votes cannot exist due to the divisible nature of vote weight. For relinquishing this power, large token-holders are compensated.
  • Proxies become primarily tasked with maintaining the VIP instead of focusing on which BPs to vote for.
  • There is likely global cooperation among all large stake-holders to maintain the VIP and optimize their stake.

Summary of Proposed Changes

  1. Dynamic inflation is replaced with static inflation (e.g. 50MM flat per year vs. 5% of supply per year).
  2. 1 Divisible Vote replaced 1 Token 30 Votes.
  3. Staking or lending to REX awards an account with staking rewards.
  4. An account that votes for a BP diverts 50% of inflation away from itself and 10% is burned while 40% is sent to the BP reward pool.
  5. If too few tokens vote then staking rewards are shut off, total inflation reduces, and 100% of inflation is now awarded to BPs until such time as the voting threshold is met again.
  6. Accounts can now set the number of tokens staked and the number of tokens voting independent from one another within a single account.
  7. Bpay and vpay are replaced with rank pay percentage.
  8. Block Producer performance determines the total inflation within any given period which materially affects the returns of all stake-holders.

Conclusion

We believe that these changes successfully separate return-seeking from governance with a failsafe that kicks in if voting and BP pay drops below a critical level and threaten chain operation. The incentive to coordinate votes is removed. Token-holders become their own “miner” and receive a return for staking or lending to REX. The traditional staking model guarantees that resources are not diluted over time and may attract new token-holders to EOS. EOS consensus becomes more Sybil resistant because votes are not multiplicative. Above all, the search for an equilibrium point between altruism and greed becomes a normal and necessary dynamic baked directly into the EOS governance model itself. We feel that potential businesses will feel confident and secure with this model from both governance and resource management perspectives.

Approval & Deployment Plan

EOS is simply too large, too valuable, and too unpredictable to change all at once. Not only technically but culturally. With this in mind, it’s important that we understand that this proposal is written to describe a larger picture, and not intended to imply a simultaneous roll-out of all changes. Therefore, the following stages are proposed to implement changes slowly in an order that allows for the larger picture to come together with the least disruption at each stage. We have already begun the technical scoping for all the changes that we’ve proposed.

Step 1:

Adjust voting from 1t30v to 1t1dv.

Step 2:

Inflection point added, not turned on, no staking rewards yet.

Step 3:

BP pay adjusted to rank % pay, bpay and vpay removed. Block Producer uptime tracked on-chain for total rewards.

Step 4:

Account-level changes for allowing for staking & voting to be two different amounts for one account.

Step 5 & 6 Simultaneous:

Inflation rate adjusted, staking rewards turned on.

The Authors

This proposal was written through the combined efforts of multiple organizations and is not the work of EOS New York alone. Most notably, we would like to highlight the $10K USD equivalent donation that Cypherglass has made to fund the development of these changes. Thank you to everyone that contributed to developing and modeling these ideas.