[Discussion Post] Abuse fighting and a new 'Whale Experiment'?

in #discussion4 years ago

All liquid rewards from this post will be distributed to commenters by the experimental @penny4thoughts account in order to encourage and reward meaningful engagement


image.png

Pixabay license, source

Those of us who have been here for a long enough period of time may recall a period of time that was known as the "Whale Experiment" or the "Whale No Vote Experiment". It is possible that this experiment may suggest a path for abuse-fighting today.

History of the Whale Experiment

I'm going from memory, so I don't remember exact dates and version numbers, and this may not be 100% accurate, but to the best of my recollection, the Whale Experiment was launched by @abit and @smooth (both of whom now seem to have mostly left the platform).

At the time, curation rewards were being paid out in an N2 curve, and the idea was to simulate a linear reward curve by using their downvotes to cancel out all "whale votes" above a certain threshold. This was done because the community perception was that the N2 curve was disproportionately favorable to large stakeholders, and a group of insiders decided that it might be a good way to generate support for a blockchain hardfork which would change the reward curve to linear.

The experiment was thrust on the blockchain with a surprise announcement from @abit and lasted for a period of several months. Stakeholders decided that the results were favorable, and a hardfork was instituted in order to implement a linear rewards curve (which was later changed to something greater than linear, but substantially less than N2).

Analysis of the Whale Experiment

The way that the experiment was thrust on the community with no advance notice and no community involvement in the decision making was a sore point for many Steem authors. Also, many people were disappointed at seeing their large potential payouts downvoted away to nearly nothing for no reason except that a "whale" had voted for the post. A final source of frustration among many was the absence of clearly defined end dates, or acceptance criteria. Many people argued that an experiment should have started with a statement of design and goals.

On the other hand, it did seem to suggest that linear voting would be more fair than the existing solution, and it gave the stakeholders some data to use in decision-making for the next hardfork.

In short, it may not have been perfect, but it ushered in progress.

Abuse

As a large community of Hive exiters is leaving the blockchain, it has been argued that many of them are abusing the blockchain by exercising their stake in a way that will be beneficial to Hive and harmful to Steem. To play Devil's advocate, others may argue that legitimately acquired stake may be used in any fashion that the owners wish.

Regardless of the specifics of Hive, however, it has long been observed that abusive voting patterns exist. These include knowingly casting up-votes for vacuous or plagiarized content, downvoting content for arbitrary reasons - especially in the context of "flag wars", comment farming, and more.

Now that a number of abuse-fighters have left the chain, the abuse has become more apparent.

An experiment as a solution?

2nd Price Auctions

I have long argued for the use of a rewards curve that's inspired by a 2nd price auction in order to curb abuse and improve voting "honesty".

What is a second price auction? In short, it's an auction where the winner is the person who makes the highest bid, but the sale price is the value that was risked by the 2nd-highest bidder. If my knowledge is not outdated, this is something like the process that Google uses for pricing their adwords product. The second price auction has the very nice property that:

bidders have a dominant strategy to bid their true values

How does this apply to voting?

Imagine a tournament in an activity like karate, diving, gymnastics, or any other sport where a competitor is judged based on scores from a team of judges. In many of these tournaments, the highest score and lowest score get discarded, and the competitor is awarded the average of the remaining votes. This eliminates the disproportionate influence of extreme outliers.

Similarly, with an algorithm inspired by 2nd price auctions, the voters who contribute the highest rshares (positive and negative) would have their own contribution sent back to the rewards pool, but they would continue to receive curation rewards based upon their rank (and time) in the voting. Basically, everyone slides down one slot and gets credit for the next highest voter's rshares.

Why do I think this would curb abuse? Because knowing that their rshares will be wasted unless matched by another voter, a person is liable to self-regulate their voting. Which means that in order to maximize their rewards, the largest voters will be motivated to carefully consider the actual value of a post, instead of just casting large votes early. Also, as a side effect, a post would require at least two votes to pay out at all.

It has been pointed out that this is vulnerable to a sybil/stake-splitting attack, but that comes with a cost, because one vote will be discounted. Voters who split their stake into many accounts would be easier to find. Voters who split their stake into small numbers of accounts would have to sacrifice large rewards in order to continue in abusive voting. The super-linear rewards curve also imposes additional penalties for stake-spiltting.

What kind of experiment?

Everything so far has been a rehash of things that have already been done or suggested. Here's what's new.

I don't know what the state of Steem developers is at the moment, but I assume that Steemit is still regrouping, so no blockchain level changes are coming any time soon. However, it recently occurred to me that something like the Whale Experiment could be executed to simulate this reward curve in a way that requires a much smaller technical effort.

To do this, a group of large stake voters would agree to (automatically) monitor the payout queue and vote on every post above or below selected thresholds, just before payout time. On positive value posts, the vote would exactly cancel out the highest value upvote and on negative value posts it would exactly cancel out the largest downvote. The thresholds could be tuned according to available voting power and the reactions of abusive voters.

Learning from the previous Whale Experiment, I would argue that this should be done with the following constraints:

  • Solicit public feedback before beginning
  • Communicate widely to make sure the change doesn't take anyone by surprise
  • Create an experimental design including start date, stop date, and goals of the experiment

If everything is planned and communicated in advance, the largest voters could begin tempering their votes before the experiment begins, so we might hope that the downvotes will not reduce the pending rewards by tremendously large values.

Because the rshares go back to the rewards pool after downvotes, the net effect on total payouts would be zero, but we can hope that the distribution would be more in line with the voters' actual value appraisals for the actual posts.

It should also be noted that this sort of experiment might radically change the competitive landscape for bidbots, which would find themselves constrained by the same curation incentives as other high-value voters.

Conclusion

So those are my thoughts. What are yours? Please comment.


Thank you for your time and attention.

As a general rule, I up-vote comments that demonstrate "proof of reading".




Steve Palmer is an IT professional with three decades of professional experience in data communications and information systems. He holds a bachelor's degree in mathematics, a master's degree in computer science, and a master's degree in information systems and technology management. He has been awarded 3 US patents.

Steve is also a co-founder of the Steem's Best Classical Music Facebook page, and the @classical-music steemit curation account.

Sort:  

This is an interesting thing to consider, although I think seeing powerful accounts downvoting every post I make would be unpleasant even if it was arguably for a good reason.

A lighter-weight experiment might just be to show the payouts from a variety of different algorithms, e.g. an app that takes a permlink as input and calculates the rewards, or maybe a comment bot that posts to each post (although that could be spammy). You wouldn't get second order effects from people changing behavior to adapt to different algorithms, but it could at least be informative.

I think seeing powerful accounts downvoting every post I make would be unpleasant even if it was arguably for a good reason.

You might be right about that. It was quite definitely a sore point the first time around. Communicating it in advance might minimize that frustration, but then again, it might not.

I actually wrote a simulator that would report the actual rewards and simulated rewards under a 2nd price auction algorithm back when the rewards curve was still linear. I never collected data on large numbers of posts, though. Just a few hand-picked examples. You're also right that this technique would not tell us about the way that people will adjust their behavior.

I like the idea of looking at more than just two candidate algorithms at the same time. That's not something I had considered before.

Coin Marketplace

STEEM 0.17
TRX 0.15
JST 0.028
BTC 56775.06
ETH 2345.64
USDT 1.00
SBD 2.36