YAVAP - Yet Another Voting Algorithm Proposal - Or What I Actually Understand By Proof O Stake

in #steemit7 years ago (edited)


As I expected, my latest article about flagging received a lot of attention. Because there were so many comments, and because writing about a problem without even hinting at a solution qualifies as "whining" - which is something I try to avoid as much as I can - I will also present a potential solution. Since there were already so many proposals, I decided to call mine YAVAP, which, of course, stands for Yet Another Voting Algorithm Protocol.

The Problem

Voting in the Steemit ecosystem can be done in two "directions": up or down.

An upvote dislocates a certain portion from the daily reward pool (around 43000 STEEM generated by inflation) and allocates it to the post for which the vote was cast. The amount is proportional to the upvoter SP and to the vote power. The upvoter also receives curation rewards for his vote.

A downvote will take out from whatever a post already has and reallocate it to the reward pool. The amount taken out is also proportional to the downvoter SP and to the vote power. The downvoter doesn't receives curation rewards and it doesn't get slashed.

The "problem" is made of a few smaller problems.

  1. There is no real Proof of Stake, but rather a Proof of Influence. The amount of Steem allocated by an upvote is not backed by any real collateral, it's just calculated by whatever the upvoter presents to the system as having in his SP account. In other words, there is no skin in the game.

  2. The downvote negates a stream of previous transactions between the upvoters and the post, without getting any penalty. Also, downvoting has no real PoS, because the amount of Steem returned to the reward pool (and taken from the post rewards) is calculated by whatever the downvoter presents to the system as having in his SP account. There is no skin in the game.

  3. Because of 1) and 2) the entropy of the system is high and the predictability is low. No participant knows exactly the value of a bilateral contract between his "proposal" (the post) and the potential validators (the upvoters) hence the state of the system is unstable. Stability (or payout consensus) is reached only after a certain amount of time passes (right now 24 hours, after HF 17, a week). That makes the entire economical ecosystem built around Steem unstable and unappealing for new members. Eventually, the big stakeholders will control the game completely, no new participants will join, the perceived value of Steem will continue to go down (it lost 50% only during the last 2 months) until it will go below the threshold of the electricity cost needed to run the system (just like in Bitcoin these days).

The Solution

Putting skin in the game, for both directions of the vote: up and down. In other words, making Proof of Stake what is is: Proof of Stake.

1. Each upvote will contain a tip equal to the amount of Steem allocated from the reward pool.

Ex: if I upvote and my vote is worth 10 cents, the post will receive 20 cents: 10 from the reward pool, 10 from my liquid Steem account. For each vote, I will pay something from my own account and put skin in the game (or, in other words, I will make use of my stake).

2. Each downvote will incur a CBP (contract breaching penalty) from the downvoter, equal to the amount of Steem taken from the post.

Ex: if a downvote takes out 10 cents from what a post already received, the downvoter will also have to pay 10 cents in Steem from his liquid Steem account. The total amount will be redistributed as follows: 50% will be sent to the upvoters accounts, as a form of compensation (remember, they also paid with liquid Steem from their own accounts) and 50% back to the reward pool (just as it is right now). The amount sent to upvoters will be distributed equally among all upvoters, regardless of their contribution.

