A serious attempt at repairing the STEEM Economic Improvement Proposal (eip) for HF21steemCreated with Sketch.

in #hf212 years ago

The Economic Improvement Proposal seems to have made its way into what is going to be HF21. While the narrative behind the proposal is believed to make sense enough that both Steemit Inc and most of the top 20 witnesses have given their support to the proposal, both the math of the convergent linear reward curve and at least the last few weeks of transactions when we apply the rules of the first two parts of the EIP to it, don't seem to actually support the narrative.

The only incentives that recent data truly reveals when applying a 50/50 split and different versions of the proposed convergent linear reward is that created by the reduced ROI on bid bot usage and an increased ROI for its owners, but this should clearly self correct for the bigger bid bots. A second incentive that reveals itself is through the data is that for reducing social interaction. Comments. Many of the convergent linear reward curve make social interaction on post significantly less attractive.

But with neither the math nor the recent transaction history agreeing with the EIP narrative, neither of them get any vote on HF21.

I tried before to create a counter proposal before. But as that counter proposal was way to different from the EIP, it was a completely futile attempt.

In this post I want to pose a minimal set of changes to the existing EIP that I believe could:

  • Take away much of the undesirable effects from the EIP on new accounts and the potential for growth for the platform.
  • Take away much of the rich getting richer and other unfairness attributes that are intrinsic to the current proposal.
  • Improve on the incentive part of the proposal that the EIP attempts

Let us look at the three components of the current proposal:

  • Move from a linear rewards curve to a convergent linear rewards curve
  • Increase the percentage of rewards that are distributed to curators (and reduce what goes to the author)
  • Create a separate down-vote pool.

I want to propose two fixes to this proposal that leave the spirit and most of the implementation of the original EIP intact, while improving on both incentive creation and on reducing the negative impact from its implementation.

Fix one: Move from a linear (n) rewards curve to an nS^Log(n) instead of an Sn²/(Sn+1) reward curve.

If we want to look at the proposed Sn²/(Sn+1) convergent linear reward curve and look how these compare for the influence of different fish sizes, the best way to look at this is by plotting the influence per unit of vesting against the total units of vesting used in a set of voting actions.

In the above graph, the blue line is the fair linear reward, where every unit of vesting results in the exact same influence regardless of how many units of vesting an account has. The other lines show a few of the possible convergent linear reward curves. What they also show is that all these curves don't scale very well in terms of incentive and impact on the little guys. Either:

  • a curve creates incentive for dolphin sized accounts not to break their stake up into a hundred red fish sized accounts and is relatively friendly for new accounts but does absolutely nothing in terms of incentive to stop an orca or whale size account to split her stake up into a hundred minnow or dolphin accounts respectively.


  • a curve creates incentive for an orca or whale sized account not to break their stake up into a hundred minnow or dolphin sized accounts and screws over new accounts so badly that new accounts have next to no influence at all.

What I want to propose is to instead of a Sn²/(Sn+1) reward curve, opt for a less dramatic and fully scaling curve of the form nS^Log(n). Let us see how such curves work out below:

As you can see, the nS^Log(n) shaped curves create the exact same level of incentive across the full spectrum of fish sizes to not break their stake up into hundreds of smaller accounts in order to play the system, and in doing so, creates no need to screw over new account in an any way disproportional way.

Fix two: Curator/Author buckets.

The second fix applies to the combination of the following two measures from the EIP:

  • Increase the percentage of rewards that are distributed to curators (and reduce what goes to the author)
  • Create a separate down-vote pool.

If we agree that the prime types of behavior we want to disincentify can be captured with the name false curation, and if we agree that giving a lower chunk of the reward pool to authors in a consequence, not a goal of the measures, we can create a situation where , using separate buckets for curators and for the authors of a post should result in the right incentives without any net changes to the division of the reward pool between curators and authors.

Consider the following implementation of the above parts of the EIP:

  • The normal reward pool is increased by 25% of its current size, countered by a separate down vote pool with a size of 25% of the current reward pool, thus, together, resulting in the same level of inflation.
  • Instead of the current 1/4 3/4 split between curators and authors, 1/3 of the RSHAREs of the up votes end up in the curators bucket and 2/3 of the RSHAREs of the up votes end up in the author bucket.

