Blurt Economics: The Convergent-Linear Reward Curve Made Equitable

in blurtopian •  4 years ago 

I am currently working on helping to improve the Blurt cryptoeconomics in such a way as to either amend, change or remove legacy features inherited from Steem. The convergent-linear reward curve has been much misunderstood, much maligned and pretty much left unaltered since it was introduced. Here I wish to show that the curve has some merits when its parameters are chosen wisely.

Two questions:

Does the convergent linear curve have any useful properties?

If so, can the parameters be changed to be more appropriate to the Blurt economy?

Firstly, what does convergent-linear actually mean?

What does it look like?

If we pan out to see the full graph, we discover that it is a form of hyperbola. We don't usually think of it as such because we're only interested in the first positive quadrant.

You can play with the graph at Desmos, if you so wish.

If we zoom into that quadrant, and add a proportional line (in green) for comparison, we see its full effect on voting. The horizontal axis plots the rshares generated by a vote and the vertical axis shows how those rshares a converted into recent claims - it is those claims that eventually become BLURT rewards.

The whole point of having a "reward curve" is to transform votes into potential rewards. The final step in the process involves global parameters such as the reward pool but today we shall focus only on the effects of the reward curve.

Notice that the curve is now running parallel and very close to the linear curve, hence it converges to being linear. Note also that linear does not mean proportional - this convergent-linear curve will always be slightly below fully proportional. However, also notice along the horizontal axis that we are in the region of about 100 trillion rshares.

Let's zoom in a bit more:

A key feature of the graph in this region is that you see how it diverges from linearity at the start and then straightens out to be parallel to the linear curve. Note also that at 1 trillion rshares, the claims generated are only about 60% of what they would be if the reward curve was linear.

A reminder that this is an important feature of why the convergent-linear curve has been a poor economic incentive for anybody at or below the average vested stake. It is not the fault of the curve itself, as we shall soon see, but in the way the parameters were chosen by its original designers.

We see this more starkly in one last zoom into a region with rshares more closely aligned to those of Blurt.

Notice that at this level, both lines appear proportional, with the reward-curve at exactly half the values of the comparison one-to-one linear curve.

I don't wish to overwhelm this post with graphs, but the current reward-curve drops below zero for rshares under 50 million, as discussed in this recent post about the voting dust threshold.

So where does this value of 0.5 come from? Why are most voters yielding only half of what whales can achieve?

This is not about smaller accounts having a lower BP and hence generating smaller vote values - that all seems clear and natural. It is that each vote as a percentage of BP gets higher as one's BP increases. Indeed, the curve as applied to a whole post means that smaller accounts are incentivised to vote for existing high-value posts just so their votes are worth more. As a consequence, this has the potential to lessen the support all users give to each other based on content rather than existing pending rewards.

Anyway, here come some formulas!

Convergent-linear for small rshares

The fundamental relationship between rshares and recent claims is:

where r is rshares, c is recent claims and s is the constant value chosen as 2x1012.

If r is small compared to s (r<<s) then the claims approximate to 2r/4, or 0.5r - half the value of the proportional curve.

Those two innocent-looking coefficients, the "2" and the "4", are in reality crucially important in defining how the formula works for low and modest votes.

If we rewrite this formula as:

you will see that claims for low rshares approximate to A/B multiplied by r. We are thus perfectly free to change the values of both A and B to adjust low-value votes, without it affecting its behaviour and convergence for large values of rshares.

I would suggest something like A=4, B=5 (giving 80% of r), or even A=9, B=10 (giving 90% of r). Gone are the days of minuscule upvotes for the masses!

Convergent-linear for large rshares

So what does the value of s do? Within the code, this parameter is known as the content_constant (BLURT_CONTENT_CONSTANT_HF21) and is defined as 2x1012 in config.hpp.

I've investigated this parameter, and what it really does is change how quickly the linear convergence takes place - the larger the number, the slower the convergence. In essence, it can be used to define what a "whale" account is within Blurt. Given that it is combined with rshares, it mustn't be too small. It could even be left well alone! However, a value of 2x109 would work well in Blurt as the number of vests is much smaller than on Steem.