Benefits

  1. The reward pool will double in size: for each Steem allocated from there, an upvoter will tip another Steem from his own account.

  2. The upvote and downvote will become more conscious, which will result in a better curation activity, which will result in better content, which will attract new users.

  3. Bots makers will have to work out their AI and make the bots way better than today. A partially automated curation system, which will increase the quality of content is not at all unlikely, but in this setup, because of the costs incurred by an upvote, bots will have to be more carefully constructed.

  4. At the system level, each downvote will send back to the upvoters some Steem, as a compensation for their earlier votes. Psychologically, that will translate in a potentially more rewarding activity, even if the current post will be hit. It creates a positive loop and it still keeps the downvoters' right to not approve content they don't like. The author also knows that the voters received a compensation for their support.

  5. Although the entropy will not disappear completely, it will be much lower. If there is a downvote, the upvoters will be compensated for their contribution by the downvoter.

  6. The demand for liquid Steem increases, because now liquid Steem is needed for upvoting.

  7. Relationships formed will be stronger, although a bit slower in the beginning: if people pay from their own pocket, they will be ten times more careful. That's not a fact, by the way, it's my own perception.

  8. The psychological impact of a downvote will be less significant, since the amount taken out is only the amount received from the reward pool, not the one received via direct transactions (the tip part of the upvote) from the upvoters. So an author can lose maximum 50% of the revenue from a post. Please correct me if I'm wrong.

  9. Proof of Stake will become more than just a mechanism of signing transactions, and it may form the basis for a future governance system. In my opinion, Proof of Stake is not about showing how much SP you have (earned by writing or bought) and using it to manipulate the reward pool with no slashing and only benefits, but about how much SP you can contribute to the platform by curating and promoting valuable content.

Variations

There are a few other variations that may be interesting:

  • instead of paying with liquid Steem, voters will pay directly with SP. In this case, the demand for SP will increase
  • for each upvote, the amount of tips could be modifiable (with a multiplier, not an absolute value, as it may not be known exactly at the moment of vote), if an upvoter wants to give more to a certain post.

As I know the code now, I don't see any potential technical challenges to this system, but I'm not fully qualified for that, so a technical opinion on that is necessary.

Would love to know your comments, criticism and suggestions.


I'm a serial entrepreneur, blogger and ultrarunner. You can find me mainly on my blog at Dragos Roua where I write about productivity, business, relationships and running. Here on Steemit you may stay updated by following me @dragosroua.


Dragos Roua


You can also vote for me as a Steemit witness here:
https://steemit.com/~witnesses

Sort:  

Interesting idea. What if I vote for myself? In this case I tip to myself, so no real money out; no matter others downvote me or not, I'll earn the same.

Yes. That's the logic.

Then I don't think it's a good idea.

If you vote yourself, you don't take money from your own pocket, that's true. Your sum is zero. But you still take out from the reward pool, proportionally. If somebody downvotes you, that amount, from the reward pool, is sent back to the reward pool, and the downvoter pays a CBP, which is redistributed to all the voters, proportionally.

Ex: I vote and allocate 10 cents (I don't take out other 10 cents from my own account because it will mean I will send money back to me). Other 9 people vote me, and, in total, I have 1 SBD. It si made of:

  • 10 cents allocated by me from the reward pool
  • 90 cents from other voters, which in turn is made of 45 cents from the reward pool, and 45 cents from each voter account.

A downvoter comes, downvotes, so the 1 SBD is sent back to the reward pool. The downvoter also pays 1 SBD in penalties, which are allocated to all voters, proportionally: 10 voters means 10 cents each voter, including me.

So I don't earn 1 SBD, I earn, in this case, 10 cents, which comes from the downvoter. And that's only because I voted for myself. If I didn't vote for myself, I would earn nothing, as the result of the downvote.

We can discuss this topic, of voting for yourself, in more detail, if you want, and see what happens, for instance, if I'm simply not allowed to vote for myself (or I can vote, but the vote won't produce financial results, and it won't participate in the redistribution of the downvoter penalty).

It's clearer now?

It seems that you still haven't get the point. I'm talking about potential abusing. What if my post is just rubbish, and only I upvoted it?

//Edit:
If I'm not allowed to vote for myself, I have suck puppets that I can vote for.

That's a different use case, you're right. If there's only one voter, me, then allocating from the reward pool would be abusive. If we simply don't allow reward pool allocations for self-voting, that can be circumvented.

// Edit:
If I make 10 accounts and use them to vote my post, they will eventually run out of Steem, because each vote requires Steem, as opposed to how things are now.

The amount of STEEM that an account holds won't decrease, so no risk. They won't run out if planned well, for example vote for each other so everyone's balance won't change at all. If the voting will turn STEEM into SP, then power down accordingly.

By the way I'm a bit surprised whether you're a developer. You need to think about all possibilities in advance, and solutions, and new possibilities and new solutions and etc.

There's a bias towards grouping power to a single account, so, in theory, that should drive users to maintain at least one big account that will "herd" all the others. But what you pointed out, the "sock-puppets problem", really creates a few interesting cases, I will start thinking at them.

But even in this case, having skin in the game still has a few benefits, like doubling the size of the reward pool and increasing the demand for Steem/Steem Power which are not present in any other alternative voting proposal I saw so far. Wether or not that's a good thing, well, I think it is, but I may be wrong.

As for your last comment, thank you, I guess I'm not really a developer so I think it's better to stop making proposals for the Steemit platform, as it looks I'm not qualified. Which is exactly what I'm going to do :)

