Curation by Prediction Market Proposal

in #steem8 years ago

This is a proposal for a change in how Steem allocates curation rewards. Instead of rewarding voting, we propose to reward accurate predictions of future payouts.

The problem

Curation is a difficult job, but someone has to do it. The problem we face with the existing curation reward system is that there is a feedback loop whereby upvoting rewards the upvoter. This feedback loop is made worse by bandwagon effect and ultimately leads to people taking actions to earn rewards that do not produce quality curation as a side effect.

An upvote is an action that is currently rewarded to some degree no matter what. It is something that can be done without thought and even simplistic automation can return a modest profit. The existing algorithm rewards "speed" over "quality" of curation. It rewards "large voters" more than "small voters". In other words, paying people for upvoting is not really paying people for the information we want.

You get what you pay for

Since we get what we pay for, then we must make sure we pay for what we want. In this case what we want to know is the value of a post. A value of a post is a function of the number and quality of the individuals who eventually up or down vote a post.

Rather than rewarding those who upvote, we should reward those who accurately predict the outcome of voting. Armed with this prediction, websites such as steemit.com can filter the low quality submissions from the high quality submissions as early as possible.

We want people to tell us what posts are valuable to the community. Then we want the community to confirm the prediction with their votes.

Prediction Market

Under the proposed system we have two classes of people, paid curators and voters. The job of curation would be entirely separate and independent from the act of voting. Voting will no longer be rewarded. The only people who will qualify for curation rewards will be those who make the best predictions on the future payout.

When a curator sees a quality post they can press a button that will open the curation dialog. This dialog will allow them to quickly enter and submit the future payout value. It may optionally show a chart with existing predictions.

When a post receives its payout, all curators who predicted a value between 90% and 100% of the the final payout qualify for a weighted share in the curation reward. This creates a price-is-right rule that discourages people from over-predicting.

