Proposing Steem Equality 0.19.0 as the Next Fork

in #steemit8 years ago

This hardfork is about one thing: Improving the rewards curve

While developing Steem Simplicity (0.17.0) we began looking into changing the rewards curve for comments. The primary reason was to distribute rewards more evenly and reduce the unbalancing effect of vote concentration. The initial proposal was well received and we were asked to do the same for posts. We had underestimated the desire for a flatter rewards curve. The solution we initially designed was too complicated and did not meet the community's goals. The curve was scrapped and we decided to postpone the change to give us suitable time to further discuss the implications and choose the right curve.

Linear Rewards

We want to move forward with changing all content rewards to a linear reward curve. This had been suggested by multiple people and through our research we agree that this is the best choice to grow the Steem community into the future.

With the introduction of a linear reward curve everyone will have a say directly proportional to their stake.

Curation Weight Curve

As with past changes to rewards, we must change the curation reward curve in concert. We propose the weight curve be the square root function. Comparisons of curation rewards on existing posts under this new model show a high degree of similarity to current rewards that even slightly favors smaller accounts more than the current weight curve does.

We don't expect many people to see significant differences in their curation rewards using this curve.

Increase Each Vote's Impact

We want to change the voting power reserve rate to allow voters to spend more of their voting power in a single vote. You will be able to concentrate your influence with fewer votes while still being able to spread it out if you choose. Currently, you are limited to using 1/200th of your remaining voting power in a single vote. We want to increase this somewhere between 4-10x per vote.

We are committed to proposing smaller hardforks, and concentrating design and engineering efforts on fewer features that are focused on accomplishing a specific goal for the release. That’s why this hardfork is so much smaller, and we hope to continue this trend going forward.

Have comments? We’d love to hear what you think.

  • Vandeberg (@vandeberg) and the Steem Blockchain Devs

Sort:  

Great work. I support this. The community has been asking for a more linear rewards curve for some time, which gives everyone's vote a more equal weight. There has been some disagreement about how best to achieve this, but I think most of us understand it is needed.

In the past, I opposed the higher weight vote change, but I've come around to understanding that it might be better for some people, so I'm open to trying this. As for the curation rewards, I don't have any strong opinion and will leave that to smarter minds. Glad you're going with smaller fork packages from now on, which makes a lot of sense!

I also opposed the higher vote weight change previously but I think this would be very helpful now - particularly as the amount of time I have becomes more limited this will allow me to use up my voting power more efficiently.

That was my first big post talking about prospect theory and how rescuing 40 to 5 would be like a super vote for minnows and great for steem. Ah the memories.

Increase Each Vote's Impact
We want to change the voting power reserve rate to allow voters to spend more of their voting power in a single vote. You will be able to concentrate your influence with fewer votes while still being able to spread it out if you choose. Currently, you are limited to using 1/200th of your remaining voting power in a single vote. We want to increase this somewhere between 4-10x per vote.

This is a bad idea. A lot more stake will end up being used by users to vote for themselves. Engagement/curation will be discouraged and votes will be more concentrated. We already have enough groups upvoting each other, this is going to make it even worse.
Is there any statistics on what the self-voting percentage is? If not I suggest we calculate it before implementing any new feature. I can guarantee that increasing the power of each vote will increase self-voting a lot in term of the stake used to self-vote.
I also don't like the idea that users who are not active would be able to use all their power without much involvement in the platform. Active users should be able to benefit from users who are inactive and do not use their voting power.

It's not a bad idea. There is much voting power unused by human curators while bots are fully utilizing it. Increasing each vote's impact will reduce the gap between human and bots. If one is doing both manual and bot curation, one may decrease a proportion of bot curation for keeping manual curation power (just my 2 cents)

Active users have no disadvantages compared to bots, but that's not even the problem.
The whole point of steem is to reward others with your voting power, if you make it easier for users to upvote themselves the platform loses value.
I was the first one to say that the curve was a non issue for self voting and that it doesn't prevent self-voting. However this feature to give a single vote more power will definetely encourage self-voting, the fact that it takes a lot of post to use your power is the best protection against self voting.
If you have a blockchain where everyone upvote themselves it becomes worthless and that's what a lot of people will do if this new change is implemented.