Cheers!

If it's easy to be gamed then the greedy ones will try to game it, even the big ones. Then the honest ones will leave. To me this is a major flaw. I could be wrong though.

I was not asking you to stop making proposals, but hope that we can come with better proposals / solutions. Brainstorming is good. When an issue is identified in a proposal, we evaluate its importance, if it's a minor one we may ignore it, if it's a big one we try to solve it, if it's hard to solve, we go on looking for other solutions.

Thanks for the efforts anyway.

I also like to brainstorm and I don't think I have all the answers, that's why I put the proposal up for review, to get feedback. I don't see any brainstorming in this paragraph, though:

By the way I'm a bit surprised whether you're a developer. You need to think about all possibilities in advance, and solutions, and new possibilities and new solutions and etc.

Anyway, moving forward, there may be other places where I can contribute, who knows...

Sorry I was emotional.

Several issues, moving money requires active key which could be a security concern.

Tips introduce micropayment costs which lowers engagement.

Potential solution i find is to make all payouts greater than a particular threshold a lottery ticket instead. This makes things binary and means that most votes have no impact on payments.

Thanks for your input.

  1. Active key can be an issue, I agree. But it can be mitigated.

  2. What do you mean by micropayment costs? If I send Steem/SP to somebody else directly, I should pay a fee? I was under the assumption that transactions are free in the Steem ecosystem.

  3. The lottery ticket sounds unusual. Can you detail? Especially how it will increase engagement?

.2. @dan means that you have intrinsic cognitive threshold on making any spending decision. This cognitive cost can be higher than the value of your decision. Thus engegement will be significantly lower. I do think that we should not move in this direction

It has been addressed in the article, when I say people will think ten times more when they will vote somebody. Also, there will be realignment in the user base, the speculative user base may go, leaving place for people who are looking for contribution.

Engagement comes after adoption, IMHO. You must first have some adoption in order to have somebody to engage with. At this moment, adoption is in much more distress than engagement in Steemit, because of the psychological effect of downvoting (specifically the fact that "your" money may be taken away by a whale). The debate, the drama, etc, all this may create engagement, but if you put money on the table, and as a result of the debate and the drama, people "lose" money, they will stop coming in.

If I understand correctly, you want to introduce even more entropy with this lottery ticket. I don't think it goes in the direction of my proposal. Authors need to have predictability if we want them to stick in to the platform.

If there is some place where we could introduce some entropy that could be curation. I wouldn't make it totally random, though (the algorithm will always be questionable) but I will put a threshold: only the first 10 articles will earn curation rewards, equally split among all the articles, equally split among all voters. That will maintain the incentive to keep voting, even if it costs something. It's still a "lottery", but at least creates engagement by pushing members to "fight" for the first 10 places (or "x" places, 10 is just a number).

Great idea, I like it. There have been people who have talked about various parts of this, from the tipping, and the skin, but not all together like this. Thanks for bringing this idea. Resteemed.

Thanks for the resteem, let's see if it's something other people will like.

I really like this as a possibility. 😊 I don't claim to have to foresight to see all the implications, and I presume there will be some side effects if it were implemented, but in particular I like that it should cost something to vote.

As I see it this move away from the company / sharedholders analogy a little bit, as obviously in a company it does not cost the shareholders to vote on any motion. The analogy has it's limitations here on Steem, and that voting should not be "free" of impact on investment is perhaps something that should be explored.

