Benefits of Pure Linear Reward Distribution

in #curation7 years ago (edited)

I'm now all for pure linear reward distribution, both for content rewards and curation rewards.

1. Current Distribution Curve: Superlinear

  • People hesitate voting for good content because it is "too late" to get cool rewards, due to early-voting bonus (aka late-voting penalty)

  • People hesitate voting for good content because it is "too early" to get cool rewards, due to reverse auction mechanism

  • Bots have huge advantages on voting on "right" contents at "right" time (maximize their returns by "robbing" from other voters)

  • Complexity: hard to explain to casual users

  • Authors got voted by piling whales earn much more than their percentage of votes (stake weighted) received

  • Whales earn much more than their percentage of votes contributed

  • Casual voters got the most penalty due to reverse auction and follow-voting

  • Content value distribution is distorted.

2. Proposed Distribution Curve in 0.17

  • Whales still have advantages, although less than before
  • People still hesitate voting
  • Bots still have big advantages
  • Still hard to understand

3. Pure Linear Distribution

  • Authors earn rewards correlative to votes they received (stake weighted, upvotes minus downvotes)

  • Voters earn rewards correlative to votes they contributed (minus those be downvoted)

  • No penalty nor bonus, no matter when you vote. Casual voters will feel good and enjoy voting.

  • Easy to understand

  • People don't need to predict how others will vote, so content value distribution will be organic

  • Bots have less advantages, although they'll still vote on contents with best return, they won't be able to rob from other voters

//Edit:

4. Things that are non-issues

  • Minnows earn zero curation reward: it's natural, because minnows contribute few influences by stake-weighted voting; but minnows can contribute more by posting / commenting.
  • Nobody will downvote bad contents: there are already volunteers now, working with no return, or be compensated outside the system.
  • Abusers will downvote good contents: with a linear algorithm, abusers can not do more harm than the stake they have.
  • Small SP holders will vote for themselves, "mining dust": no matter how small stakes they hold, they're their stakes, they have a say. Worst case, they won't earn more than they deserve with a linear algorithm. Still, good people will downvote if they upvote bad contents.

//Edit 2:
[More things that are non-issues]

  • People will pile on voting for already popular contents: this is why popular contents are popular. With a linear algorithm, there will be no extra benefit for both the voter and the author. When a popular content is overvalued it will be downvoted, so it's not guaranteed that the voters will earn more rewards by voting on it.
  • No incentive for people who found popular contents early: people will feel good when being shown as the first N voter. We could also set funds off-chain to reward these people, or delegate more SP to them so they'll earn more curation rewards in the future.

//Edit 3:

5. Differences between Linear Reward Distribution and Pure Tipping

  • People are forced to tip. So people will make judgement on targets, although perhaps it's random targeted, or voting for a list of authors/tags, or following others, or by content analyse, there are efforts involved. As long as they can never do more harm than their stake weight, IMHO it's natural and positive. In a pure tipping system, people can opt out by not tipping at all, which encourages false negative (good contents may be undervalued).
  • Downvotes. Pure tipping system doesn't have downvotes, so it's more possible to do self-tipping, which encourages false positive (bad contents may be overvalued).
  • Stake based and limited voting power. So one player's influence is limited, less possible to manipulate the trending page, so fairer IMHO.
Sort:  

I believe strongly in simplicity and elegance. Almost every time in every market throughout history, the simple and convenient product has won the mass market share over the complex one; even if the latter did offer more powerful solutions.

You are absolutely right that people hesitate before voting because too many rules and controls involved. It's just no fun voting anymore, which is completely antithetical to the point of a social network. What was meant to be a game has become a chore few are interested in. This is why bots are effective on Steem - they never get frustrated.

I'm all for a completely simplified, linear voting and rewards system. As I see it, this will make voting much more fun for a vast number of users; effectively drowning out the influence of abusers.

It'll also drive up demand for Steem. Even with the new reward curve, it heavily penalizes people with a low stake. By making it linear, it'll incentivize powering up to small amounts. Very few will be willing to invest 100 MV ($5000), but many millions may be willing to buy up a small 1MV stake and give it a shot. Lured by a simple and fun game, they might want to buy up some more. Today, they'll just see their small stake has zero impact and give up. By lowering the barrier to entry, it'll open up demand for Steem to a whole wide range of users. Let's face it - Steem is not a Giffen good.