In conclusion, I would advise to set the reward formula with A=4 and B=5 and the content_constant to 2000000000.

Understanding what these numbers do will mean future adjustments can be done with some confidence in their effects.

But... (there's always a but)...

Why not just ditch this whole convergent-linear curve and go full linear? Good question.

Let's first take off the table two other options: super-linear and sub-linear. Super-linear would be something like the old quadratic rewards curve on Steem, which meant the larger accounts grew far more quickly and bloated their way into the stratosphere. This isn't good for the whole economy. Sub-linear would be something like a square-root or logarithmic function that would grow more slowly as the numbers increased. The problem here is that it incentivises splitting large accounts into smaller alt accounts. This means the consequences of a flatter curve would never really be felt as many large accounts could split into smaller units.

So we're left with comparing the convergent-linear with a truly linear curve. Let me clarify again some nomenclature: a linear curve is anything of the form c=p.r+q, where p and q serve as parameters, p is the gradient and q is the intercept. When most people speak of a "linear" curve, I think they have in mind a proportional curve, one where c=p.r, with p still the gradient. Furthermore, I think many people also have in mind that the two quantities are actually equal to each other. This is, indeed, the green graph shown above, where c is in a one-to-one ratio with r. I just wanted to make such things crystal clear so that people are not arguing over sloppy terminology.

A true proportional curve is agnostic to account size; there are no benefits and no penalties for creating multiple accounts. However, the convergent-linear does promote keeping one large account per user. This effect depends on the "gap" we see in the second graph between the two almost-parallel lines. This is also where that content_constant kicks in, and where a higher value slows down the convergence and hence keeps that gap slightly larger. This effect is small but given that a human individual may open multiple accounts with ease, this may be a consideration in avoiding an economy over-run with Mini-Me clones.

And finally...

Although I have always disliked the way Steem implemented their convergent-linear rewards - their choice of parameters, the non-removal of the vote dust threshold and the lack of real analysis - it does have some advantages over a simple linear reward-curve. With appropriate choice of parameters, the curve can be approximated to being linear either quickly or slowly, and the initial divergence can be narrowed or widened. It also encourages people to focus on one main account as it is slightly more efficient than creating alts.

As the Blurt economy grows, it may well be necessary to change some of those parameters. This even holds out the possibility that such parameters can be turned into variables and adjusted automatically based on economic factors. This makes it a more subtle economic lever than other reward curves being considered.

I know this was a bit long, so all comments and questions appreciated.

I haven't as yet opened an issue on Gitlab as there are a few things up for consideration.


images: graphs from Desmos, formulas from codecog, fandom


Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE BLURT!
Sort Order:  
  ·  4 years ago  ·   (edited)

Hi, thank you very much for this detailed article, which I'm sure caused you a lot of work!

I think the most fair is a straight line.

I prefer that there are no cuts in the lower area and no raises in the upper area.

Edit:

Now I have reread your article and think that I can now express myself more clearly.

When most people speak of a "linear" curve, I think they have in mind a proportional curve, ...

A true proportional curve is agnostic to account size; ...

So the "proportional curve" is what I would like to see for the benefit of small accounts (newbies).

[EN] Thank you for the detailed explanation and definition. The proportional curve (c in the ratio one to one with r) is the fairest variant and should be our goal.

Every person may have only 1 account as @double-u suggests in his Wishes for BLURT, makes the unpopular convergent curve obsolete. For this we would need a way to mark accounts as "human", like BrightID does.

I suggest to go in this direction and announce this publicly. This way people who have or want to create subaccounts for abusive purposes will know right away that they have no future here on Blurt.


[DE] Danke für die ausführliche Erklärung und Begriffsbestimmung. Die proportionale Kurve (c im Verhältnis eins zu eins mit r) ist die fairste Variante und sollte unser Ziel sein.

Jeder Mensch darf nur 1 Account haben so wie @double-u es in seinen Wishes for BLURT vorschlägt, macht die unbeliebte konvergente Kurve überflüssig. Dazu bräuchten wir eine Möglichkeit, Accounts als "menschlich" markieren zu können, so wie es z.B. BrightID macht.

Ich schlage vor, in diese Richtung zu gehen und dies auch öffentlich anzukündigen. So wissen Leute die Unteraccounts für missbräuchliche Zwecke haben oder erstellen möchten gleich Bescheid, dass sie hier auf Blurt keine Zukunft haben.

  ·  4 years ago  ·  

There are legit reasons for a person to have multiple accounts.

I would focus on algos that define what a bad actor does rather than assuming everybody is potentially one and hence needs to be restricted.

BTW set A=B in the formula and it immediately becomes proportional :-)