I generally agree with you, but have some different thoughts. To explain, I need to refine two points of your statement "the whole point of steem is to reward others with your voting power".

  • "To reward" is not a perfect term in accuracy. Actually, it is reallocation of public resource (like which project we should support with tax money) via collaborative decision making. But reward can be correct in broader sense IMO.
  • "Reward others" is not correct. The correct description should be "reward contents", not people.

So, in my words, "the point of Steem is to spend community money on contents, which are perceived to potentially generate values for the community, via collaborative decision making process with voting power."

Back to self voting, I think self-voting can be cast if an author evaluates his/her content worth to be rewarded. There is no reason to exclude the author from the evaluation process, since he/she is also a stakeholder of Steem.

However, the problem of superlinearity is when one has very big voting power, which is greater than average upvotes(in VESTS) of all other posts. In this case, the self-voter can earn more than his/her stake shares. Smart bots also follow this large voter while other minnows feel disappointed. Consequently, collaborative decision making process is hindered.

In the linear system, everyone's vote will be treated in equal weights, regardless of being whale or minnow, and this will facilitate collaborative decision making process. There can be some more self upvoters, but I think it is okay if they think their posts are worth to get it. Surely, others can downvote if they think the posts are overvalued.

The key for Steem is collaboration. Equality in vote and weakened bots influence are good move IMHO.

If there is a proposal to allow people to use all their power in a single vote, would you be in favor ? If not why?

You called it!

Exactly. It fixes the problem everyone has been complaining about or leaving for since the beginning.

Are you sure? I am afraid that there needs to be a bigger and fuller explanation. Does this really suggest that I can vote at 4-10 times standard vote weight or the minimum vote weight is 4-10 times more than it was - ie 1/50th to 1/20th - it does not directly suggest anything over 100%. Imagine a flagging war at 4-10 times power!
When the title of this post says steem equality - what does that mean? Is steem to be included in stake weight along with Steem Power?
Communication, once more, leads us into a valley of doubt.
People leave this platform because of Steemit Inc. and the behaviour of the various lieutenants who patrol about like the Brown Shirts. Their brown noses are the give away.

I think the single biggest problem for retention and minnows leaving is because of not having any influence. This is the first thing I have heard to finally fix this problem. I never thought voting guilds were the ideal solution.

I am afraid that, having done a very great deal of research into this, you might have ben misled. Whales profiteering off the minnows is reason number 1. Treatment of minnows by other people is number 2. Lack of transparency over the way in which things are calculated and the resulting realisation of the extent of the greed is number 3. The blogosphere is a condemning space.
Sorry mate but I have too much data on the platform and the way in which not just the rewards but also the realities behind the system are manipulated. You might be shocked!

I've been paying attention a little bit longer than you, mate.

Whales profiteering off the minnows is reason number 1.

lol, How is that possible?? Whale votes have historically been the only thing to give profits to whales, minnows, dolphins, etc.

Treatment of minnows by other people is number 2

I've already gone over the main reason. The other reason I have seen people leave is flagging from whales or not getting noticed or engaged, which all stems from the power divide. Treatment of minnows by the people has been good. I can think of a whale who has destroyed some minnows but what people are you talking about?

Lack of transparency over the way in which things are calculated and the resulting realisation of the extent of the greed is number 3.

That is what is what they are trying to change with this post!

Sorry mate, I don't know why you've decided to try to argue here, maybe for you the blogosphere is a condemning space., but I don't generally see it that way.

Show me the calculation!! With apologies to Eddie McGuire.

I am getting rather tired.
If I can prove that whales profit off the content of minnows, will you hand over your entire account to me?
Your alternative it to stop defending the childish antics of steemit inc and get this platform functional.
Your call

If I can prove that whales profit off the content of minnows, will you hand over your entire account to me?

lol, maybe when they used to share minnow content and keep part of the reward. If I prove minnows dolphins and whales profit form whales will you handover your account??

Your alternative it to stop defending the childish antics of steemit inc and get this platform functional.
Your call

You haven't really addressed what I pointed out. And I think we are too far apart semantically or something because I am not saying anything ground breaking. Pretty basic stuff. I'm tired of this as well. Don't bother.