This will be controversial, but I'll say it anyway - I'd also like to see Downvotes being accepted. It's unhealthy - morbid, even - that there's only positive opinion allowed here. A negative opinion is valuable, if not essential, to any healthy community and society. In fact, I'd even say that downvoters should be rewarded the same as upvoters, knowing full well that had they upvoted, everyone including their own rewards would be higher.

By opening up the system to the masses, the abuse will be drowned out. Besides, if bots and abusers want to buy thousands of dollars worth of Steem to abuse the system, ultimately they have increased the price of Steem and bought the right to do so. Their abuse can easily be countervoted by the community at large, and no one will complain about the price rise they cause.

The only thing I'd like to see retained is the voting power drain, and penalize bots or humans who spam vote. That does not affect casual curators at all.

Well said.

This will be controversial, but I'll say it anyway - I'd also like to see Downvotes being accepted. It's unhealthy - morbid, even - that there's only positive opinion allowed here. A negative opinion is valuable, if not essential, to any healthy community and society. In fact, I'd even say that downvoters should be rewarded the same as upvoters, knowing full well that had they upvoted, everyone including their own rewards would be higher.

I have thought about this as well. And I agree that "fair" downvotes should be encouraged. IMHO it's hard to be implemented on the blockchain without being gamed, so perhaps we can do it off-chain. That said, we can set a fund for downvoters, and manually reward the ones who cast "best" downvotes, like steemcleaners and etc. Just think out loud..

In a truly free market, all downvotes are fair just as all upvotes are fair. If you disagree with a downvote, you can upvote the post just like you can counter an upvote with a downvote. This will keep all rewards in check, accurately reflect the community's opinion and also stimulate demand for Steem.

That said, I totally agree that the community has not matured enough and in the end will cause a lot of negative sentiment if there were many downvote abusers etc. So maybe keeping it off-chain is the best approach in the short term.

I don't have a solution, but I'd like to see the community gradually embrace the idea of downvotes as being healthy for the network in general.

Good point.
Perhaps downvotes also split the same curation rewards linearly? I'm not sure if it's a good idea. Main concerns:

  • downvoters may get too much, in case of abusing downvoters
  • downvoters may get too little, in case when payout of a bad post be downvoted to zero
  • downvoters may get too much, in case when someone get rewarded by downvoting bad posts written by his own sock puppets

Like I mentioned earlier, there's an inherent incentive to upvoting instead of downvoting - you and everyone else will get greater curation rewards if you upvote instead of downvote. Of course, that won't stop abusers or schadenfreude enthusiasts, very true.

downvoters may get too much, in case of abusing downvoters

This is definitely a problem, can't really think of a solution other than countering or vote negation for abusive voters. Thing is, even without a reward, abusers will continue to abuse as we see today. I'd also like to point out that upvotes can be abused just as much as downvotes, and ends up costing the reward pool more to boot. So maybe fixing abusive voting requires a different system...

downvoters may get too little, in case when payout of a bad post be downvoted to zero

If a downvoter so strongly disapproves of a post, they'll be happy to bring it down to zero and give up their own rewards. If not, they will leave it be - if the rewards are close to being zero, we can be rest assured it wasn't "over-rewarded" anyway.

downvoters may get too much, in case when someone get rewarded by downvoting bad posts written by his own sock puppets

Not sure if I understand this correctly, but I don't think this is an issue; they stand to lose much more in author rewards by downvoting sock puppets than they would be gaining in downvote rewards. Besides, by upvoting instead they'd both gain greater author rewards and curation rewards.

Just thinking out loud, there's probably no need for a downvote reward, but good discussion :)

I just believe expressing a negative opinion is required for any healthy society and thus downvotes should be accepted by the community. Anyhow, to get back on topic, one thing's for sure - either there should be a linear downvote reward or none at all. Having a different reward system will add more complexity which we are trying to get rid of here.

Curation rewards for downvoting makes so sense since you are removing value from the post or maybe you were refering to something else?
I think curation rewards should just be removed: I'm not the only one apparently
Dan said

I'm in favor of the new curve and eliminating curation rewards