The weighting algorithm used to divide the curation rewards needs to factor in the following information:

  • Steem Power of individual making the prediction (prevent sybil attacks)
  • Existing Predictions (copying someone else's prediction should not be rewarded)
  • Time of Prediction (late predictions are no prediction at all)
  • Reputation of Predictor

Proposed Weighting Algorithm

let SP = Steem Power of Predictor 
let P  = Prediction of Predictor 
let EP = Closest Existing Prediction
let CP = Closeness Penalty
let N  = the number of predictions made by predictor + 1
let R  = the number of times predictor was within 10%  
let RP = Reputation Penalty = (R/N)^3
CP = (1 - abs(EP-P) / EP)^2

let Weight  =  RP * SP * CP 

Once the weight of each successful predictor has been calculated, the predictor would receive a pro-rata share in the curation rewards for that post.

Justification for Math

All predictions must be entered within 30 minutes of posting. This encourages timely behavior with minimal ability to profit from knowledge of existing votes. I would suggest preventing voting during the curation period, but that would discourage readers from voting in the moment.

The closeness penalty heavily biases rewards toward the first person to stake out a position on the reward scale. This means that voting the same as someone before you will get you no reward. Voting 90% the same will get you just 1% of your potential reward.

The reputation penalty is designed to filter out sybil attacks where by small accounts vote in increments of 10% to ensure they win and force everyone else to suffer a closeness penalty. Ballot stuffing will result in a much lower predictive reputation than someone who uses human intuition to vote.

The Steem Power factor is designed to discourage sybil attacks and encourage predictions by whales. This also encourages predictors to acquire more Steem Power to maximize their earning potential. A side effect is that they are risking more so they can earn more. A whale that sets up a prediction bot will likely have very low prediction reputation.

Predicted Outcome

I predict that this algorithm will result in more opportunities for smaller players to earn larger curation rewards. The value that the blockchain will extract from the curators will be much greater than what can be extracted from a single upvote. By improving the quality of information and curation we improve the value Steem can bring to readers and voters.

This system will also gamify curation in a way that will become addictive and maximize the number of people reading all new content submitted to the network. This in turn should maximize the reach each submission receives.

Those who make a prediction also have financial incentive to see the prediction come true. If you see a great article and predict it will receive a high payout, then it is in your interest to make sure that many people see and vote on the article. This means sharing it via your social media.

There is much less incentive to make predictions on low-value content. The highest rewards go to the first person to identify high value content and accurately predict its value. This should give Steem the most benefit possible from the rewards being distributed.

Sort:  

KISS (KEEP IT SIMPLE STUPID) is the name of the game.

I am not that bright when it comes to details but in terms of adoption, assume the average user has an IQ of 85.

I personnaly know no one in real life that could tell me what a prediction market is. Every new behavior that need to be learned is additional friction to adoption.

Agree. A prediction market might be the underlying mechanism (and even the current voting system is doing that to an extent), but build it within the hidden scoring rules. Present it with a simple UI of voting.

Only smart people would try to curate. That's a good thing.

Yes, I'm new here and read that then....tl;dr wtf? It's a bit hard to understand how the upvoting rewards work upon arrival as is

Three questions:

  1. Would the curation reward be the same size as currently? This would result in people predicting mostly hight-quality content and omitting low-quality posts.
  2. Could I reduce my accumulated penalty by posting low quality content and predicting the outcome to my own vote?
  3. Would it matter if whales could adjust the outcome?

Good questions:

  1. I could see keeping rewards the same size they are now.
  2. it is easy to predict content with 0 value, hard to predict content with high value. It is also easier to manipulate low-value predictions for accuracy because it requires less total Steem Power. It seems clear that predictions below a certain threshold should not count toward your reputation. You can still earn rewards for making those predictions. As a bot you could predict everything to earn $10 and be right some fraction of the time. It may be the case that there is no value in predicting low-value payouts. Either predict high or go home. I would say that predicting things that would claim more than 0.1% of the daily rewards. In other words, predicting the top 1000 posts each day will provide the most value to the readers.

It sounds like the best way to play this game is to just continue doing what most bots are currently doing ... focus on dan, ned and any business tied to Steem and only upvote their post. Only now you get to play a game of predicting the monetary value of their post.

Why would anyone, that wants to earn for curating, waste their time on any other accounts? We all know (my assumption) going in that things will continue in this fashion. We're told that 20 votes is best to prevent from diluting our voting power and that creates a situation where the curator will/should focus on only 20 accounts/post they know will consistently be upvoted (dan, ned and steem related service accounts).

Why would a curator waste time on upvoting the new guy who just made a great post if they risk not only a financial gain from doing so, because other "curators" are only focusing on the "Big 20", and also give up one of their precious votes (assuming a 20 vote dilution limit) on the new guy?

Risk taking by actually attempting to curate good content, from new users or lesser known users, is not beneficial in this scenario afaict. I simply don't see most "curators" branching out to take risk like this very often when you can continue doing what works and make a steady income.

I'm not very bright (and it shows), but I simply don't see this changing human behavior one bit. I think it will eliminate most unsophisticated bots, but it will do very little to change the human desire to maximize their own rewards using the easiest method possible. And the easiest method is to continue doing what's been proven to work ... upvote dan, ned and any steem related service account.

That's my 2 STEEM.

Edit: grammar.

I think the very calculation of reward payouts for curation (not just on how it is distributed to curators, but the amount of the curation payout itself), needs to be adjusted by which account is the author of the post in question, and how consistently their posts have been upvoted in the recent past. I think the system should give boosts to curation payouts (not content payouts) for underdog winners relative to consistent winners, since it is much more difficult for curators to consistently predict the underdog winners.

Like you said, if we all know that @dan and @ned's posts will get highly upvoted (based on historical data from the recent past) what value are curators (those collectively voting for that post) adding by confirming that? Certainly not as much as that added by the curators accurately predicting the success of an underdog post. And yet, because a post's curation rewards is equal to its content rewards (in the current system and seemingly in this proposal as well) the former set of curators would earn a much larger payout than the latter set.

I think this is a huge insight. Something that could easily be implemented. A simple rule could be that curation rewards are only paid if a post's author receives a final reward greater than their average reward. In this way half of the time curators get nothing for upvoting consistent winners. This would also mean that authors make more from their lessor posts when they maintain a high average. Authors would have no incentive to spam low value posts because it would lower their average reward and in turn cause them to lose more to curators when they create something great.

I think it can be a little less discontinuous than that and I don't like the perverse incentive for an author to resist commenting and discussion for fear of hurting their financial rewards, but I think there is something there in that idea.

So there is a certain amount of payout allocated for a target post based on the net_rshares (same as current system), but the distribution to curators wouldn't simply be 50% always.

Each author would have a weighted average (net_rshares)^2 (denoted R) for their posts (evaluated at time of payout) over some moving time window (4 weeks maybe?) where the weight factor is the (net_rshares)^2 of the post divided by the current R of the author. A weight factor much larger than 1 of a newly paid out post's (net_rshares)^2 drives R towards that (net_rshares)^2 easily. If the weight factor was exactly 1, it would be a like a normal average. A weight factor of 0 is as if that data point didn't even exist. So the author's posts/comments that get no upvotes (particularly true of comments) do not dilute their weighted average.

If the (net_rshares)^2 at time of payout for the author's post is r, then the fraction f of the payout allocated for that target post that goes to curators could, for example, be:

f = min(0.5, max(0, (x + c - 1)/(4*c)))

where x = r/R and c is some constant less than 1 such as 0.2. For c = 0.2, I have plotted f for r/R ranging from 0 to 2.

No matter whether the post is a top-level post or comment, it would always receive exactly 50% of the payout allocated for that target post. This means top-level posts would get the same payout as in current system, and comment's would get the same payout as they would if they were top-level posts (instead of only getting half as much as they do in the current system). Then, the remainder (0.5-f fraction) would either: be sent back to the reward fund if the target post was a top-level post; or, be distributed to the post's parents as is done in the current system (or better yet with a faster decay factor than 0.5) if the target post was a comment. We have seen that most comments hardly get enough upvotes to make a big difference, so I don't think reducing the reward contribution propagating from children is going to have that big of an impact. If the decay factor was changed, whatever amounts are allocated for parents could mostly be distributed to the immediate parent, which I think is the most relevant contextual post to reward anyway.

"We have seen that most comments hardly get enough upvotes to make a big difference, so I don't think reducing the reward contribution propagating from children is going to have that big of an impact.

They don't get enough upvotes because nobody wants to waste his voting power on comments but prefer posts! (and we can not blame them, I lost for example all my voting power just for upvoting responses on a single post today!That sucks!) In reality most would love to curate responses as well but they don't have the economic motivation with the current system!
The responses curation will be a problematic in future also if you not implement something like "seperate voting power" for posts/responses like suggested here... https://steemit.com/steemit-ideas/@liondani/separate-voting-power-for-post-and-responses

I feel like I'll have to reread this post many many times before understanding it.

I like the idea a lot, but comments would have to be excluded as it's very unprobable for those to get over the average.
When they're excluded it'd encourage voting for them though, because you can be sure to get a reward. That's two big problems solved with a simple change!

Seems to be on the right way!

The average should be calculated separately for posts and for comments, otherwise posts would always be above average and comments below average.

Won't this tend to destroy the rewards received by consistently good authors? With no incentive to upvote, these authors will get fewer upvotes and and less rewards). Yes, they will still get some from the joy of rewarding but in a competitive system you will get what you pay for which is a lot less participation in voting for these authors.

So can you and Dan work together on an algorithm and then come up with a way so users can opt-in to test it? I think curation is important as it is. Maybe it's not earning a whole lot of money for the average person right now but it's the feeling of playing a game which really matters here and these small wins each day keeps a person playing.

If certain players are consistently big winners for long periods of time but you want to figure out how to encourage underdogs then figure out some bonuses for underdogs? Prediction markets are a bit complicated I think and even less players can play that game.

So as someone who is interested in growing the value of Steem, not collecting sycophants, we need to shift the reward structure for voting. One way for us to do that is to downvote our own posts. This will create a scenario where our own content gets ignored and harder to find even though it is what is of interest to many users.

If it is of interest to many users then it is good that it gets votes. There is no reason for you to downvote it, and no actual problem here.

If you really want to punish the bots for assuming your posts are valuable, go ahead and post "dont upvote this post" occasionally and downvote that after the bots upvote it. You could even create a bot to do it!

I didn't want to be the one to say it, and I'm impressed and pleased that you did. :)