@ebryans, my gut feel tells the same as you mentions regarding the reasons why the small account are only here from a little while and become inactive quickly. You seem to have data. Great. You may like my opinions and views to the complexity of rewards distribution, read some of them in the comments to this post. I already send you a private message on Discord to see how we can help each other.

I fully agree! This shall also include the retirement of the first 30 minutes behaviour IMHO.

There is a reason that was added in the first place. Do you have a solution to the problem it is solving?

The reason was to prevent bots from getting all the curation rewards by voting in the first few seconds. However, 30 minutes is extreme. A much shorter period would suffice to limit instant voting by bots without being so intrusive to regular users.

And if we would remove the vote order weight? We can remove the whole 30 minutes then when I understand the reasons correctly. I believe from reading through all sort of posts and the whitepaper the vote order weight was introduced to give extra reward to those who are very active in curating. But don't you think that only a small percentage may be very active, and all the others simply do not have the time to be that active? Could it be that when we have let say 1 million active users, most of them spend some quality time on Steemit creating a post, reading some posts, writing some comments, and casting some votes on whatever they like when reading, and then go and do other things? Steemit has build in a game element by implementing the vote order weight; A pure reward game for a few individuals to try and maximise their curation rewards; The vote order weight does not serve anything else, or is at least not that important to get eg quality content voted for IMHO. The whole service needs to be as simple as it can get for growth. Most of us are not beta people, most of us are creative people, writers, artists etc. In the future maybe Steemit likes to add businesses, from SME's to large enterprises; anything complex, they will not like at all, not the independent grocery store around the corner, not Coca Cola or PPG. Maybe I do not see all ins-and-outs and pro's and con's, but to me, the reverse auction is making things too complex. The vote order weights is making things to complex. The non linear voting curves are too complex. The later is topic of change; What about the other ones?

I think the vote order weight should be a lot smaller. Some bonus for being first is okay, but there's no reason later voters can't get a meaningful share as well.

It's hard to find an Unloved post but it's easy to vote for all the hot and trending posts. I think we should keep some reward.

The system (Steemit UI) shall allow simple discovery of interesting content and more fine grained ways of promoting content. The system (Steemit UI) shall allow for creation of groups / sub-communities, creation of customisable channels (eg all subjects with xyz in my home channel, eg post text contains xyz in my home channel, tag xyz in my home channel). This will create an environment where the Unloved posts will not be so Unloved anymore. With the UI so much can be done, and we do so little with it. We leave everything for others to build, for bots to run with all the negative side effects. It shall all be within the Steemit UI.

What would be your proposal for weight curve?

It is a complicated problem and one where I haven't had time to actually sit down and try to write equations but as a conceptual framework I think earlier voters should gets some sort of "finder's fee" that based on the value from later voters, but is not the predominant portion. So maybe something in the neighborhood of 10-20% of rewards from later votes would flow to earlier votes. That could still be a very large return to the earliest voters but would be less extreme in its effect on later voters (who now get little to nothing).

I agree. This comment from an earlier steemitblog post shows why.

I don't vote on posts with a good payout. That defeats the purpose of my vote.

That's just a random example that I happened to remember seeing, but I'm sure many other voters employ the same reasoning. How do you accurately rank the popular posts when the curation reward system is discouraging voters from providing that last bit of information?

Maybe something like splitting 50/50, or 80/20, where part of the reward is split evenly among every voter and the other part is weighted according to the order of vote.

Yes. To put it another way, the reward system undervalues ratification so we get less of it. The problem with 'dumb bots' is the same. Bots (as with any voter) can only be judged dumb or smart by later voters ratifying (or not) their votes. To get smarter bots we need more and better ratification and to get more and better ratification it needs to be better rewarded.

The results are also not wanted. To be honest, I do not know all the reasons, since I do not know what information is correct and what is not/obsolete. I only know that with the 30 minutes behaviour, individuals/curators try to game the system which is unwanted as well. My gut feel says also that votes are not casts for new posts because of this rule, to wait before voting and then account holder will actually forget to vote. This harms mostly the large amount of accounts having lesser followers, which are the majority of the accounts.

When making important changes I don't think we should go by gut feeling. The 30 minute behavior is there to prevent gaming the system because without it things were worse. You can use this bookmarklet to control your vote time, you just have to keep the tab open. I agree, it's not ideal, but I do think it's better than the alternative, and we should be careful about changes unless we know the impact they will have and the history behind why things are the way they are in the first place.

