A lot of effort went into discovering a solution that accomplished our desired goals without unintended side effects. Here is a summary of what we propose to fix it.
Desired Goals
When we originally introduced the concept of curation rewards to Steem our intent was to increase user engagement. We recognized that every time someone votes it provides useful information to everyone else. To be consistent with our desire that all positive contributions should result in earning a fair and proportional stake in Steem.
Intended Outcome
Any user who engages and actively discovers and up-votes content should receive a measurable reward. A properly behaving system should reward natural user behavior without users having to change their behavior beyond being more active.
Another intended outcome is that no one should get “something for nothing”. Any community that has people milking the system without providing meaningful value to the system is going to suffer. This kind of parasitic behavior can stunt the growth of the community.
Unintended Results
We did not intend to create a system that causes people to have to think about how to play. It is obvious that people will attempt to discover any advantage they can get, but a well functioning system should not have any obvious means of getting something for nothing.
A Picture is worth 1000 words
It is very difficult to explain the complex mathematical relationships at play in terms that the average reader can follow. We will leave more detailed explanation for another post geared toward the more mathematically inclined. This picture tells it all.
The yellow line shows payouts to accounts under the new distribution. Green line shows the old distribution.
Under the original rules, @ned and @dantheman were collectively getting 975M STEEM as a result of their voting habits. Under the new rules they would only receive 306M STEEM. Furthermore, only the top 20 curators lose and everyone else gains dramatically. In percentage and absolute terms, @ned is the biggest loser.
What we can infer from this is that Steemit, Inc is not proposing this change to the rules with an intent to maximize our own individual outcomes, but with an intent to maximize the outcome of the platform.
Posting Rewards
Here is the picture that shows the approximate distribution of posting rewards.
Getting more from Bots
One of the aspects to any single curve we select is that bots can win at both extremes. If we were to adopt a very exponential curve then speed matters more than anything: bots win. If we adopt a very linear curve then frequency matters more than anything, bots would win this too.
In both of these extremes the bots are providing the network relatively little information while depriving ordinary people of the vast majority of the rewards. We realized that when all of the bots race to be first, that the order they are included is either “random” or chosen by the witnesses. If frequency matters more, then bots will spam the network to maximize their rewards. We want a system that encourages bots to be selective and strategic while allowing people to behave without thinking.
We thought it would ideal if bots could “pay” to be first. This would eliminate the race and give us more information about the expected value. The more a bot is willing to pay, the higher the probability that there will be many votes that follow. In other words, a bot will only pay to be first if the value of being first outweighs the price they pay. The value of being first depends entirely upon the subjective estimate of the final value of the post.
Our solution is to offer a reverse auction for curation rewards on votes cast within the first 30 minutes. The price starts out at 100% of your curation reward and falls toward 0% over 30 minutes using the curve (1-t2). The longer a bot waits to vote, the lower the fee will be. However, if someone else chooses to vote before you it would lower your potential absolute reward.
When people vote early, the fee is given to the author. In all likelihood the reason people are willing to vote early is because the author has a solid reputation and the content is clearly valuable. If the content is less clearly valuable then it requires more effort on behalf of curators.
Final outcome: those who vote early do so selflessly (rewarding the author), those who vote late are also doing so selflessly. Only those who vote in the critical window will earn high profits from curation and only if they correctly move first without moving too fast.
It is our estimate that most people paying attention to new posts (curators) will naturally vote 10 to 30 minutes after a post is made. This allows time for review and variance in time of discovery. Those who vote naturally will on-average earn a meaningful amount from curation (relative to their Steem Power). There is very little incentive to vote instantly after a post is made unless you really want to reward the author.
Authors benefit from Reputation
Under the proposed system, authors who develop a solid reputation will find that people (and bots) will tend to vote on their content earlier than they do other content. This will maximize the rewards to the authors with solid reputations while minimizing rewards for people curating the obvious.
Discussion Rewards
Until July 4th, the curation rewards will receive 50% of the payouts. After July 4th, 25% of a post’s rewards will be distributed to comments in addition to any reward the comments get from direct votes. This will serve to amplify the value of participating in discussions while reducing the benefits from direct curation.
Decision Time
The question faced by Steem is the same question faced by Ethereum and The DAO. Do we hard-fork to better capture the intent of the curation reward smart contract, or do we distribute initial rewards under the code that fails to capture the intent and only apply the fix to future payouts. The ideal situation would be for everyone who loses from the change to voluntarily consent to the change. This would leave everyone better of and no one worse off.
There are several things we must consider when making this decision.
Code Complexity
The complexity of code grows with order N2 the number of branches / cases. Having two code paths (pre July 4th and post July 4th) will dramatically increase the long-term costs and risks for the network. It means twice as much code to maintain and twice as many unit tests. It means any future bug fixes will take longer, cost more, and likely have more bugs.
All rewards are Pending
We have maintained that all rewards are pending and are subject to the vote of Steem Power holders until they are actually paid out. Once rewards are paid out there are no take-backs. This is why the July 4th deadline is so critical.
The Steem Power stakeholders get to vote for witnesses and witnesses get to decide what changes to adopt. This is part of the overall governance model of Steem.
Consent of those Negatively Impacted
One final aspect to consider is the voluntary consent of those who benefited from or exploited bugs in implemented the intent of the software. A cursory poll of the less than 20 people who lose from these changes shows that at least 48.5% of the lost curation rewards belong to people who support fixing the implementation to match the original intent. We request that others involved voluntarily show their support for the change by stating so in the comments. In this way we can document the consent to fix the intent and prove as much consensus as possible.
New Top 40 Curators
The following are estimates on the rough order-of-magnitude of curation payouts under the proposed changes. These numbers are taken as of June 20th and will certainly change between now and July 4th.
Account Name STEEM
--------------------------------------
dantheman 166,096.399
ned 140,478.062
itsascam 124,287.114
berniesanders 82,746.46
smooth 70,474.192
pharesim 61,377.664
blocktrades 45,220.515
enki 36,447.817
blackjack 30,750.514
fuzzyvest 29,899.892
rainman 23,219.401
firstclass 22,080.283
nextgencrypto 20,267.565
summon 18,935.215
dan 18,350.276
xeldal 17,927.287
tombstone 14,956.534
bitcoin2016 13,514.589
steempty 13,095.631
complexring 12,741.466
roadscape 8,020.037
clayop 6,964.301
benjojo 5,086.087
puppies 4,764.642
hr1 4,758.074
arhag 4,515.24
onceuponatime 4,471.008
xeroc 4,079.835
lafona-miner 3,659.582
au1nethyb1 3,370.918
bhuz 3,134.844
samupaha 3,121.251
liondani 2,409.185
riverhead 2,314.849
justin 1,958.091
wackou 1,801.04
Old Top 20 Curators
This is provided as a point of reference on where the biggest losers are.
Account Name STEEM DIFF
--------------------------------------
ned 601,419.659 -460,941.597 (steemit)
dantheman 357,883.527 -191,787.128 (steemit)
berniesanders 306,528.317 -223,781.857
smooth 255,558.419 -185,084.227
itsascam 209,112.082 -84,824.968
blocktrades 133,541.764 -88,321.249
wang 57,796.624 -57,784.321
dan 57,542.043 -39,191.767 (steemit)
rainman 55,247.331 -32,027.930
steemed 54,110.775 -44,230.869
blackjack 45,042.45 -14,291.936
summon 40,930.91 -21,995.695
tombstone 36,255.739 -21,299.205
pharesim 34,140.918 +27,236.746
enki 26,081.791 +10,366.026
fuzzyvest 23,657.465 +6,242.427
firstclass 23,417.681 -1,337.398
xeldal 15,178.122 +2,749.165
nextgencrypto 13,322.803 +6,944.762
skywalker 12,736.522 -3,621.573
All told only about 19 accounts are negatively impacted and aside from @ned and @dantheman, bot operators are the biggest losers. Of these 19 accounts, some belong to the same people which means 17 people are effected.
Future Changes
As a platform we need to maintain some principles so that others can trust us. Stating these principles early and sticking to them is critical. Once payouts are made, they are irreversible. Until payouts are made they are subject to change by community vote. July 4th was our deadline for getting the curation rewards problem solved after getting input from actual users.
Feedback Wanted
Any of you who would have your rewards adjusted downward if this proposed change were adopted, please let us know if you voluntarily agree to this for the benefit of the wider community. It will significantly reduce potential conflict if we can get everyone on board.