Now one simple rule to both repair the net division of revenues and to improve insentive against false curation:

  • Instead of the current 1/4 3/4 split between curators and authors for the impact of down votes, 2/3 of the negative RSHAREs from down-votes end up in the curator bucket and only 1/3 in the author bucket.
  • Only if by pay-out time the curator bucket holds a negative RSHARE count, this negative count is filled up to zero with positive RSHARES from the author bucket .

The great thing about picking these specific numbers, is that when there is minimal bucket overflow, the resulting net split of rewards between authors and curators for the whole platform would pan out to the current split, with higher rewards going to curators of unflagged content and significantly lower rewards to curators of flagged content.

How to get Steemit Inc and top witnesses to consider these fixes?

I seriously have no clue about this one. Is there a formal way to make proposals like these? For now, I just try to name @yabapmatt , @steemitblog, @lukestokes, @someguy123, @blocktrades, @curie, @good-karma, @aggroed, @roelandp, @gtg, @thecryptodrive, @timcliff, @themarkymark, @smooth, @therealwolf, @ausbitbank, @ocd, @ocdb, @acidyo, @anomadsoul, @anyx, @cervantes, @clayop, @followbtcnews and @drakos and hope one of these witnesses can bring these proposed fixed to the attention of the rest of them.

I personally think these two fixes to the existing EIP proposal increase incentive and decrease the undesirable side effects of the original EIP. I truly hope that somehow these proposed fixes to the EIP can be put to a vote between the witnesses before HF21 becomes a fact, because I fear for some of the unintended consequences of the current EIP, most specifically those of the convergent linear curves proposed.


last few weeks of transactions when we apply the rules of the first two parts of the EIP to it, don't seem to actually support the narrative

This is fundamentally an invalid way of evaluating such a proposal. Core to the proposal (and also a reasonable assumption) is that it is intended to change behavior. Back testing it in this manner is literally garbage-in garbage-out.

Apart from that methodological criticism, your other ideas may well have merit (I'm not judging either way), but it is a long way from that to actually seeing them implemented on the blockchain. The ideas behind the EIP have been explored carefully for several months to in some cases the better part of three years and the degree of advocacy, education, slowly-gained understanding, and consensus-building behind it may not be apparent at first glace, but it is extensive.

If you want to see your ideas move forward realistically: a) you should be presenting it as perhaps an EIP 2.0 rather than alternative, b) you will have to follow through with promoting the ideas to stakeholders and devs both individually and via public posts over what is likely to be an extended period of education and consensus-building. I'm not suggesting whether you should or should not do this, that is up to you.

You provided great and insightful ideas. I agree with you that the core problem is false curation which include circle-jerking, voting bots, over self-evaluation, etc. I think that these curation behaviors generate Steem token at near zero cost and presse down the price.

Especially, I like your second fix, while we need to consider specifica numbers. IIRC, you meant downvote should be asymmetrically applied, and curators are panelized more than authors.
I think it can effectirvely destruct voting bots (cool!) and have same disadvantages to self-voters of circle-jerkers because the total(author+curator) decreased reward is same.

Make curation great again!

the last few weeks of transactions when we apply the rules of the first two parts of the EIP to it, don't seem to actually support the narrative.

I assume you have a link to this? And it studies post payout distribution under the new curves? Note that this isn't enough to demonstrate effectiveness (or lack thereof), because incentives will be shifted significantly and change the distribution of posts and claims.

Concerning the split stake: splitting stake is as neutral under EIP as linear. If you are saying that the curve is a direct measure of influence, this is not correct because the reward curve is applied on top of the total rshares of a post, not to each individual vote (forgive me if you already knew that, but this is not obvious). Meaning, 10 votes of 10 rshares does the same to a post as 1 vote of 100 rshares.

I have to admit I do not understand your curator author bucket split. Will probably need some examples on how it works.

Currently, I only have a 2 week run results in an arangodb instance, maybe I'll try putting part of the result into a blog post later.

Let me give a few example with the buckets.

Example 1:
Lets say a post gets 1000 RSHAREs in upvotes and no downvotes under the current system. The author would get about 750 RSHARES and the curators about 250 RSHARES.

Example 2:
If next to the up votes, the post also gets 500 RSHAREs worth of down votes, the author would get about 375 RSHAREs and the curators 125 RSHAREs