Thank you for the bookmarklet, but probably I'll not use it. First of all to clarify my position: I personally do not use bots for voting, since I'm against auto voting. Bot can be used for filtering and such, but IMHO shall be prevented from direct influence on reward distribution. Voting shall be a manual activity. Furthermore, I think that most of the users on Steemit are here to create posts, read posts and vote honestly, ie without any gaming in mind to maximise their own revenues. With this is mind, I do not understand why we do not have a linear curation curve. After spending 30-45 minutes searching Steemit for relevant post to explain the 30 minutes reverse auction, I think I understood correctly the reverse auction was needed because of the non linear curation curve. Why not bringing this back to linear? BTW, why having a curation algorithm that gives more rewards to the first voters? Network effect, the whitepaper describes; but I refer to my first statement above, I do think most of the Steemians will vote for content when they like it in one way or the other. Why not test this in real rather than assuming those things? Also, note that most of us Steemians do not have the time to spend hours and hours per day on Steemit. It is not the tool that will pay our bills so we do not take and have time to start gaming the system. Bot owners likely do, since they are there to maximise their income, maybe not all, but I suspect most of the bot owners have in mind their revenues. When we would argue that time spend needs to be included in reward distribution, I disagree, since this will for sure prevent Steemit to grow to millions of users. I also read somewhere in the whitepaper the whole reward model is based on the short/long tail model, but I do disagree using such model as a reference; Steemit is dominated by bot voters and they do not take quality into account. The whole idea of most rewards go to the short tail of quality posts is based on quality content which is a parameters the bots are not taking into account. Any feature under discussion is part of a larger discussion IMHO. Such larger discussion needs to happen, but does not IMHO. In parallel, I think we shall test a whole set of different algorithms to see what the effects are in the real world of Steemit.

I could never understand the part why the first voters getting more.
Well said @edje ! Good thoughts I mostly agree with.

There is a logic I can follow, but the hunters of the Finder Fee are gamers and bots instead of you and I and probably the other 99% of the Steemit members. So, only those who like gaming, can use Steemit to game. And those who are engineers, can create bots to play the game for them. I can imagine quite a few whales are gamers.

Sign up for bitconnect under my link and it's free you won't regret it 💯.. Great way to invest money in 2017, I've literally done it and you can to. Free to join. Trade, exchange, invest.

https://bitconnect.co/?ref=LykenCrypto

Please...one economic change at a time.

I would like to see the rewards curve flattened, but not flat. Let's start with that, and only that, for now. We just had some pretty big changes that did not exactly go well.

Propose one economic change. Analyze the results. Modify it, if needed. Then analyze again and make any adjustments - or scrap it altogether if it doesn't work.

Then, if any other changes are needed, make a new proposal. This is getting to be too much and there's no stability to speak of. Kind of hard to attract investors, developers, and businesses to the blockchain/currency like this.

Literally anything less than n^2.

As I have stated in other comments, fractional powers are extremely difficult to do using integer math and are expensive operations.

These are not multiple economic changes from our perspective. Switching to a linear curve has some drawbacks which the other parts of the proposal address.

A reservation with linear rewards is that bots will self vote their maximal voting power and humans will continue to use the site as they have and potentially not use all of their voting power. In this scenario bots will get rewarded at a faster rate then their stake. We want human users to be able to use their voting power a little quicker to help curb that effect. We gave a range of values from a small bump to a large bump and appreciate all conversations discussing the merits of those changes.

If any one of these three points does not pass consensus we will not ship the hardfork as is and go back to the drawing board. That is not us being stubborn but protecting the blockchain from exploits and threats that exist if they do not get passed.

Well, if you can do square root, you can do n^1.5 easily enough (and I guess n^0.25, etc.). n log n is also implementable without enormous difficulty, I believe (couldn't be wrong, I haven't actually implemented it and worked out all the annoying details).

I don't know what that does to curation rewards though, maybe you addressed in a different comment and I didn't see.

Would it be possible to explain the actual effects of these changes using real number examples? Perhaps before and after examples for 500,000 sp, 50,000 sp, and 5,000 sp?

Here is a break down using the current reward pool.

Single 100% vote reward allocation.