I just voted your post up and I doubt it's going to offer much in terms of curation. People tend to vote for what is valuable but I think one problem with voting is it's STRICTLY UP AND DOWN. If it were more detailed so you could communicate more like insightful, interesting, sad, funny, then maybe people would be able to vote up and curate in more creative and diversified ways. This way people would vote more and you'd have more granular curation.

Up or down doesn't communicate much. It doesn't tell the world why a particular post is valuable. This means people trying to figure out what to curate cannot for example decide to vote up the most funny posts on Steemit with their bot because they will have no way to determine what is or isn't funny according to quantified means. Only a human can detect funny but a bot could then vote up everything initial human curators voted as funny.

If it were more detailed so you could communicate more like insightful, interesting, sad, funny, then maybe people would be able to vote up and curate in more creative and diversified ways.

Yes, I like where you are going with this..... we could have more than one way to vote and reward voters who voted as most people did, for example if your bot voted "funny" but most people voted "angry" then your bots gets nothing and its fair since you didn´t actually read the post.

Maybe this something where the use of Emoji's can be used to vote on content. You have a range of emojis, most likely 5 at most that people can choose from. This help give a more granular response and eliminate the binary option that computers are good at.

I like that. It adds colour and fun and familiarity for "average" social media users.

focus on dan, ned and any business tied to Steem and only upvote their post