I think you've laid it out really well here. Now I'd love to see the reactions of those with a bit more understanding that me, like @abit, @dantheman and @l0k1 in particular. I have a suspicion that tipping cost would drastically change the incentive "game", but if you're right, it will be for the good.

Thanks.

Having skin in the game drastically changes any decision, not only voting. As it is right now, voting not only doesn't cost anything, but it's wired in such a way to bring rewards, so it's some sort of "investment" without really putting money on the table.

As long as anybody gets some money out of it, there's obviously no problem. Everybody's happy. But when the same "lack of skin in the game" manifests under the form of flagging, where you don't have to pay anything to vote and you just take out some potential rewards from a post and redistribute them, well, everything changes.

Steemit is already an amazing concept and I think we sometimes forget how advanced it is. My intent is to improve - if possible - an already functioning system by reducing the entropy and increasing the predictability.

As it is right now, voting not only doesn't cost anything, but it's wired in such a way to bring rewards, so it's some sort of "investment" without really putting money on the table.

Isn't that what SP investment is supposed to be though, money on the table (really in the safe 😉)? What is problematic is that this investment keeps you free of cost after that point completely, allowing you to use this one time "payment" indefinitely to vote and gain what rewards you do from then on.

So it's a difference of perspective. The current system is heavily biased towards investment as the desirable action, not "good" voting. In fact, from what I understand from the whitepaper, any and all transactions on the blockchain are good for the system, just so long as action is happening.

But when the same "lack of skin in the game" manifests under the form of flagging, where you don't have to pay anything to vote and you just take out some potential rewards from a post and redistribute them, well, everything changes.

Agreed.

Steemit is already an amazing concept and I think we sometimes forget how advanced it is. My intent is to improve - if possible - an already functioning system by reducing the entropy and increasing the predictability.

And a valiant contribution! 👍 Looking forward to seeing it discussed in more detail. 😁

Isn't that what SP investment is supposed to be though, money on the table (really in the safe 😉)?

Precisely. SP buys you influence in the entire ecosystem, in an "abstract" way: if you have this amount of SP you can move this amount from the reward pool (I'm oversimplifying, obviously). But once you get into a 1 to 1 interaction with another member of the system, there's a different level. Especially if the direction of the vote is down, because you, as a downvoter, are negating a string of votes that happened before you and which already generated results. I know the results are temporary, the final payout consensus is calculated after a certain interval, but they are still representing the will of all the voters before the downvoter.

This situation can be mitigated by a direct contribution, from the user's pockets, something that will supplement the "UBI" that gets printed every day in the reward pool. Or so I think, we shall see :)

I think they would be mitigated yes and it sounds very sensible. I'd like to see what the other effects are though, beyond what you outlined.

I just can't get on board with the idea that

as a downvoter, are negating a string of votes that happened before you and which already generated results

I see it as something which has not yet generated results. But perhaps it's best to agree to disagree on that perspective for now 😅

Of course, we can agree to disagree. :)

The amount is proportional to the upvoter SP

FYI right now it's not proportional, there's a bias towards concentraring SP on a single account, so for example one single upvote from @abit ( 3 mio SP) is around 6$ , one single upvote from @transisto ( 1 mio SP ) is just about 1$

Whatever that algorithm or that bias is right now, it should be doubled with an equal amount, that's what the proposal is about, but thanks for the comment.

For an upvote a voter pays 100% of voting value from its own Steem or SP. With todays curation rewards, maximum the voter gets is 25%. This means when the voter is the only voter, the voter looses 50% of it vote value. Example: vote value 10ct. Upon voting 10ct from the reward pool and 10ct from lets say liquid Steem. Return 25% of post amount is 5ct. Voter lost 5ct. Am I understanding your proposal correct? When so, there is a big hold to even vote at all and the whole system stops working.

I start to believe we have to get ride of curation rewards and work with author rewards only. In such scenario, there is no financial incentive for up/downvotes for the voter. People will still vote, but likely for the content, more than it is done now. How whales will handle this scenario regarding how they vote; who knows. It'll be the end of bots, that is for sure; And I think that'll be great for the quality of the content; Those who write posts, are doing this for others to read; But today sooooo many posts stay (almost) unread.