500,000 SP50,000 SP5,000 SP
n^22.688 STEEM0.026 STEEM0.000 STEEM
linear24.973 STEEM2.497 STEEM0.249 STEEM

Part of the reason the rewards are higher for the 500,000 SP is that the rewards allocation algorithm responds faster than with n^2. This data is as if we had implemented linear rewards in 0.17.0 and the rewards pool is further recovered. However, you can see the different if you look at marginal percentage changes in the vote weights.

I was on my phone before so I could not respond as thoroughly as I would have liked to. I sincerely appreciate what you are doing here today. Not only did you provide a great explanation to my question, you are doing it for everyone's questions. Every time I think I may have a new question, I scroll through these comments and see that not only did someone already ask it, but you provided an answer that even a layman like me can understand.

Thank you for taking the time to help educate the community about this. Confusion can be an unpleasant feeling and you are doing a lot to remedy that.

Every time I think I may have a new question, I scroll through these comments and see that not only did someone already ask it, but you provided an answer that even a layman like me can understand.

Haha, I just experienced that too.

Thank you so much for doing this! This is exactly what I was wondering about.

Currently, we are in "linear" or "n ^ 2"?

n^2. We are proposing linear.

Ha, it's going to attract people if we do.
And it will motivate me.

Yes, would be great to see this - both for vote influence and curation rewards. Though I believe a lot of the benefit will come from the fact that whales will crowd out the reward pool less, rather than purely the distribution on a single post.

Correct although the current pool already removes most of the effect of whale crowding out because of voluntarily-limited whale voting (and a small amount of countervoting). However doing it directly via the formula is more sustainable and transparent.

Yes that's he best reason to do it. It will not only counteract whales but dolphins too

Oh, yes that would be very helpful to see it in black and white like that!

Please write a long explanation as to why the reward was superlinear in the first place then explain why pure linear now so much better, otherwise it seems like you have absolutely no idea of what you are or were doing.

You were supposed to make a ton of research and simulation to decide on what curve to chose instead of a slightly more linear curve in HF17. Where is that research? What are the results?

I am rather new to Steem and understand the numerous benefits of a superlinear curve. I think this post need a bit more of "WE WERE TOTALLY WRONG" and "here's why".

We don't believe we were wrong with super-linear rewards, we simply underestimated the wealth gap that was caused during hyper inflation. If you had mined just one proof of work in the first month of Steem then you would have 21 mv today. That's over 10,000 SP. For a single proof of work. Hyperinflation meant that those accounts that used their stake and earned on it quickly outpaced everyone else. If the difference between between whales and minnows was closer to the difference between dolphins and minnows or even less, we probably wouldn't be having the discussion today. While there is some controversy, we have seen many positive comments regarding the whale experiment (which is how Steem might have looked if we did not have hyperinflation). We are dedicated to doing what is right for the platform that we do have, not the one we might have had.

With linear curve, there will be no incentive, to actually have only 1 account. IMO bots will flood whole network. With so many bots, number of votes will become totally irrelevant and misleading in UI.

We should have more flatten curve (like n*log(n)), but not totally flat.

Votes are already extremely misleading in the UI and should be removed in favor of some sort of score or other UI to give a more meaningful indication of voter support. For that matter, even sites with no rewards have seen bots used to inflate voting for misleading purposes. As long as it is displayed it will be abused.

I think most of the post are voted for by bots already. So many posts I see with lots and lots of votes, but only a few views. Even post from Dolphins with hundreds of votes may have only a couple of 10s views.

There no incentive to have a single account today. It is the total of all the votes on a post that get squared, not the individual votes. (v1 + v2 +v3)^2 != v1^2 + v2^2 + v3^2

A single account only makes management easier but with vote following bots, it isn't too bad.

I agree with potential bot-fraud becoming a serious and large issue. However, I am unsure that incentive curves can fully stop it. Right now I'd guess the Flagging system + the heavily weighted incentive curve doesn't make it worthwhile?

IMO a better solution would be to try to find a way to link voting to actual attention and enjoyment as opposed to just a "click-to-vote." What Brave is doing with their BAT is interesting in that realm: https://steemit.com/blockchain/@hellhen/a-blockchain-based-online-advertising-system. Could also address issues with autovoting, voting blocs, etc.

