An Opponent of the Exponent: Making the Case for Vshare Linearity

in #curation7 years ago (edited)

In my last post, i described some criticisms i had of Snowflakes plan to change the Steemit curation system. In this post, i would like to share some of my own ideas. I should mention at the start that my default assumption is that people on steemit will vote in the future pretty much the same way they vote now.

Is it possible that strong incentives and disincentives either way will effect voting behavior. But in the real world, the magnitude and specifics of such effects are difficult to predict. Also, in order to have the desired effect, such incentives and disincentives must be so strong as to frequently appear heavy handed. A complicated pulley-based system of carrots and sticks is just as likely to fall over as to produce the desired results.

What is exponential weighting?

On steemit, the blogging reward pool is allocated according to vote weight on an n^2 curve. This means that if one user has X times as much steem power as another user, his vote on a brand new post is worth X * X as much as the other user's vote. So, for example, if i have 1000 steem power, and you have 2000 steem power, your vote is not worth twice as much as mine, it is worth (2 * 2 =) 4 times as much as mine. If i have 1000 steem power and you have 10,000 steem power, your vote is worth 100 times as much as mine is.

The F-word and the C-word

A mathematical equation is not good or bad in a vaccuum. Its a way to figure something out. Some equations are more appropriate for figuring certain things out than others. In my opinion, the n^2 curve has two significant factors that work against it being a good way to determine reward distribution

F is for Fairness

There is a notion that's widespread on steemit about the concept of fairness. We're told that life isn't fair, and that people who want a system to be fair are whiners, babies, or just generally out of touch with the way reality, business, the internet, or crypto currency works.

However, I believe that there is a reality of public perception deeper than this superficial, hip cynicism. Most people simply don't want to be a part of a system that they perceive to be unfair. Even if that system is unfair in a way that is neutral to them. A set of rules that acts to magnify an already significant advantage that the 'rich' have over the poor offends most people's sense of right and wrong. I think most of the general public understands percentage ownership as a concept because of things like stocks. I think most people are fine with the guy who owns 1% of the company getting one percent of the say. But when you tell them that the guy with 1% ownership gets only .01% of the say, thats when they say "fair is fair. Give that guy what he paid for"

It is beyond the scope of this post to discuss whether these notions of right, wrong, and fairness are useful, reasonable or "morally correct". But i do post to those reading this that (at least in my opinion) they are out there -- they do exist. If steemit has enough utility or appeal, many might be willing to participate in it despite not conforming these notions of right and wrong... However, we should ask outselves, is overcoming potential users fundamental notions about fairnesss really a hill we want to make ourselves climb? Isn't it better to avoid some obstacles.

C is for Concentration

Steem was initially mined by a very few early participants. Some of them were steemit inc employees. Others were just those fortunate enough to get in on the action early. The result of this is that there is a significant concentration of stake. There are many reasons why this concentration is an impediment to growth. Many potential investors might be hesitant to invest in a currency platform where a very large percentage of the coin is held by a very small number of people. They might be afraid of getting dumped on. Or they might be afraid (in a POS system) of rules unfavorable to smaller investors being adopted in hardforks.

Also, if contemplating a sizable investment, they might be concerned that even their sizable investment will not make them a "big fish in a little pond" that it might elsewhere. Even the guy who dumps 50 grand into steem, at this point, is still goign to have a very limited amount of influence compared to those who mined early.

I have seen many users, whale and non whale alike refer to stake concentration as the single biggest problem facing steem. And personally, I am inclined to agree.

So how is this relvant to the n^2 distribution? Simply speaking, the n^2 distribution serves to magnify the effect of the already existant cocentration of stake in an important part of the platform. If anything, it is desirable (to the extent fair play would allow) to ameliorate the effects of this concentration. But at the very least, we should try to magnify it as little as possible.

The N Word

N if for necessity

And necessity beats everything. If there is some reason we need n^2 to make the platform viable, then things like fairness and mitigating the effects of stake concentration are just luxuries we cannot afford. So why do we have n^2? Do we really need it?