These rewards are the source of a lot of problems. The argument for keeping them is that investors won't have any incentives to buy steem power. This is incorrect. The value of the platform will be a lot higher in the eyes of investors if curation rewards are removed, no more bots, quality content, fairer distribution, less greed mentality, more appealing for other website to integrate, more comment voting, less confusing for newbies, more engagement,etc..all of these will make the platform a lot more valuable than it is now.
Special benefits could also be given to users who refrain from voting so investors can make extra passive income but like I said their passive income is the increase of the value of steem.

Great points and a great exchange here!

Not sure whether to up vote or down vote though ... 😉

What about, since you get curation rewards for upvotes, you get curation charges, that scale downwards the more downvoted. The cost of downvoting is declining part of your curation rewards, therefore. This would diminish the incentive for wanton downvoting, just as you have a decaying vote power, this vote power decay should be equally scaled whether you up or downvote, so not only do you consume vote power downvoting you also get charged a curation charge.

You would then only do it if you think the greater good is served because it would personally cost you a little to do it. This cost would be higher the less other downvotes, in other words, if a lot of people think there is a problem, the cost for all of them will be lowered because this opinion is 'trending'.

Honestly am not that interested in the nitty gritty of voting, and the forum, I just think it should be optimised and economical as a cost to the network to help establish reputation. But I support anything that helps lower the cost of the network and improves its understandability for new users.

If upvotes get curation rewards then maybe downvotes can get curation charges :) This disincentivises overuse of this, and shifts its use more towards negating clique-voting.

Yes, and invert the sense of the scaling of the share of the curation charges. The most accurate downvotes get charged the least.

I am not really up for making a post about this, I think that the curves for reward distribution become irrelevant when Steem's value goes up instead of down. Which may mean @abit's idea of a flat distribution may be superior, in the sense that it reduces complexity, which lowers administrative cost, leaving more for rewards. We just have to have a Steem asset that tends towards being deflationary, rather than as it is now, distinctly inflationary.

Great exchange guys. I think the inherent risk that comes with downvoting are enough of a disincentive against downvoting abuse.

Now that's an interesting idea! 😄 Idea for next post maybe?

I do like the steemcleaners idea, but it also feels like something that could snowball into a big Steem-Guild-Style disaster. But maybe that's just the way of things around here.

I'm probably ok with linear author rewards. The self-voting-trash option will become an issue; it's hard to tell how big of an issue until we try it and then analyze the outcome.

However, linear curator rewards (along with linear author rewards) would be very strange and I'd argue would be a terrible idea. Linear curator rewards mean that every vote is rewarded exactly the same, no matter who it votes for or when it votes. Strategically, this would be exactly equivalent to having no curation rewards, except that we'd be paying people for the pleasure of casting random votes. A totally-random voting strategy would pay exactly as much as one which votes for the best posts.

If you have superlinear author rewards, then this problem goes away. If you have sublinear curation rewards, this problem goes away. But you need one or the other.

On the topic of the reverse auction, I'm a big proponent of the reverse auction because it creates a situation where we don't waste curation funds paying rewards for obvious votes. I hold that we don't need to pay curation rewards for votes for someone like @krnl or @ats-david, because everybody knows (including any properly-trained machine) that those posts are going to trend. No incentive for discovery needed.

I don't know how you implement these things in a way that makes sense to average users. Clearly, the current system is totally misunderstood and there's no documentation for it anyway. But the system is built the way it's built for some important reasons that (I believe) trump simplicity.

However, linear curator rewards (along with linear author rewards) would be very strange and I'd argue would be a terrible idea. Linear curator rewards mean that every vote is rewarded exactly the same, no matter who it votes for or when it votes. Strategically, this would be exactly equivalent to having no curation rewards, except that we'd be paying people for the pleasure of casting random votes. A totally-random voting strategy would pay exactly as much as one which votes for the best posts.

As I replied to another comment, due to downvoting, the best for-profit voting strategy would be voting for contents with potential lowest downvoting rate, rather than random posts or the posts with highest pending payout. So there should be work done for that. Bots will still have advantages, but not as huge as they have now.

Casual users and average for-profit voters will open the website or an app, vote for their friends or trending posts, earn their returns. IMHO it's natural, the least cognitive load, so it's the key to mass adoption.

