This is a continuation of my thinking from the article:
I want to put out a possible alternative staking algorithm for discussion and feedback. Consider the following alternative rule set, as a possible way to implement Blumer’s suggestion. (This is my own idea, not endorsed by Mr. Blumer, Block.one or EOS.io.)
- A particular token may only be staked to one Block Producer at any given time.
- A token staked to a given Block Producer is locked, and requires a period of time to be unlocked. (30 days, for example).
- All tokens staked to a particular Block Producer shall be collateral for good performance by that Block Producer.
- Block Producers are free to negotiate with their stakers however they see fit.
The tricky bit is number 3. If bad performance can be quantified as something that a computer can recognize as true/false, then it could be enforced on chain. Otherwise, it would require an arbitrator or human judge, which has proven to be a big can of worms.
Let’s say that “bad performance” is defined as failing to forge blocks on time, or forging invalid blocks with one or more transactions that break the rules.
If a BP triggers the condition of “bad performance” the staked tokens would get locked, the BP gets kicked off the top 21, and then a human has to decide what the damages are and who gets paid from the collateral tokens, and then refund the remainder to the token stakers.
Traditionally, that is what judges and arbitrators do. I’m not sure it is possible to write a computer program to fulfill this function.
This set of rules is on-chain enforceable, except for deciding what to do when “bad performance” has been triggered. It provides the right set of incentives to both users and block producers.
Users may be paid a return for staking their tokens to a block producer. But by staking their tokens, they are also taking some risk on the performance of that block producer. They could lose their tokens if the BP performs badly.
This set of rules follows the principle that Nasim Taleb calls “skin in the game”. The decision makers must put their money at risk to get the benefit of their decision. This leads to good decisions most of the time.
This solution might not be the best solution. I just wanted to get the conversation going, and get people thinking about how to balance the risks with the rewards.