The whitepaper gives a pretty good explanation of this, which ill summarize. One of the problems with letting users vote on the distribution of rewards is the potential for abusive self-voting. That is to say, if everyone just posts X times a day where X is the vote regeneration number, and upvotes their own posts and no one elses, steemit would be more of an anti-social network than a social network. The whitepaper description is below.

The naive voting process creates a Prisoner's Dilemma whereby each individual voter has
incentive to vote for themselves at the expense of the larger community goal. If every voter
defects by voting for themselves then no currency will end up distributed and the currency
as a whole will fail to gain network effect. On the other hand, if only one voter defects then
that voter would win undeserved profits while having minimal effect on the overall value of
the currency.

note: i'm not sure whether its entirely accurate to describe this game theory situation as a prisoners dilemma. For one thing, the participants can communicate with one another. It seems more accurate to describe it as tragedy of the commons, but regardless the point is easy to see. To counter this problem, they devised a two tier system.

The downvote method: Big polices Big

The first part of the system was primarily designed to counter abusive whale self-upvoting and self-upvoting from a whale-sized collusive group of self-upvoting non whales. . The idea was that whales would police other both other whales, and whale sized groups of collusive self-upvoters, with downvotes. They believed that this would be feasible because there weren't likely to be many whales, and abuses of this nature would be immediately obvious. For example, if abit or val one day decides to post the word "boobs" over and over and upvote it for the rewards, people would start to notice fairly quickly. And even if they attempted to conceal the ploy (for example by cutting and pasting random content) it would still be pretty obvious. At that point, the other whales could downvote the inappropriately upvoted material. This is what the white paper had to say about this method:

Regardless of how much money any one individual has, there are always many other
individuals with similar wealth. Even the wealthiest individual rarely has much more than
the next couple wealthiest combined. Furthermore, those who have a large investment in a community also have the most to lose by attempting to game the voting system for themselves. It would be like the CEO of a company deciding to stop paying salaries so he could pocket all of the profits. Everyone would leave to work for other companies and the company would become worthless, leaving the CEO bankrupt rather than wealthy.

Fortunately, any work that is getting a large concentration of votes is also gaining the most
scrutiny (publicity). Through the addition of negative-voting it is possible for many smaller
stakeholders to nullify the voting power of collusive groups or defecting large stakeholders. Furthermore, large-stakeholders have more to lose if the currency falls in value due to abuse than they might gain by voting for themselves. In fact, honest large stakeholders are likely to be more effective by policing abuse and using negative voting than they would be by voting for smaller contributions.

The quadratic method: Don't police small and medium

The downvote method used to police abusive whale self-upvoting did not seem like it would work for non whales. For one thing, there were likely to be too many non-whales to keep track of. For another, rather than a relatively small number of self-upvoted posts comments with top earnings, there would likely be a huge number of self-upvoted posts and comments with a very modest (but non-zero) payout. For a whale, non-trivial abuse might look like 5 self-upvoted posts or comments a day with a \$10 payout each. For a non whale, it might look like commenting "cool story bro" on 500 different posts, then self-upvoting all of them for 10 cents or something to get 50 bucks a day in ill gotten gains.

In pure game theory, its no less effective to police the "cool story bro" guy with downvotes than it is to police whales and collusive groups of non-whales with downvotes. However, in practice it would be more difficult. More time would have to be spent hunting down many non-so-obvious small offenses as opposed to few obvious large offenses. Also, it seems likely the small abusive self-voter seemed more likely to be a problem than the large one, because the small one had less stake in the success of the platform. So you had an offense that was both more likely to happen and less likely to be noticed when it did happen.

The solution ,the n^2 reward curve, made it so that a single or small group of non-whale users could not influence the distribution of the reward pool meaningfully on their own. If they couldn't do harm, there would be no need to police them.