You understood the proposal correctly.

The only difference is that I don't think in terms of "voter losing money". The algorithm I'm proposing is part tipping, part reward pool allocation. When a voter casts a vote, he will do it knowing he will transfer Steem from his own account to the author account. On top of that, the author will also receive Steem from the reward pool. Whether the voter gets back something via curation reward, or not, is secondary. Think of it as a bonus for discovering good content.

Tipping-only communities are hard to start and almost never work. Reward-pool-only communities are biased, as we can see it right now. Maybe a middle way, in which we combine the best of the two worlds, will work out, who knows?

I do not believe at all tipping communities will work. When it costs money to vote/curate, I don't see people curating. Value is also not in blogging, at least not directly. In the blogging world outside Steemit, blogging is monetised through advertisment, a vlogger can get more when his/her followers group is larger and relevant to the one using the blogger. I see Steemit as a first app using Steem. However Steemit is not helping to make Steem relevant, certainly not with how rewarding is currently implemented and the 'wars' that are going on. For Steem to become a relevant currency rewarding needs to be changed; Bots needs to be killed; More Apps needs to be using Steem (but here is a catch22 situation; although I personally have ideas for some time already for services for which I could use a virtual currency, Steem does not seem to be the right currency as I start to learn a bit how Steem is used today).

You have some interesting ideas. However,I don't see the tip idea working,as this will be too costly for the minnows.It seems to me that this would result in a situation where most people can not afford curation.Or have I missed something?

The vote of a minnow allocates very, very little amounts from the reward pool, usually the third digit after the point, something like 0.001 USD. So 40 votes will take out from a minnow's account around 0.04/day.

Of course, one should make sure he or she can generate at least 0.04 USD/day in order to be profitable. Or 1.2 USD / month.

The good news is that potential winning doubles as well. Right now the daily reward pool sits at around $3,400/day (43,000 Steem * 0.08 USD/Steem). In the new scenario, the total amount of rewards will be $6,800 (the reward pool + the collateral of voters, or tip).

If the value of Steem gets back to what it was 2 months ago, namely $0.16, the numbers are:

  • daily reward pool: $6,880
  • collateral by voters: $,6880

Total: $13,760.

Interesting,this could work,but it's difficult from a psychological point of view.
You say that potential winning doubles as well,and I guess that means that people can still lose on this system.But I do agree that the idea is attractive. I hope you get more attention for this.

It doesn't double the potential winning, it doubles the size of the reward pool, because every Steem taken out from the pool is doubled with one Steem from the user wallet. We'll see how this plays out.

I think the concept of a "vote" turns a complex structure into next to nothing. We need to reinvent voting.

I like the creative thinking here. But, paying to vote? Simply, few will pay to vote.

The original voting in the U.S. was for a few; educated, property owners. They had a stake in the country and something to lose for foolish voting - their property. They were also educated and informed which is a recognized sine qua non of democracy. Opening voting to the masses, while sounding "democratic" only turned elections into massive duping of the masses to get votes.

On Steemit, we should be interested in evaluating posts and making subjective judgements for rewards. This is a tall order that can never be fully satisfied.

I think the best direction is have a scientific voting system. Articles on Steemit are whatever; a joke, a comment, rant, bullshit, serious opine, trash, fluff. They run the gamut. Science on the other hand has some basis. There is the scientific method. A relationship to reality is fostered by having the need for replication of experiments. Otherwise, people could just make them up. Furthermore, experiments have weight. How the findings of an experiment are utilized has merit. Are they used to make trinkets or save lives? Who is evaluating an experiment is important. Is it an undergraduate or a Nobel Prize winner in the field.

In short, I think if we came up with an effective way of evaluating and rewarding scientific endeavors we would have a "voting" system that had a basis. Then we could work on applying something similar to the activities of the masses.

Coin Marketplace

STEEM 0.18
TRX 0.14
JST 0.030
BTC 58478.70
ETH 3158.37
USDT 1.00
SBD 2.43