Ok, we make A=B :-) (A=4 and B=5 is also a good direction)

Can you approximately say, where the point is where the current curve converges to being linear? Measured by the vote value in Blurt. (At Steem it was about 20 STEEM, if I remember correctly.)

  ·  4 years ago  ·  

Interesting how certain numbers just stick in the memory. That "20 STEEM" was another simple fabrication by the Steem devs to placate the masses and hide the truth.

I tracked down an exchange I had at the time here so that I can now replicate their fantasy. The curve is smooth, there are no cut-off points. That value of 20 comes from estimating c=0.7r, which I note with a smile is already very low. Had the original calculation been honest, it would have chosen something like c=0.9r, yielding a much higher value than 20 STEEM.

Anyway, if I plug that into the Blurt economy, I get a very large number that nobody is going to get! Honestly, it's huge, and that's because the rshares Blurt generates are smaller than Steem but it is using the same equations. On the plus side, everyone on Blurt is in the same boat! In terms of disparity between whales and redfish, the current implementation is being fair to all - apart from those posts below 50 million rshares.

So, at the moment on Blurt, everyone from whales downwards are actually experiencing a reward curve with a gradient lower than 1 - between 0.5 and 0.7 - and my 3rd graph above is actually the best representation of what is going on at the moment. Fixing the dust-threshold and the reward curve will change this dramatically. Given the calculations your question has prompted, my recommendation within the post feels even stronger :-)

In conclusion, I would advise to set the reward formula with A=4 and B=5 and the content_constant to 2000000000.

  ·  4 years ago  ·  

@michelangelo3 there are indeed legit reasons for having multiple accounts @rycharde pointed out, such as keeping assets safely spread across accounts, cold vs hot wallet, if you have a business or project on Blurt it might need its own account etc, I would like to see some form of proof of unique humanity and only those accounts are to receive rewards, but realistically such a solution is not in the scope of 2020, HF 0.3 will hopefully be in November with the other improvements and something like this would be more for 2021.

Yes, of course there are reasons for multiple accounts, I don't want to exclude that. I have two more accounts myself, one for testing purposes and one that I want to use as a recovery account.

I would like to see some form of proof of unique humanity

Preferably without having to prove his identity by document. That's why I invested some time to get verified by BrightID. The idea behind: Through a partnership, users from BrightID find to Blurt and in return we would also bring BrightID new users. Win-win.

Ah - new users, at the end of BrightID Applications is a graph with the number of users, rising very nicely for such a new project.

If we are interested in a partnership, maybe 2021, I can ask Adam or Alireza from the BrightID team if they are interested too. These two are very enthusiastic, reminds me of Blurt ;-)

  ·  4 years ago  ·  

Sir here is my current blurt account, Mashooq Ur Rehman

I heard from "jacobgadikian."
That "rycharde" is a Burt math ghost.
I'd like you to take a moment to review my comments on the link below.
It's about the author and investor compensation ratio.
I'd love to hear from the math ghost, "Richard."
I'm anxious for it.
Thank you.

https://blurt.blog/blurt/@bitcoingodperson/we-ask-the-blurt-foundation-and-the-blurt-witnesses-to-make-suggestions-on-the-author-and-investor-curation-compensation-ratio