In order to realign incentives and discourage individuals from simply voting for themselves,
money must be distributed in a nonlinear manner. For example a quadratic function in
votes, i.e., someone with twice the votes of someone else should receive four times the
payout and someone with three times the votes should receive nine times the payout. In
other words, the reward is proportional to votes^2 rather than votes

Quadratic voting makes sense. Kind of.

Its important to keep in mind that quadratic weighting makes sense in many ways. Consider what the white paper has to say "Assuming all users have equal stake, someone who only receives their own vote will receive much less than someone who receives votes from 100 different users. This encourages users to cooperate to vote for the same things to maximize the payout." This makes perfect sense. Because in this particular instance, when all the voters have the same stake, the person is being rewarded for honest-to-goodness cooperation and agreement on the quality of content (which is often difficult to achieve). But the other effect, that of magnifying higher stake voting power -- thats not real consensus thats just one guy (granted, he's a yuge freakin guy) agreeing and cooperating with himself.

N^2 is no longer necessary to prevent abusive self-upvoting

Institutions and procedures have been developed on steemit to use downvotes to police abusive self-voting
When the white paper was written, it would have been difficult to predict the formation of an organizations like steemcleaners, or predict the level to which non-whale self policing would emerge to prevent abuse. I've included a couple links below to illustrate situations where spam/self upvoting was adderessed quickly by the community and efficiently killed in the womb.

These are simply two that leap immediately to mind... there have been many comment spammers nuked. Is it possible that someone might get away with it for a little while? Sure. Its also possible that a much higher amount of money would go to people self upvoting their own legitimate material. But we don't have to prevent abuse or undesirable behavior entirely. We merely have to keep it in check to such an extent that it does not significantly impact the platform. An individual attempting to spam upvote himself would, in the best case scenario, realize a modest profit. But even this type of moderate success seems unlikely given the level of scrutiny all posts recieve.

Benefits of a linear Vshare system

The penalty for fractional voting is removed

Imagine that there are two whales, evaluating 100 posts, all of which are brand new. They both have 1 vote to cast. The first whale is an elitist. He votes only for one post The second whale wants to spread the wealth around, he votes at 10% for posts 10 different posts.

If the reward pool (say of 10000 steem) is distributed based on n^2, the first post would get 9090 and the other 10 would get 90 each. If the reward pool were based on a linear distribution, the first post would get 5000 and the other 10 posts would get 500 each. Does it really make sense of curtail the influence of the more active curator?

Because there would no longer be a penalty for fractional voting, many of the 1% votes on comments we see now would earn not only posting rewards, but non-trivial curation rewards. One of the things @smooth pointed out to me in one of the earlier snowflake threads was that curation rewards are partially superlinear, because even if no one votes after them, the whales get 25% of their vote value back when voting on a new post past the 30 minute mark.

Now consider for a moment. Lets say @smooth 's full power vote on a new post is worth \$20. That would mean that every time he votes on a new post (after the 30 minute mark) at 100% power, he earns a minumum of \$5 (25% of \$20). He might earn more if others vote after him, but he automatically earns that \$5 no matter what.

However, if he breaks up his vote, he loses out on those automatic curation rewards. For example, if he casts 10 10% votes, those votes are worth 20 cents each. That means that his guranteed curation reward goes from \$5 to 50 cents. If he casts 100 1% votes, he loses out on the guaranteed curation reward entirely (because his guaranteed reward would be under two cents and would get rounded down.) With a linear system, if he splits his votes enough, he will still eventually lose out on a guaranteed reward, but only if the value of his vote on a brand new post dips below 8 cents (which it might be close in a linear system at 1%, since he will lose some vote value from the system no longer being superlinear.)

Which is all to say, we are currently incentivizing high SP users to vote at 100% for fewer people.

Curation would become about finding good content, not about front running whales

In our super linear system, there are two things necessary to make any money at all through curation. The first is that you must vote on a post that a whale also votes on. The second is that you must beat the whale to voting on the post. If the whale votes before you, his higher Rshares will suck up all the curation reward weight. If the whale doesnt vote at all, the post won't pay enough to give anyone non-zero curation rewards.

This means bot voting (cause it has to be quick) only for authors with a reputation for attracting whales. And its where many curators are at right now.

Even relatively good curators like @ats-david and @biophil are really in the business of predicting whale behavior, not finding good content.

The butlarian Jihad

This will also make it far more profitable for front running bots (especially the big ones) to stop front running and just post on content unvoted after 30 minutes. As if stands, they leverage the superlinearity of the rewards to make up for the fact that they are sacrificing 90% of their 25% share to the reverse auction. Without superlinear reawards, sacrificing that 90% will almost always be a bad deal.

The bots that now make everyone's life miserable will essentially (provided they follow the money, which it seems reasonable to believe that they might) be turned into ministrants of charity, upvoting posts that might otherwise be ignored.

I am going to post some specific numbers comparing our super linear system with a linear system, a less super-linear system, and a hybrid system where party of the curve is linear and part is super linear later on today.

Sort:

Great post. We need to fix it. As I commented recently on @timcliff's post, I am open to different possibilities. Your suggestion belongs in the discussion. And if it's what the community wants, then I certainly will support it.

to be honest, in some ways im surprised its not an issue that gets brought up more. Everyone complains about stake disparity (and yeah its a real problem) , but you don't hear people talking frequently about how we're maxing out the effects of stake disparity.

For the last few months, I have worked hard to do what I believe is the right thing in terms of helping to broaden rewards to a larger group of content creators. You and I may not agree on everything. But frankly, I am tired of the disparity and would like the community to come together to find some solutions. Thank you for offering a very good one here and I hope that we can keep this conversation snowballing to build consensus for a good way forward.

For the last few months, I have worked hard to do what I believe is the right thing in terms of helping to broaden rewards to a larger group of content creators. You and I may not agree on everything.

I am a disagreeable (perhaps contrary would be a better word) person generally. Although i don't agree with your policy generally (for a variety of reasons) i don't doubt the good intentions behind it.

7 years ago (edited)

Hoping we can be on the same team and work together to get this thing fixed.

Great post!

I am strongly in favor of exploring this option. Personally I think a less exponential, but still non-linear function (like "n log(n)") would probably be the best option.

IMHO, `n*log(n)` will be only meaningful when its even-point with `n` is much higher than single whale's voting power or just higher than several whales, such as 35,000 MVESTS (which is higher than three biggest whales MV). However, I think that this superlinear system is still perceived negatively by non-whale new users because the system is still disadvantageous against them.
Linear system is the simplest and socially acceptable than any other superlinear system. What we only need is to address self-vote, but which can also matter and can be even worse with the combination of superlinear system and concentrated stakes (e.g. whale's self-voting or sockpuppet voting)

7 years ago (edited)

What do you think of the idea of `max(n-threshold,0)`. This is linear but with a shift that means pure self-voting is somewhat penalized and some number of the least-voted posts with only small (including spam) votes won't be rewarded at all (as opposed to a small amount). The latter will also reduce the volume of rewards processed by the blockchain.

One way to set `threshold` is as a function of voting, so for example 20% of the average votes on a currently-active post (20% might be a completely wrong number to use). That is easily computed by the blockchain.

I thought the same idea of setting a threshold and I am strongly for it.
Making threshold as a function sounds really good idea!

7 years ago (edited)

To be more specific the blockchain currently keeps `total_reward_shares2` (total vshares for active posts) and computes payout using `total_reward_fund_steem*vshares[post]/total_reward_shares2`. We'd need to replace that with `total_reward_shares` (not squared) and add `active_posts` (counter).

Post payout would then be `total_reward_fund_steem*max(vshares[post]-total_reward_shares/(active_posts*N),0)/total_reward_shares` (N here sets the threshold; 20% would be N=5)

EDIT: unfortunately this won't work to allocate the entire reward pool at the correct rate. More refinement needed.

Great. It would reduce self-voting issue a lot while addressing fairness issue.

^ i think i like this better than n log n, though i see either as superior to the current method.

Credit goes to @anonymint who mentioned it on bitcointalk i think.

I had a somewhat similar idea but with standard deviation. That is to say, you set X standard deviations below the mean as

The potential problem i see with this is a spam poster could flood the bottom 20% with a sock puppet account (like when iloveupvotes or matrix dweller were going nuts)

7 years ago (edited)

Standard deviation is going to be a lot harder to calculate on the blockchain but variance would work. In my proposal it is the bottom 20% by stake votes (or equivalently reward pool), not by post count. I don't think sock puppet voting that way is effective. However, just flooding the system with empty posts will reduce the average, so you are right some further refinement on it is needed.

Standard deviation is going to be a lot harder to calculate on the blockchain but variance would work.

Really? im kind of surprised. Standard deviation is just the square root of variance. I think it could be workable with variance though

7 years ago (edited)

Standard deviation is just the square root of variance.

Blockchains need to produce 100% deterministic repeatable results. Most practical implementations of floating point math functions such as square root have allowable rounding error that depends on the implementation. It is possible a deterministic approximation of square root could be used, but mostly the practice in blockchain code is to just avoid anything that is floating point (Steem currently uses none afaik). Similar problems exist for the suggestion to use n^1.2 or n^1.5. n log n works well because floor(log_2) (or some variant) can be used for 'log' and that is an easy integer function.

7 years ago (edited)

wow you learn something new every day. not that i necessarily understand what i learned. but no square roots or decimal exponents.

Can you please explain how voting curve penalize self voting? I don't get it.

7 years ago (edited)

Because voting on something that no one else votes for results in a much smaller reward, both content reward and curation reward.

If you look at the universe of posts, some with consensus voting from many stakeholders and some with just self-voting, the ones with consensus voting will earn the predominant portion of the reward pool under a superlinear curve. Self voting will still earn something, but it isn't much. Under a linear system, self-voting earns proportionately a lot more.

7 years ago (edited)

Yeah but someone who wants to vote for himself is by definition not going to vote for anyone else so how does this curve encourage someone to change his behavior and stop upvoting himself? Still don't get it. Sorry

If you look at the universe of posts, some with consensus voting from many stakeholders and some with just self-voting, the ones with consensus voting will earn the predominant portion of the reward pool under a superlinear curve. Self voting will still earn something, but it isn't much. Under a linear system, self-voting earns proportionately a lot more.

Ok got you , so it reduces the vote. How is consensus voting calculated ? Wouldn't someone with intention to self upvote just create lots of sockpuppets to upvote too?

I don't really think this feature is useful to be honest as users who self vote themselves without consensus are very easy to spot and downvote.

Someone with a large stake could split up his account and upvote and get consensus no? Do you know the exact calculation formula?

No. Someone with a large stake doesn't need consensus. The idea at the time seems to have been that large stake users would police each other, and smaller stake users would have votes so weak that they couldnt abuse the system significantly on their own.

No. Someone with a large stake doesn't need consensus.

Not saying that. I'm talking about the n^2 curve formula, someone could just split his account and not be penalized as it will look like there is consensus voting.

7 years ago (edited)

nesting

Consensus is based on steem power, not the total number of accounts using it (which is part of the problem with n^2). So if i have 10K steem power and you have 30K steem power, your vote is worth 9 times more than mine, because you have more consensus. You don't have to split your account into 3 10K accounts to get the bonus its already there.

Then how does it prevent self voting? It looks like the feature just penalize every post that have a small weight but don't discourage self voting at all.

7 years ago (edited)

[nesting]

Yeah but someone who wants to vote for himself is by definition not going to vote for anyone else so how does this curve encourage someone to change his behavior and stop upvoting himself? Still don't get it. Sorry

Harm reduction

There is nothing inherently wrong with voting for yourself. In fact the system autovotes by default whenever you post! The idea is to minimize rewards for anyone who does this and doesn't get other votes.

7 years ago (edited)

[nesting]

How is consensus voting calculated ? Wouldn't someone with intention to self upvote just create lots of sockpuppets to upvote too?

It is stake weighted to splitting up stake changes nothing.

I don't really think this feature is useful to be honest as users who self vote themselves without consensus are very easy to spot and downvote.

Fair point, although as the system gets large there is a reasonable argument that no one is really going to invest in doing that enormous amount of work. Sites like Facebook pay teams of people dedicated to handling hardcore abuse (such as posting child porn). Adding self-voting reward abuse to the task makes it even more challenging. In Steem there is no incentive to do any of this downvoting work. It is somewhat viable now with 1000 posts/day but with millions or billions of posts per day who is going to do it?

7 years ago (edited)

WIth millions or billions of posts (and therefore millions and billions of users voting all the time) , the self upvoter wouldn't be able to have a significant impact on reward pool distribution, even with a linear model.. there would be too many other votes being cast.

With billions of users, assuming the whale population increased at the same rate as the rest of the population, i don't think even a whale of comparable size to the ones we have now would be able to make much of a difference by himself.

It is stake weighted

Someone with a large stake could split up his account and upvote and get consensus no? Do you know the exact calculation formula?

Fair point, although as the system gets large there is a reasonable argument that no one is really going to invest in doing that enormous amount of work. Sites like Facebook pay teams of people dedicated to handling hardcore abuse (such as posting child porn). Adding self-voting reward abuse to the task makes it even more challenging. In Steem there is no incentive to do any of this downvoting work. It is somewhat viable now with 1000 posts/day but with millions or billions of posts per day who is going to do it?

Lots of people run bitcoin full nodes to verify transaction, they have an incentive to do it because they have a stake in it and it's their best interest that the system is working properly because it increases the value of their investment.

One thing this debate has revealed to me... is that lots of people seem to think the best way to increase the value of their account... is by behaving in ways that earn them more STEEM rather than by behaving in ways that raise the price of STEEM.

This is exactly what I think people need to stop thinking in term of more steem but in term of raising the price of it.

Users will downvote content because it will make the value of their steem more valuable. Downvoting abuse, means more rewards for genuine content, which means more value in the platform.

It can also make it more 'fun' for there to be some posts that are making a lot compared to the size of the reward pool. Even with n^2 today, we are pretty much only getting a few \$200 posts per day out of a ~\$7,000 reward pool. I worry that if it were a purely linear equation, the rewards might be too flat.

n log n seems reasonable to me (though ill be honest, i had to look it up when you first mentioned it) Im trying to figure out mongoDB right now to get a full days of posts and simulate what their rewards would have been under a linear system, n log n and a couple of other possibilities (one based on standard deviation also, and a hybrid one with starts out n^2 and has decreasing superlinearity).

One of the great things about changing reward curve is that, iiuc, its already designed to be somewhat motile (kind of like the regeneration rate, its just there defined on one line). You still need a hard fork, but its as easy as something that requires a harfork can be.

Yes, agreed. If you would be able to generate some awesome data, that would be awesome!

7 years ago (edited)

Interesting post!

I remember 2 other aspects from the White Paper. There IS a lottery effect from the current n^2 voting power formula, and it was a desired effect according to the White Paper. If you get a large payout once in a while, at an interval that you can't predict, then that plays on certain human psychology which is also at play when we gamble.

The second thing was the Sybil issue of people making multiple accounts. It is less profitable to spread your available steem power among multiple accounts than it is to concentrate it in one account, with n^2 voting.

How about a more moderate change rather than just going linear, which is in effect n^1 voting...

why not try an exponent less than 2 and greater than 1 for a while and see what the affect is. In fact, the exponent's value could be something the witnesses vote on, much like they currently vote on the SBD interest rate.

I would love to see what happens if we go to, say, n^1.5 voting. I think that would be a good experiment without being a drastic change. And then the witnesses could evaluate and change the exponent further, if they feel it needs to be changed, just like they change the SBD interest rate.

The second thing was the Sybil issue of people making multiple accounts. It is less profitable to spread your available steem power among multiple accounts than it is to concentrate it in one account, with n^2 voting.

No its not. Under the current system, if you have 100 accounts with 10SP each, its exactly the same as having one account with 1000SP. You gain no advantage and suffer no detriment.

I remember 2 other aspects from the White Paper. There IS a lottery effect from the current n^2 voting power formula, and it was a desired effect according to the White Paper. If you get a large payout once in a while, at an interval that you can't predict, then that plays on certain huann psychology which is also at play when we gamble.

I realize that, to a certain extent, i am trying to have my cake and eat it too by quoting the whitepaper in my post, then completely disagreeing with another aspect of it.

But i do and always have thought the lottery effect was a stupid idea (especially in the current system where the same people always win the lottery, but stupid generally.) I think youll get many more interested engaged people by making a system where everyone gets something that approaches a fair share based on the value of their contributions.

I thought that if a person had one account with 200 voting power, it would count for 4 times the effect of what would be the case if they controlled 2 accounts each with 100 voting power.

We give the witnesses the power to change things like the SBD interest rate and whether or not to hard fork; why not let them decide on the exponent of voting power, bounded in a range of 1 to 2? 2 would be no change from the current system. 1 would be linear. Let's go this way and see what happens.

7 years ago (edited)

one account with 200 voting power would have 4x the power of 1 account with 100 voting power. But the two accounts with 100 voting power, even though they are only 1/4 as strong as the 200 voting power account alone, when they combine their vote, they are just as strong as he is.

Now, if the 200VP guy used his account like 2 100VP accounts, he would lose out. FOr example, if he cast 50% votes on twice as many things. And if the 2 100VP guys vote for different things, then their strength is only half as much as the 200VP guy.

If that makes sense

It does make sense, thanks! I do have to think more about your first paragraph though. I see how 2 100 votes adds up to 200 when they combine vote, but each is still multiplied by the exponent separately. 100^2 + 100^2 != 200^2 So I still think, at the moment, that exponential voting prevents sybil activity, but I could be wrong! :-)

100^2 + 100^2 != 200^2

(100 + 100)^2.

So lets say your first 100 voting power guy upvotes a post (lets assume hes the first one). The post will now have 100 voting power voting for it and get 100^2 in rewards.

Now lets say the second guy comes along and also votes for the post. Now, the post will have 200 voting power voting for it, and get 200^2 rewards.

So if the first 100 voting power vote gives him \$1 in rewards, the second will give him an additional \$3 (for a total of \$4) and the third, if there is one will give him an additional \$5 (for a total of \$9)

But if these three guys all voted on seperate posts alone, they would only be assigning \$3

Many perceive the current lottery system as "being chosen by whales"

7 years ago (edited)

In fact, the exponent's value could be something the witnesses vote on, much like they currently vote on the SBD interest rate.

this is a super neat idea (though id have to think about it some before i came to any conclusions)

First of all, technically, integer is preferred (1, 2 or 3 for instance). Secondly, Sybil issue is not relevant because there is no difference between one big vote from an account or aggregated small votes from multiple accounts.
As @sigmajin well pointed out, the basic assumption of n^2 is equally distributed stakes, however this is not the case in the current Steem.
The only issue with linear system is self-voting. Regarding this, please see my comment above. IMO, self-voting is not a serious issue in the linear system.

This was very well done @sigmajin. I am one of those in agreement that Steemit and Steem's biggest problem is that of a lack of distribution of Steem. Since we can't really change the distribution of steem at this moment, perhaps changing voting weights is the next best option. Nicely done!

Why it have to be ether 1 or 2 ?
Couldn't it be 1.5 or something ?

7 years ago (edited)

yeah, it absolutely could be super linear but just less so than it is now.... which is certainly a possibility worth looking at. (edit to correct -- it could be super linear by less, but not by a decimal exponent)

We both came up with the same thought and commented at the same time! I think making the exponent a parameter that is changeable, like the SBD interest rate, is a way forward. We can try it at 1.5 and go from there.

Good post. Resteemed. I'll need to think on it for awhile before saying anything more profound than that, assuming I think of something profound. ;)

I strongly agree with your idea and this will resolve many problems. Superlinear system may prevent self-voting but it can be more vulnerable if voting power is very concentrated or big voters collude. In addition, superlinear system is not socially justifed.
With linear system, self-voting maybe an issue, but it is easily detected (over ten self-votes per day maybe needed to fully monetize accounts voting power) and it is no more than utilizing ones legitimate share.

I am both for removing curation reward and taking n system, but I think linearity should come first and if bots are still the problem then we can consider to remove curation reward.

Thanks for the good post.

I don't think removing curation rewards is necessarily a bad idea per se, but i agree with you that something like this should be tried first. Inasmuch as one can say that curation rewards are broken, this could go a long way to fixing them. I mean there should at least be an attempt to preserve them in some useful form

Agreed. At least the complex curation game system, such as 30 minutes window and front-running , should be simplified. I'd rather fix reputation (or engagement) system as I suggested than merely removing curation reward. But I think up to 25% of curation reward is quite high compared to efforts for creating contents. Maybe fixed value of around 5% enough?

7 years ago (edited)

im not sure the reputation system has ever been salvagable. It was a disaster from the moment it was introduced and it has gotten worse. People with currently high reps aren't going to like it, but my answer is shoot it in the head and start fresh with something rational.

5% is too low, IMO. One of the things you have to remember is that the reward is split between many. So on a post that makes 50 bucks with 100 voters, that's going to be like \$2.50 split 100 ways. personally, i don't think cutting it in half and removing the reverse auction is a terrible idea. My understanding is that the initial adoption of the reverse auction was somewhat controversial.

The reverse options encourages people to use bots because it is very hard to catch 30 min time window for 24/7.

I think smooth's idea about making them less front-loaded would solve a lot of that.

7 years ago (edited)

I have seen many users, whale and non whale alike refer to stake concentration as the single biggest problem facing steem. And personally, I am inclined to agree.

So how is this relvant to the n^2 distribution? Simply speaking, the n^2 distribution serves to magnify the effect of the already existant cocentration of stake in an important part of the platform. If anything, it is desirable (to the extent fair play would allow) to ameliorate the effects of this concentration. But at the very least, we should try to magnify it as little as possible.

I agree on this point (previous comment was written after I misread what you wrote so I edited it)

I am going to post some specific numbers comparing our super linear system with a linear system

This is gong to be a nonsense analysis that assumes voting behavior doesn't change under a completely different ruleset.

BTW, I'm in favor of a flatter curve but I don't think it is necessary to go all the way to linear and entirely remove the favor that the system gives to content where there is a consensus of stakeholders in support. The n log n curve that has been proposed to be used for a separate comment would seems like it would be fine to just use for everything. Most of the extreme effects you describe in your post due to n^2 would no longer exist.

This is gong to be a nonsense analysis that assumes voting behavior doesn't change under a completely different ruleset.

I don't think everything will stay exactly the same, voting habits will probably change. but i also don't think a change like this is enough to make it freaky friday.

And there is actually information that can be predicted with certainty (for example, the value of a users vote , provided we can count on vote utilization to remain relatively constant.)

The n log n curve that has been proposed to be used for a separate comment would seems like it would be fine to just use for everything. Most of the extreme effects you describe in your post due to n^2 would no longer exist.

Yeah, i think n log n would solve most of the problems and a compromise solution like that seems like it has way more support.

7 years ago (edited)

but i also don't think a change like this is enough to make it freaky friday.

Then the change isn't worth making (to be clear I think it is worth making, but I think it would cause, over time, tectonic shifts in the voting behavior and user perceptions, both at the high and and the low end).

Followed!

This is all true. I only use SBD for a hedge for bitcoin and power up because the rewards are almost nothing anyway.

STEEM 0.17
TRX 0.13
JST 0.027
BTC 59026.89
ETH 2655.48
USDT 1.00
SBD 2.50