On the topic of the reverse auction, I'm a big proponent of the reverse auction because it creates a situation where we don't waste curation funds paying rewards for obvious votes. I hold that we don't need to pay curation rewards for votes for someone like @krnl or @ats-david, because everybody knows (including any properly-trained machine) that those posts are going to trend. No incentive for discovery needed.

In a natural world, people vote for them because people like them or their contents. But currently many people vote for them because hope to earn more rewards. So, value distribution is distorted. False positives. The root reason is the non-linear curves. Try to fix it by adding another penalty is not the best solution IMHO. Linear distribution solves this issue perfectly. Just my opinion though.

Thanks for expressing your opinions. Although I don't agree about some of them. Looking forward to more discussions.

I'll reply later when have time.

Very valuable inputs. Thanks. I'll be checking back for @abit's answer.

I'm neutral on this vs. the current hf17 proposal. In principle, I think it should be one share/one vote, so I've got a natural preference for linear, but as long as the rules are transparent, there's a good reason for it, and the imbalance isn't too severe, I don't object to other proposals. There is a lot of merit in the points you make.

As I noted in a comment on one of @krnel's posts yesterday, I'm starting to think that the steemit community needs to step back from the details of all these tensions and begin thinking about governance and process. How do we make decisions like this as a community (hopefully without flooding the trending page with squabbling that drives away potential new users)?

One idea that came to mind is to establish an online holacracy, although I'm the first to admit I don't know much about what that means yet, so there might be a better solution.

This is great. I am going to have to resteem this. I especially like the part about getting rid of the time factor when doling out curation rewards. Why should we have to vote at a specific time to maximize our reward? That just doesn't make all that much sense. Rewards should be directly related to a voters stake.

I love complex things because complexity fascinates me, but I am far from an average user and the cognitive overload involved in voting currently is way to high...

There has to be a simpler way and I will support any consensus proposal that makes things simpler for humans and does not favor bots.

I agree. Personally I love complex things too.