Example 3:
If we look at scenario 1 and see what happens in our bucket version of the EIP, the total RSHAREs would be 25% higher for the same voter VESTS, the author would get 833 RSHAREs (2/3) and the curators 417 (1/3)

Example 4:
If we look at scenario 2 and look what happens in our bucket version of the EIP, we get 833 positive RSHARES (2/3) and 208 negative RSHARES (1/3) in the author bucket and we get 417 (1/3) positive against 417 negative RSHAREs (2/3) in he curator bucket. This means the author gets 625 RSHARES while the curators get zero.

Hope the buckets concept make sense like this.

What are your thoughts on the nS^Log(n) curves?

What are your thoughts on the nS^Log(n) curves?

Better than n^2 in terms of posts of runaway value, but rather uncertain about the fairness of it. Because it's logarithmic it strikes me as possibly okay, as it really doesn't grow all that fast at all.

Speaking of the curve, the choice that's being settled on in the code looks like

(((n+s)^2 - s^2)/(n+4s)

Still have to think on the buckets a little but figured I'd respond with this first

Suppose a selfvoter abusing plagiarism. He upvotes himself with 1000 rshares, and after that he receives 1000 rshares in downvotes. Let see what happens:

  • the author receives 666 - 333 = 333 rshares.
  • and curators receive 333 - 666 = -333 rshares... as this number is negative, it is changed to 0.

In conclusion, the plagiarism receives 333, and downvoters lose 333 for nothing (they put 1000 where only 666 where applied).
If downvoters want to give 0 to the author, they have to use 2000 rshares in downvotes (twice as much as in upvotes). So it will be more difficult to fight plagiarism, and bad content.

You forget about the second proposed rule:

  • Only if by pay-out time the curator bucket holds a negative RSHARE count, this negative count is filled up to zero with positive RSHARES from the author bucket .

The idea is that at pay out time a "negative" curator bucket is filled up to zero with what remains in the author bucket first. So at 1000 and -900

  • the author bucket receives 667 - 300 = 367 rshares.
  • the curators bucket receive 333 - 600 = -267 rshares. This is negative and needs to be filled up to zero if possible at pay out time.
  • After filling up the negative bucket to zero, there is 100 rshares left in the author bucket.

I admire your positive attitude. But the King already speak.

God bless the whales.

Posted using Partiko Android

Nonsense. The proposal isn't set in stone, I'm sure there is still room for discussion and debate.

Posted using Partiko Android

If you say so... I cant imagine that

Posted using Partiko Android

You were right that it's pretty much been decided, I was under the impression that this was actually still debated and not yet that finalized but from reading the other responses I was mistaken.

Posted using Partiko Android

The n^logn curve seems quite steep in its super-linearity

The current curve being considered is (n^2+2cn) / (n + 4c) which seems to be a lot fairer as it has a subtle dent at the beginning and quickly becomes linear

The idea of having downvotes hit curation harder than author is interesting. I don't know if it's needed right now, but could be considered later.

Curation overall could definitely use an overhaul as it will play a much larger part post EIP. Curation curve, 15 min auction timer, auction curve, etc are all things we should reexamine after the initial EIP is released.

The EIP is primarily concerned with attempting to encouraging large scale honest voting behavior. That is getting people to vote based on some subjective assessment of content rather than just using them as a form of staking returns in a way that's entirely indiscriminate of content.

Not n^Log(n), n x S^Log(n), or more easy to reason n X S^Log10(n).

The main fairness component in a n x S^Log(n) curve comes from the fact that it works the same way with the same relative price for undesired behavior at every scale.

For example if we choose a 10 base for the logarithm with S=1.05, the price of braking up your stake into 100 puppet account will be a reduction of influence to 1.05^-2 or 90.7% regardless of your stake size prior to brake up.

Braking up a whale sized stake into 100 dolphin accounts will come at a 9.3% cut in single vote influence as would braking up an orca size account into 100 minnow sized accounts or a different login account into 100 red fish sized accounts.

I see.

It's similar to your other suggestions. Keep in mind that the effect we're looking for is to just deter very small votes that are trying to escape the notice of potential downvotes. We're not really trying to make it more profitable for larger stakeholders generally, even if it's just slightly.

So the idea is that because it's pretty hard to hunt down thousands of 5c posts. We're just going to make posts at the low end somewhat less profitable to the point where you might as well just curate. We're not really looking to confer a bonus to big accounts for reasons beyond this.

Also the rewards curve has an effect on a per post basis, not per account. So it doesn't serve to have people combine all their sockpuppets into a single account for an advantage, if that's what you were implying.

A 5ct post at this point requires the strength of about ten dozen brand new accounts, so it is already a full orders of magnitude above a post that gets up votes from a dozen of brand new accounts and two orders of magnitude above a new account giving an up vote on a comment on a post of his. I think it is important to keep the impact on the influence on new accounts, and the impact on small account vesting Vs dust level, in mind when looking at these curves.

But my main point, let's stick to the 5ct example. A 5ct post at this point in time could be a single post with votes from four 100% votes on it from four different 1MV accounts. These could be four out of a hundred 1MVEST accounts belonging to the same person created because 1000 votes by 100 accounts on 250 posts are less likely to be flagged as 20 up votes on 20 posts by two 50 MVEST accounts.

The same though is equally true with respect to 100 10MVEST accounts Vs two 500MVEST accounts or 100 100MVEST Vs two 5GVEST accounts. Consolidating vesting in less accounts prevents obfuscation of behaviour at all levels equally, and as the scale runs from a comment up voted at dust level by a single brand new 30KVEST account up to posts up voted by a multiple whale and bid not accounts, it would see logical the same insentive we need to create to keep our 100MVEST stake holder from breaking up his stake in an attempt to keep his (automated) false curation at least partially under the flagging radar, should apply equally at all sizes of total stake.

The goal of the n x S^Log(n) curve is to penalize the 5ct1000 Vs $2.50 * 20 scenario in the same way the EIP curve does, but without a disproportionate hit on the part of the economy between dust level and 5ct posts, and with an equal penalty for for example the 50ct1000 Vs $25.- * 20 scenario.

Hope I'm making sense with all of this.

sure, you want to spread out the superlinearity more

have you seen the actual curve? It's more or less doing this and is probably already too subtle


I think it does what you want it to anyway, at least if not precisely, it's unlikely to be bad enough that you'll be too obstinate about it

I'd like a little bit of superlinearity that does this:

  1. strong enough that it deters spam micro votes
  2. weak enough and with a linear cap so you don't have collusive groups piling up at the top end and then splitting the higher rewards
  3. with 1 and 2 in mind, be as fair as possible

I'm not in charge of the curve at all mind you, just want one that vaguely gives us 1 2 while mindful of 3. If anything that curve is a little too subtle.

I don't think in practice genuine micro interactions will lose out really. If we can get the majority of rewards that's currently being drained and force them into honest voting, which is the idea, you'll likely see far more rewards overall flow towards the low end as well, despite the on paper loss

your curve would probably work with some S value that'll likely need to be a little bigger than the one you have. But I'll be a little afraid of it being uncapped later, honestly not sure why you want that.

anyway, I personally feel that the curve they're going for is better than yours because yours is probably a little insufficient at achieving 1 and has a risk of collusive pile ons at the extreme end. But if you're able to convince them to adopt it, it's likely within a range i'd find pretty acceptable.

By far the most interesting idea of yours is downvotes disproportionately hitting curators over authors (putting aside that exact implementation which probably has problems, i mean conceptually it's interesting). I don't really agree that bad curation is currently a problem (it's overall dishonest voting) but it could be a problem in the future. I agree that downing author rewards over curation is a side effect rather than an intended effect (but others would not agree on this, they find inflation going into SP holders to be an important incentive to hold SP and thereby maintain protocol security).

Nevertheless, this measure would be one of the very few that could directly decrease the 'stickiness' of an established author with a automated curation trail. It has some weird side effects like resulting in two posts of identical payouts distribute the rewards differently depending on the number of downvotes. Maybe after the EIP when a better equilibrium is reached we'll consider it if established authors are too 'sticky'

Plotted a sample of the two together for a better picture of the difference:

Thanks for taking the time to post these proposal's. We will be looking at and studying these today. I will get back to you later about my thoughts on this...

Why I can't repost your post? It's weird.

Coin Marketplace

STEEM 0.70
TRX 0.11
JST 0.105
BTC 51402.73
ETH 2365.70
BNB 500.43
SBD 6.34