Ideas on EOSIO governance and resource model

As we’re into almost 1.5 years of EOS operation, there are many lessons learned, and here are some ideas that could probably be used for a new public EOSIO chain.

Separate resource from voting

In all current EOSIO networks that I know, voting power is proportional to CPU+NET stake of an account. As a result, voters are reserving the bandwidth that they never use, and that leads to suboptimal resource allocation.

delegatebw and undelegatebw can be reserved to pure resource allocation as it is now. Also undelegatebw doesn’t need to wait for 3 days and can have immediate effect. A new set of actions can be developed to stake liquid tokens for voting, so that voting tokens are separated from resource allocation tokens.

Voting done differently

The goal is to make vote trading and Sybil attacks unprofitable. Also it will be great to limit the power of whales, so that regular users have a say.

The concept of quadratic voting has been discussed since long time, also outside of blockchain: the voting power of an individual is proportional to square root of their capital. The problem with a public blockchain is that the capital can be easily split among multiple anonymous accounts and the sum of square roots will be higher than square root of the total amount.

So, the large voters need to be motivated not to split their capitals. One of approaches is to reward long-term voters from inflation, so that splitting the stake reduces the total rewards. Also the rewards should be big enough to make vote trading unprofitable.

It needs detailed modeling and testing effort, but the implementation might be as follows:

  • 1% of inflation is distributed to voters that are voting since at least 1 month, but not higher than 0.1% of total rewards pool for one account (so that we can have more than 1000 motivated voters).

Block production, governance and infrastructure

There are several different jobs which are now delegated to block producers in most of public networks:

  • Block signing. This requires a server infrastructure with sufficient performance, network stability, fault tolerance, and a stable p2p network.

These five different jobs don’t need to be delegated to the same entities. Also they can be funded from five different budgets, and in each category voting can be performed separately.

Probably governance should be hierarchical: fundamental decisions would be made by the whole community, and daily operational work is done by a compact team (such as preparing proposals for public voting, responding to attacks, system upgrades). The core team would be elected and re-elected on a regular basis.

Probably there should be an incentive to vote with the voting tokens and not just collect dividends. On the other side, people should not be encouraged to vote randomly, just to get the rewards. This needs brainstorming.

Thoughts and comments are welcome in Telegram chat or in direct messaging.

Telegram: cc32d9, EOS account: "cc32dninexxx"

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store