Let's use a curve that is a 42nd-order differential equation's impulse response, then (as long as somebody else is writing the voter's manual).

Thanks for this, love the brevity and straightforward approach. It looks good, but...

I'm beginning to think what we need are actual simulations of this kind of thing, it just seems too complex, too many possible side effects. I like the pros of your idea here but don't think the cons are represented enough. We need hard data.

Perhaps it would be an idea to do a test branch. It could either be run with automated bots and / or people doing it to help out, or even "replay" some live data onto it to see how it would pan out in a different way.

I'm seeing a lot of proposals, many of which are good. It's very hard to know if they would work though just by running it in your head. I think only the very very smart can do that well, I wouldn't count myself among them 😅

If I understood correctly, you mean to calculate payout distribution with current data but with new rules. I see one issue here: different rules introduce different behaviors, so the result of simulation would be inaccurate even probably far from real effects, which makes the simulation less valuable.

By the way, perhaps it's good to try this with comment reward pool first.

calculate payout distribution with current data

Yep, that is why it was my third choice. Much better would be the first two, using some bots and / or real people doing it just to help out.

In fact it could be a blind test where participants don't know which proposal has been implemented in the sandbox. Perhaps everyone can be rewarded for participating, since the actual rewards in the sandbox would not be real.

Simulation has its value. But without real money involved, the results are usually inaccurate (I don't know how far it will be though). You'll know the difference if you've ever played with market simulators, for example stock markets or currency markets or futures.

Agreed. I started work on a steem voting simulator here: https://github.com/biophil/steem-simulator

But I ran into other things that needed doing and it stalled a bit... But I love the idea of having a sandbox where we could try these things before they're baked into the code.

I think it should be an official steem project, but we can kickstart in the wild if there's interest.

Replay simulations with altered rules would be a very cool way to test the results, just for how the distribution would change, no interest in what transfers and conversions are then done afterwards. They wouldn't take long either, on a ramdisk the whole chain could be custom-replayed with an altered ruleset and then the RPC queries can be then used to dig out the data of the results.

Interesting, so if I follow you, you are suggesting hacking the steemd source and making a kind of test node? If so that would be very handy for analysing the results because it could be connected to in the same way as normal for API access, then just run usual analytics tools.

Yup. It would be a custom plugin that can have the other plugins as children, basically, and it would have to not attempt to sync after replay, it would just let you inspect a freeze-frame up to a time to analyse the effects of changes in the algorithm. The replay would naturally change the witness-parts of the transactions. I don't know exactly what things like interest payment transactions look like, but I believe that the witness signs the transaction, which it can do because it has been delegated in the election and selected for the timeslot, thus it signs on behalf of all their voters.

So in other words, a simulator like this would have to ignore the calculations and witness transactions and use the witness plugin to generate the witness allocation parts based on the altered rulesets. You could narrow the filter to whatever way you want to for your analytical purpose.

Nice, as a plugin would be elegant. But it would still require the proposed changes to steemd if I'm not mistaken (for example, "linear reward distribution, both for content rewards and curation rewards" as in the proposal of this post).

I don't know if it's something you have time to work on but I'd be willing to contribute to a project like this. Perhaps a proposal post is required

yeah, it's a matter of writing a plugin that does replay but ignores the witness created transactions (interest payments, reward payments) and deploys a witness plugin to create them (and remake the blocks). Then, like you say, the changes have to be in the witness plugin code (the business logic, as they call it). The other aspect is that the node has to be autarkic, simply the witness plugin gets every single block to process where in the network this is distributed.

Someone else was already talking about simulator plugins and starting development on them. It will be a boon for the successful choice of the best algorithm when new hardforks are coming up, not quite so much trial and error on the users as it stands now.

Beta tag is correct, because we have to be guinea pigs to put up with some really dumb shit happening for a while so we can say 'yes, that was dumb shit'. A simulator would make it more engineering. Trading bots also have replay functions that respond to historical data as though it is realtime and applying the heuristic to make trading decisions, to test a new model. We need the same thing and it will be less error and more trial.

Thanks for this explanation, and the comparisons of possible approaches.

As a blogger/content creator and relative newbie, the thing that keeps poking at my mind is the whole bot vs human imbalance. Yes, bots definitely have their place... whether they are utilities like @cheetah or something else. But as a writer I look at this and see that my post has (for example) 200 votes and 23 views. Now, I realize this is more a psychological thing than a functional one... but I create content for people to enjoy it, interact with it, learn from it or whatever. A bot ping doesn't really tell me anything because most bots are not "smart." They can tell the difference between "War & Peace" and a poorly constructed joke.

Maybe that has little impact in the short term, but in the long term I scratch my head and wonder "why should I BOTHER" to create something worthwhile. OK, so "worthwhile" may be subjective, but in the long term a potential new user/investor is going to see some old content and base their decision to join/not join Steemit on whether they are looking at something "good" or a pile of garbage.

Well, that kind of curation (pushing quality content to highest visibility) requires humans, not bots... which is a longwinded way of asking "what about addressing the relative weight/import of a bot upvote vs. an upvote by a real human who looked at a piece of content, decided "this is good," upvoted and even left a comment, stimulating discussion. Those two surely don't have the same "value," in the greater scheme of things?

Just to understand the exact terms of "pure linear reward distribution": Does this mean a vote is equal in power for anyone voting? ie not a weighted vote against steem power / MVEST? Does it also imply the 30 minute rule is abandoned?

When still the vote is weighted with users steem power / MVEST, the vote of a user with a high MVEST, is more powerful and will have more return over a vote from a user with a low MVEST. This will still result in challenges for newbies. Since the platform needs to grow by onboarding new users and keep those users active on the platform, as well as turning around many of the existing inactive / passive users into active users, I would propose a voting system in which each individual has a equal vote regardless of the MVEST a user has. If such even distribution is not acceptable, some influence curve could be introduced lowering the influence of a user with high MVEST and increasing the influence of a user with low MVEST per unit of share / MVEST; this to give the enormous amount of low MVEST holders a chance to influence, and with that give them the idea they CAN make a difference and therefore keep them engaged more.

I compare my proposal to how in the EU the participating countries do have their vote in EU legislations; Each country regardless of its economic size, or its number of residents, have equal power in EU legislations. This means that a country such as Denmark, Belgium or The Netherlands has equal power as a country such as Germany or Italy. There are reasons why this is not liked, but it makes sure the smaller countries are willing to be part of the EU. Otherwise the EU would not have happened as it is. In Steemit terms, each user can be the equivalent to an EU country, where Steemit is the EU itself.

Another analogy can be made to the voting system for national and local government (in democratic countries) in which each person eligible to vote, has an equal weighted vote, regardless what that person is contributing to the economy, or what stake it has in the country in terms of financials, or even time a person contributes to the common good of society. Someone not working and maybe even taking money from the state from the general pot of money the government has, has an equal vote to someone who contributes millions of Euro's to the government by paying his income and/or corporate taxes. That is in the end what real democracy is IMHO.

There could also be a system introduced in which the community can (temporary) blacklist user from voting. This maybe prone to miss use, but if the bar is set high, eg 70% of the (active) community is voting YES to temporary bar someone from voting, then it'll be hard for individuals to miss use such system since it needs to convince a lot of people. Of course I bank on the fact that the majority of the people vote based on his/her common sense.

Yes my proposal is still stake weighted. It's just like a company, where same stake has same weight in decision making.

Sure it's fairer if everyone have same weight, but the blockchain only knows accounts but not real identity, so it's possible to be Sybil attacked. For example @sigmajin has 8000 accounts, some miners have hundreds or thousands as well. A whale can easily create thousands of acccounts. The community-blacklisting feature you mentioned is also related to Sybil attacks.

Could and should the system not be build with identity confirmation? The system requires a mobile number for registration, which essentually means that the user is providing already some sort of verifiable identity. Of course, a user can get a prepaid mobile number to stay anonymous.

It is maybe super nice to be able to stay anonymous, but the reality is that we are not anonymous. Even here on Steemit. People get verification done through eg SteemVerify, ID needs to be given when wanting the ability to buy Steem with FIAT currencies. Also we may post on Facebook and other social media.

In addition, systems can be put in place to do behavioural analyses and identify people with multiple accounts, even when the users are anonymous. This is more and more implemented in mobile networks to identify SMS wholesalers using backdoors with low or zero costs to the SMS. Of course, not all fraud is detected and blocked, but the systems are getting better and better.

Mobile numbers can be fake. One can have many numbers. Also as you said it has benefits to allow people to stay anonymous, although many people don't care about being verified. Try to solve this issue in this way is not the highest priority of a blockchain, nor we have any advantage in this area.

I know mobile numbers can be fake. That is why I mentioned the SMS case using backdoors to send free messages for which European mobile operators ask multiple cents per SMS through the normal routes. Those SMS senders using backdoors are also using big farms of SIM cards, ie many mobile numbers. Intelligent systems in the network identifying the numbers operated by a single SMS sender through behavioural analyses. Most of these backdoor SMs senders are identified and blocked. Of course, once detected they may implement a different behaviour. But, the net result is that many of those SMS senders using the illegal backdoors are stopping there activities after some time; since it just becomes to complex and time consuming for them. Therefore the net result is less abuse of the networks. I really think this will also be the case within Steemit / Steem and similar frameworks and platforms when behavioural analyses is introduced to fight against multiple accounts controlled by the same user / group of users. In the end, I really believe true democracy will be necesary for platforms like Steemit to have an impact in our world as we know it. It could be that today it maybe to early to inplement what I'm bringing forward, but I truly hope such approach is considered as a possibility and the search is on how to actually implement, now or sometime in the future. Otherwise we always will be in worlds with the majority of the power at a few people which causes all the troubles we are facing in the world.

The fraud on mobile networks I'm talking about in previous messages above is called SIM Box Fraud. Some links to interesting articles about this:

Leading companies providing solutions to detect and block this type of fraud are:

In essence the solutions are based on protocol parameter analyses, pattern recognition and (self)learning algorithms.

Thanks for the info.

We need to get as close as possible to linear. And maybe going all the way is the right thing. I'm open to anything that's close and will trust you smart guys on the details. @abit Thanks for your leadership on this.

Would it be possible to think of a weighting of vote, view and reply where vote is worth 60%, views 20% and replys 20% or any other proportion?

Views are not on the blockchain, so can't be used in the formula.
Voters are far more than replies, it's natural. If number of replies is in the formula, spamming is encouraged, so it's easy to be gamed.

Coin Marketplace

STEEM 0.16
TRX 0.13
JST 0.027
BTC 57483.44
ETH 2574.21
USDT 1.00
SBD 2.48