That is actually correct curation given the current userbase.

It might even be correct curation later because, well, what else do all steem users have in common besides steem? The diference is that later ned, dan, etc. will likely make much less frequent steem-related posts, or their posts will be technical and nature and not appeal to all steem users, so probably only voting for their posts won't work. For now all their posts are of interest to nearly all system users, so it shouldn't be a surprise (or viewed as a failure) that they attract the most votes.

Haven't had time to process it fully yet, but my initial thoughts are:

  1. There should be a commit and reveal process. You are already complicating the actions required of curators so that is not for regular people anymore. Also the time periods involved are short. So it is not too much to ask of them to first make their commitment to the blockchain, and then when the first stage is over make the reveal in an appropriate time. If they do not reveal in time, their prediction is automatically considered wrong. Using commit-and-reveal means less information is available to other curators and I think this closeness penalty thing becomes less necessary.

  2. The closeness penalty seems flawed and even if it was fixed I dislike it compared to something else, like commit-and-reveal. It seems like an attempt to prevent copy cat predictors, something commit-and-reveal would handle better. The formula provided CP = (1 - abs(EP-P) / EP)^2 means there is no penalty if someone votes exactly the same as someone else. Even if you meant CP = 1 - max(0, (1 - abs(EP-P) / EP))^2, it still seems like sacrificial sockpuppet bots could still easily ruin the prediction market system for others at virtually no cost.

  3. The time is so short. I understand that votes, which determine the outcomes, are coming in early and so you want the curators to make their predictions before that. I think instead that each curator's reward should be based on what additional information they provide to the blockchain beyond what is already known from voters. So as of the time a curator makes their hidden prediction, the amount of abs_rshares voted for the post up to that point is recorded. Then, after the reveal stage is over, that number is divided by the total abs_rshares that ended up voting for the post, which gives the fraction that is used in modulating the curator's share of the curation rewards. Someone who makes a very accurate prediction after nearly everyone has voted should get nearly 0 rewards because such a prediction is easy to do and adds no value. Someone who makes a close prediction well before most votes arrived gets rewarded far more. This mechanism would still mean that curators would need to vote early to get the most value out of their predictions. But the time scale would no longer be hard-coded but instead dependent on how quickly the people who would eventually vote on the post actually do vote on the post relative to its creation time. So a post may be submitted at a time when the people who would most appreciate the post are sleeping. And perhaps those awake are not aware of the fact that people who will appreciate and upvote the post soon are still sleeping. Then when one of these people wakes up, they can see the post (which may have been submitted hours earlier), recognize the value, notice that there are currently both few votes on it and few predictions, and make the decision to make a prediction based on their knowledge that their peers in their timezone waking up will very likely be upvoting it soon. Or some post that is days old with few votes may suddenly become relevant because of some world event. Those who are quick to make predictions on that post before the votes start coming in can still make a nice profit if their prediction turns out to be true.

  4. None of this addresses the issue that without a reward for voting (not curating, but voting), there is no financial incentive for voters to upvote other people's post (that they believe will be valued by the community) rather than just upvoting their own posts. The superlinear payout for voting rewards of a post means that voters can earn more money upvoting the successful posts (which ideally would be the good posts) rather than just voting their own posts to try to get a share of the rewards stream.