that would be true, if you would have a way to eliminate bots. When you are a new users and you receive 60 upvotes and only 10 views and 0 comments... you are asking question what is going on with this "social network"?

Make a minimal balance or "ante" then people would have to buy more steem inorder to have more bots. A minimal balance to upvote and post would get rid of alot of ghost accounts on steemit. Although people might turn right away from a site they have to "buy into" no matter how small the amount is... Hmmm...

new users and you receive 60 upvotes and only 10 views and 0 comments

Question is: what is "new"? I think most people who came to this platform in the last 4 to 6 months have mostly such vote/view ratios as you mentions.

I am waiting patiently for that day !

Are there any backtest simulations on worst case scenarios? It was suggested that a good econometrician should be involved.. Just mentioning this since the numbers are important and Steemit's initial hyperinflation problem and some of the other debilitating parameter settings (like the recent pool regeneration) could've been avoided if there's someone with experience on econometrics on the team. But maybe this is best run and tested live - what are some of the plans on measuring performance or whatever important stuff that should be measured?

Backtesting doesn't really work for this where user behavior, both by design and in practice, responds to the incentives offered by the rule set. Looking at past behavior under a different proposed rule set just produces misleading results.

The only way to get meaningful results is to put it into practice and see how users (not even merely existing users but also new ones) respond to it. Which is a key reason why it is so important to make only a few changes at a time, as steemitblog states in the post (and I support 100%)

Agreed! Please spend some time simulating the blockchain through the various proposals and reporting on the results or maybe commission someone in the community to do that analysis for you. Changes to the reward system is a really big deal since that's the main thing which separates this platform form any other. As mentioned here in the comments, we should work hard to explain the "why" behind the existing system (pros and cons) and the "why" behind the changes. What are the risks and what are the benefits? Will the "lottery" style of Steemit where you don't really know what your rewards are going to be go away and is that what we want?

We had done some backtesting, but I am getting a new data set as we speak using the most up-to-date live chain state.

Fantastic! I think many of us would love to see this data when talking about proposed changes. Data-driven decisions are good decisions! :)

I'm one of those who hope this data will be made public. Thank you @vandeberg for all the awesome work you done for Steem!

Question: How long does it take before the changes occur after the HF date? The next block? i.e near instantly?

we began looking into changing the rewards curve for comments.

PLEASE CLARIFY WHAT YOU MEAN BY "COMMENTS"

I am not joking. In steem code every post and comment are called a "comment" (technically speaking a main post is a comment without a parent).

This naming convention was a reason of confusion during last hardfork.

By reading release notes from last hardfork:

All comments are paid out 7 days after creation and there is no longer a second payout window.

A lot of people really thought that this will going to be only about comments (replies), not main posts.

In the code both posts and comments are treated as 'comments'. Posts are 'comments' that don't have a parent. That is the source of the confusion, but I agree with you that the presentation should be more clear.

we began looking into changing the rewards curve for comments

In this context, it is being used as non-post comments (replies).

I agree - it can be a bit confusing at times :)

We are sorry for the confusion. The intent of this is all content (posts and replies).

My instinct is that a linear curve would be a very good change.

If consensus is difficult to achieve we can move it down slowly over time, but my guess is that the support for this change would be there.

A few example numbers here with respect to changes in both voting power and curation rewards depending on hypothetical Steem Power levels would serve as a good reference point.

Please test the changes to make sure there aren't any unforeseeable consequences.

Neutral on the optional more impact per vote feature. Any particular reason for this?

It lets people who are more time limited use up there voting power more efficiently and also allows a lot more nuance with the voting slider. Those who want to retain the old per vote levels can just set their slider lower.

ya I suppose if it's linear it'll be pretty difficult to abuse in any way
no reason not to support more control over how you use your voting power

pretty happy with these changes overall, steem is still small enough that we can make these big changes, and this curve is definitely a change for the better

I agree on the more impact per vote. I don't always have the time that I used to have and would love to use all of my voting power voting for 5 or 10 posts a day instead of have it sitting there unused.

can someone ELI5 the impact and changes due to this?

Coin Marketplace

STEEM 0.19
TRX 0.19
JST 0.033
BTC 90324.79
ETH 3040.54
USDT 1.00
SBD 2.82