I'll add more thoughts and possible other recommendations after I think about the proposal more deeply.

I'm not sure whether a reputation score is needed and I'm increasing;y unsure whether there is even a problem at all that needs fixing. The allocation of rewards among participants is largely zero sum and the system is inflationary (and will likely be inflationary in practice even for SP holders) which means anyone who gains less-than-average rewards (including dumb bots, at least relative to smarter bots) is actually losing.

I guess the idea of a reputation is to penalize those who participate but make bad predictions more than those who don't participate at all, but I'm not sure that is even desirable from first principles. I suppose you could say that people who don't even have any SP are also spectators but aren't penalized, so that would be an argument for it.

If predictions must be entered within 30 minutes of posting, what happens when one of your favorite content creators is on the opposite side of the world and consistently posts in the middle of the night while you're sleeping?

A bot could allow you to up-vote and make a prediction.

In this case you would be risking your reputation when your bot increases your miss-prediction rate. This will hurt your potential curation rewards for things you are personally predicting.

My initial thought is that something like two hours might be optimal time. 30 minutes is little bit too short.

Why do you have to make money curating his content? By the time you wake up everyone will already know the expected value of his post. In fact, others will have made their prediction expecting your vote to be added 12 hours later. The purpose of curation rewards is to quickly filter content as it is submitted.

The purpose is also to endorse earlier votes. Early votes are voting on the post. Later votes are voting on the post and on earlier votes. That's why I suggest rewards for downvoting, but even the lack of an endorsement is sort of a punishment. The system is effectively zero sum to a large extent. If your early upvote fails to gain endorsements and other upvotes gain endorsements, then you are losing value even without having downvotes (facebook like or nothing model).

Q: what happens if you are sleeping

Change your sleep schedule (or be a passive reader). Look everyone can't be everywhere all the time. People on the same side of the earth will tend to vote on each others stuff more than people on the other side. That is unavoidable and not a problem.

BTW: I had to paraphrase the question because quoting it using markdown is broken.

BTW: I had to paraphrase the question because quoting it using markdown is broken.

How is it broken? Looks fine to me.

I got some kind of diff-ish looking tags visibly displayed on the web page. I'll experiement with some test/spam posts and see if i can reproduce it

I can't spend all of my time here reading these long well thought out post! I have too many titles and authors to skim within seconds and upvote as fast as possible. Could you please reduce your post to one sentence from now on so I can get on with securing a lifestyle of the rich and famous by clicking my mouse button? ;)

Funny. I also skip some high-quality posts to read the popular ones. I guess time will fix this

Now if we could see how many votes you got for "funny" we would know how funny you are.

I'd go along with what the data mining bot had determine.

IMO this will make it more complex for the regular Joe, steemit main value proposition is being a decentralized social network, not a social prediction market... I think the bot problem its being exaggerated and instead of implementing this complex prediction market idea I would prefer if voting rewards are reduced or even eliminated.

I agree that adding a prediction market would complicate the protocol.

The only people who will qualify for curation rewards will be those who make the best predictions on the future payout.

This will exclude ocasional users from being curators and may also frustate newcomers that dont get to be curators from using the platform.... steemit would become more like gambling site for a select few

I think steemit needs to be kept simple, I dont think bots will be an issue once steemit has 100.000 users because it is impossible to predict what contents may become viral, however if @ned and @dan think upvote bots are distorting the curation process I think its best to remove the rewards all together.

So the question is : how we fix the fucked up system and we still keep our huge stake untouched?
The answer is: there is no such way... but you can keep on trying.

Coin Marketplace

STEEM 0.18
TRX 0.13
JST 0.029
BTC 58049.95
ETH 3128.51
USDT 1.00
SBD 2.21