How Vote Incentivization Degrades Delegated Proof of Stake

in #dpos7 years ago (edited)

One of the discussions that keeps coming up is the topic of ‘Vote Buying,’ or ‘Witness/Block Producer Dividends.’ I’ve been thinking about how these topics relate to Delegated Proof of Stake for quite some time now, and I've finally gained the impetus to formalize what I had been working on previously.

If you know a bit about my efforts leading @steemcleaners and @cheetah here, you know I’m a big fighter of things that are fraudulent. So something that might be considered ‘electoral fraud’ is incredibly important for me to understand, especially given that I am currently a top elected block producer here on this DPoS network, Steem.

As a primary disclaimer: Vote Buying and Vote Incentivizing are definitely two different things. Vote Buying would be a transactional approach, an express guarantee of a vote in exchange for money or barter for value (including perhaps a return vote). While most would agree that this behaviour is (or can become) dangerous or corrupt, the latter is a bit harder to explain.

Vote Incentivizing is something different. Instead of being an explicit transaction, it’s a financial incentive to act in ways that will benefit you, rather than the community as a whole. As I plan to prove in this post, vote incentivization ends up boiling down into the ‘Tragedy of the Commons,’ where this selfish interest ends up undermining the whole purpose of a Delegated Proof of Stake System. Thus, because of its consequences, it is important to understand and discuss the implications of vote incentivization.


Note: This post assumes you have prior knowledge on how Delegated Proof of State (DPoS) functions -- while some might be explained, it will be written from the assumption of basic prior knowledge. If you feel shaky on the basics of DPoS, I would encourage you to look at the following resources:


In this post, I am going to prove the following theorem:

Theorem: In a DPoS system where voters maximize their interest in elected Block Producers based on the dividends of their DPoS block rewards, the system will become equivalent to a system that doesn’t have a DPoS block reward at all.

A Primer & Explanation of the Proof

First, what does the theorem actually mean?
The theorem is trying to say this: when Block Producers start offering a kickback to their voters in the form of payments to whoever votes for them, whether through directly Vote Buying or indirectly Vote Incentivizing, and voters primarily care about increasing their own reward, eventually this system -- through competition and people acting in self interest -- will degrade. As it degrades, it eventually reaches a point where there isn’t even a point in rewarding Block Producers at all, and then the Block Producers themselves are completely arbitrary.

The proof begins with the idea that, if voters seek to maximize their own reward, they will vote for the Block Producers that offers them the highest dividend -- the ‘biggest kickback’ out of their block reward. So, if you vote for Alice, and she gives her voters back half the reward she gets from producing blocks, you get a piece of that pie. Sounds awesome right? Free money just for voting for her?

Then, in the next step, you see Bob offering up 75% of the reward he gets. If your primary driver is profit, and because that’s more free money than Alice, you definitely prefer Bob. So you change your vote.

But Alice wants to compete, and she offers 90%. Bob won’t have it, and offers 99%. Charlie jumps in offering 99.9%... and so on. Eventually, so long as there is someone willing to run their Block Producer for free or basically free (maybe they run ads to pay for their server? Maybe they are a special interest group?), then you and everyone else seeking to maximize profits have now have elected group of Block Producers giving ALL their rewards back to their voters. At this point, Block Producers are making nothing -- they don’t have a ‘block reward,’ it’s all given away.

But it all goes to you, the voter, right?

Wrong. It went to everyone, because you all equally dug yourself into this hole. In fact, none of you voters got anything relatively more any other voter -- it was all fair. Effectively, you all end up with nothing of value for your efforts; if you had $100 before, you have $100 after. Nothing changed.

But there is one more scenario that we haven’t considered. What if the Block Producer offers you a token, and tells you they will share their block reward with their token holders -- is that any different? As it turns out, if voters want to maximize their reward in this case, it becomes exactly the same as a direct dividend. This is a bit harder to explain in plain English, but it goes something like this:

If you have the Block Producer Token, and you find it favourable because you see they will share some amount of their reward with you, then you’d like to vote for that Block Producer to ensure you will get your reward. Then, when everyone else also tries to seek that fair solution (and no one likes a solution where they get paid less than fair), the only fair solution that arises is exactly the same as everyone getting proportionally equal rewards -- just like regular dividends!


The Proof

For the sake of simplicity, we will discount token inflation from other sources, as they are irrelevant to the proof. We will only prove the effect on the inflation of block production in DPoS itself.

Suppose we have an arbitrary set of voters V, with a distributed stake for a total sum stake in the system T. Suppose we have a defined (but arbitrary size) set of Block Producers W ⊂ X that may be elected by the voters. We will prove by induction that if the evaluation metric of voters, ∀v ∈ V, is strictly weighted by the size of the dividend percentage of a given Block Producer, D(Xi), i.e., max(D(x) ∀x ∈ X), then the system will iteratively degrade to become equivalent to not having a block reward at all.

Theorem: There is a functional equivalence of all Block Producers (BPs) giving out all their rewards to voters, to block production not generating any reward at all.

We will tackle this proof with two separate lemmas: the effect on the BP, and the effect on the voter.

Lemma 1: Given the continued ability to offer more dividends, and if voters prioritize dividends for their voting decision, eventually the group of elected BPs will give out all their rewards. (BPs receive no reward.)

First, suppose in an initial state, we have the vector D(X) all zero. A specific voter will arbitrarily vote, as the evaluation D(Xi) is equivalent ∀x ∈ X. Any x ∈ X at this point can become elected into W purely by increasing D(x), their dividend percentage. This is the zeroth step.
In the inductive step, any BP can then become elected by choosing a value of D greater than min(D(w) ∀w ∈ W)), as the evaluation metric for voters will place this new BP above the BP with minimum D in the elected set.

Iterating the inductive step, we will arrive at a set of W with maximum possible value D: 100%. This is to say that ALL BPs return 100% of the funds to their voters.

It can also be proven by contradiction that there is no BP in W with less than 100%.

Proof: Suppose there is a BP k ∈ W with D(k) < 100%. However, as long as there is some BP u ∉ W, u ∈ X, willing to return 100% to voters, by definition D(u) > D(k). As voters must choose max(D(x) ∀x ∈ X), this is a contradiction.

So, we have arrived at a state where all voters obtain a dividend of 100% from BPs, and therefore BPs receive no reward. Now we will prove the following:

Lemma 2: If some v ∈ V has a relative percent stake of v.s/T, they will remain at the same relative stake v.s/T, and this is true ∀v. (Voters receive no reward.)

A voter begins with a relative stake v.s/T. When the total tokens T expands by P as a result of block production rate, a given voter will receive v.s/T % of these new P block rewards, because a BP pays their voters proportional to their stake, and the voters all vote for all the elected BPs (as voting for a non-elected BP would remove the voter’s dividend, and their goal is to maximize their dividend return). Thus, their new relative stake is (v.s + P*(v.s/T))/(T + P).

We can simplify this equation to ((v.s/T + v.sP)/T)/(T+P), apply the fraction rule, and get (v.sT + v.sP)/T(T+P). Further simplification brings this back to v.s/T. This is a formal way of saying that the stake of a given voter no longer changes relative to any other voter, when they all apply the same voting strategy of maximizing return dividends. Therefore, we can say that it is functionally equivalent to a voter not receiving any reward at all (as their relative stake does not change).

With Lemma 1 and 2, we have now proved our theorem that there is a functional equivalence of all BPs giving out all their rewards to voters, to block production not generating any reward at all, as no one -- voters nor BPs -- is rewarded. Finally, we will also show that ‘Block Producer tokens’ are no better than direct dividends.

Lemma 3: An airdrop/ICO of a token distributed by a Block Producer, with an express guarantee of buyback/burn, or a dividend of Block Producer rewards to their token holders, is equivalent to a dividend.

For the sake of simplicity, we will use dividends of BP rewards to their token holders, as it is easy to prove that buyback/burn of Block Producer Tokens (BPT) is mechanically similar. First we will quantize voter interest in a given BP and their BPT.

A voter's expected return with a given BPT can be represented as the ratio of the stake of their vote in T (given as v.s/T), relative to their stake in the BPT (given as v.sbpt/Tbpt) which we call a voter's amplitude.

Some examples: if a voter's relative influence is the same (v.sbpt/Tbpt == v.s/T), their amplitude is 1. If they have twice the influence in the BPT than they do in T, their amplitude is 2 (v.sbpt/Tbpt == 2*v.s/T). If they have no participation in the BPT, their amplitude is 0 (v.sbpt/Tbpt == 0*v.s/T, as v.sbpt is 0).

A voter's interest in a BP is governed by maximizing his amplitude in the BPT. In other words, it is favourable for a voter to have an amplitude >= 1, and unfavourable for a voter to have an amplitude < 1.

Lemma 4: The expected value of any and all given voters’ amplitude, i.e. the maximization of all voters' votes, is exactly 1.

Proof: Suppose there exists some equal or better BPT with a voter that has an amplitude > 1. This must by definition mean that at least one other voter has an amplitude < 1, and thus it is not preferable to this other voter, which is a contradiction.

Therefore, as the expectation of all voters' amplitude is 1, then v.sbpt/Tbpt == v.s/T ∀v ∈ V.
It is trivial to see that when these become equal, and when dividends are given to the token holders, they become distributed in the exact same fashion as direct dividends -- making a BPT dividend equivalent to a regular dividend. Then, the previous proof can be used to arrive at the same conclusion.

To summarize the combined lemmas:

In a system where block production rewards are distributed by dividends to voters, regardless of distributing it through their own token or directly to voters, this system, when maximized for voter interest in dividends, degrades to a system where there no effective block production reward at all: no reward to the BP, and by extension, no reward to the voters.


But what does this all mean?

When there is no longer any incentive for a Block Producer to remain honest, it may become untrustable: it is commonly touted with DPoS that the Block Producers should have some incentive to operate their expenses, and to incentivize their good behaviour, as a salary for their provided security. If not, it opens perverse incentives in the form of bribery, where a Block Producer already giving away all of their reward may opt to receive external income in exchange for loyalty.

Or if a Block Producer chooses to give to their voters MORE than they earn -- paying their voters out of their own pocket -- they can replace the other Block Producers. In this case, since a Block Producer who is paying more than they are receiving must have a source of these funds, it is very possible that they are a party with a nefarious agenda in becoming a Block Producer.

None of this is actually reality.

 
I agree.

The thing is, we have only isolated a single variable in these proofs -- if voters care about maximizing their profits. That is certainly not reality. In real voting systems, even with full fledged vote buying, there are people who are incorruptible, and people who will vote against their own self interest in an altruistic fashion. Further, most voters will consider many factors when voting for a given block producer. They might only factor in, “Alice seems trustable, and I like her.” I am not discounting that at all, I am simply trying to show the danger if the majority of people act in their own self interest. What happens when the answer becomes “Alice seems more trustable, but Bob is giving me more money…”

And this is where it starts becoming a problem. One might begin by thinking that it isn’t really that big of a deal -- Bob had leftover rewards, so he gave it out to his voters. But this becomes a form of vote incentivization. And if Bob instead bought back his ‘Token’ with his rewards… sure, the reality is that the distribution of those tokens probably wasn’t maximized, but it will still be some partial form of vote incentivization. Then Alice responds by offering her own dividend… and down we go.

So the reality ends up as a mix. It isn’t black and white. There are partial incentives, and some people will act in their own self interest while others will act in the interest of the community. The point of this post is only to highlight the problem when self interest is isolated and maximized.

I still don’t understand if [specific case] is vote incentivization. ELI5?

For the case you are considering, ask yourself: is the expenditure of the block reward in the goal of VALUE CREATION, or is it VALUE TRANSFER?

Once you have an answer to this question, it might become more clear. If you are reinvesting your block producer rewards into meritorious projects that add value to the system, you are in the former category. If you are hiring employees to build things, the former. Investing in infrastructure, the former. But, if you cannot justify any value being created, you are doing the latter -- and the odds are high that you’re vote incentivizing. If you promise someone a part of your block reward, even indirectly, even “for no reason”, you are incentivizing people to obtain a piece of that pie.

Instead of doing a transfer, if you think the Block Producer reward is too high and the ‘leftovers’ should somehow go back to the community, then your real petition should be to lower the block reward in the code.

Also, in regard to the idea of Block Producer Tokens, here’s an example that might help: if Bob is running for Mayor, and he gives you money and says “There’s more where that came from, if I stay elected! ;)” Is that vote incentivization?

What if Bob gives Alice money, then Alice gives you money, and she tells you “There’s more where that came from, if Bob stays elected. ;)” Is that no longer ‘vote incentivization’, because we played telephone? If you tell me it’s fine, because Bob didn’t tell you to vote for him… then, boy, do I have a good deal on a bridge I can sell to you.

Finally, the argument that all Block Producers offer some form of incentive to vote for them isn’t exactly sound. Block Producers should offer value creation, and they should do this for the good and security of the whole system. If the incentive is meant for security, then it should not be used for the transfer of financial benefit to a subset with aligned, special interests.


Some extra food for thought, and some ideas for another day…

  • If a block producer requires an incentive, quantitatively what does that incentive need to be to obtain security (what is the magic number)?
  • What would ‘reasonable security’ look like?
  • Could we actually envision a model working with zero reward, and only altruism?
  • Should we democratize what the block reward is (say, stakeholders voting on the block reward)?

Additional Credits:

Thanks to @complexring for feedback on the proofs. Special thanks to @lukestokes for all the input and insight from our discussions on this, even if we don’t necessarily agree on it all. :) Photo/icon by Iyikon.

Sort:  

cool

Impressive work. But there is problem with the proofs from Block Producers side. No honest Block Producer can offer all of their rewards to voters therefore rational actors will in fact choose the cheapest BP (those giving the most rewards) that can secure their value.
Imagine that Alice returns 90 % of rewards but she has bad internet connection and she is willing to vote for any crazy hard fork and Bob returns 50 % of rewards but has good quality connection and understands the technology. With Alice, you risk that all your tokens can quickly become worthless and that must be part of your rational calculation.
The problem is that quality of Block Producer is very hard to quantify. And I must give you that dishonest BP can offer more rewards to voters than honest one.
Great thought process, I'm happy to hear that somebody thinks about DPoS that deeply.

Thanks for the insightful comment!

No honest Block Producer can offer all of their rewards to voters

I disagree, because it's kind of already happened. A year or so ago, the witness reward was so small (as steem was something like 4-6 cents) that ALL witnesses were operating at a loss compared to the fair market value of their CPU time. So we've already seen it happen before. Further, I was actually one of these witnesses, and if you ask me if I would do it again, I'd probably say yes -- I believe in Steem as a disrupter of traditional systems, and I would be willing to support it once again for free if it came to that. But for security reasons, I also think it's quite dangerous to have that situation occur. So I have mixed feelings on my food for thought question about "what is the correct reward to give?"

What you get into the second part of your comment I kind of cover in my 'reality?' section, and I basically agree. At some point people will hopefully weigh their long term interests (of value security) greater than their short term interests (of immediate financial reward). Unfortunately, you have to believe that everyone else will also understand and evaluate intelligently and rationally all of the risks -- and they may not do that if they believe they can skirt the edges and line their pockets.

Be nice to know some stats on how many witnesses fit in what category. Do many of the top 20 reward for votes? It would definitely be a bit pointless as the reward would decrease as more vote, but I suppose that was your point. I didn't really understand the funny symbols you were writing. 😂

To be honest as a new witness I didn't get in this for personal reward. But I would like my server costs to be covered, that would make me happy. My opinion on being a witness is that it shouldn't be for personal gain. But I know that won't fly with most people. But also if the reward was reduced or even removed would many still become one? Hopefully there would be enough that care 😁

Interestingly, as far as I am aware none of the top 20 give any kickback to those that vote for them as a witness. So that's good news here! (Edit: I might be mistaken, jerrybanfield could be, but I don't have enough information on his actions to make a full conclusion.)

But if you go look at some other DPoS systems, you can see some degradation, with 'delegate pools', so we aren't immune to the possibility of it happening here.

To be honest as a new witness I didn't get in this for personal reward.

I'm glad you feel that way, and I feel the same way for sure -- and I believe that's how all block producers should be thinking. It should be primarily about the good behaviour of supporting the system. :)

Jerry doesn't do kickbacks but he did spend thousands buying votes from whales and suspect a lot more on and off the chain. He is in the top 20.

Ah, my mistake. Those transfers are certainly vote incentivizing for his posts, and so if there's more like that with regards to his witness, then he would be considered doing so.

There are more.

While more implicit and indirect his budget proposal campaigning is also a form of vote incentivising since it directly benefits from his block producting because it is powered by his bot revenue.

I know this is a an en she could case but it benefits from his held SP, which is also a result of his BP.

even with full fledged vote buying, there are people who are incorruptible, and people who will vote against their own self interest in an altruistic fashion.

To some people money is not everything. I vote for witnesses who have impacted great values to many either through upvoting contents, social interaction on steemit, contest and bounty offers or by creating quality content that enriches life and promote steemit.

Could we actually envision a model working with zero reward, and only altruism?

Not totally since humans must be humans (Always wanting to win by any means). but if the witnesses are being monitored i think it will go a long way to savage the corruption in the sysytem. Finally, if the system can hide the voters identity it will not allow rewards as there willbe no prove for reward. Thank you, this post was an eye opener for me.

That's the way to do it! Choose the witnesses that offer the best security, and the best created value for the whole platform. That's how we ensure success of the system.

Interesting point regarding hiding the voters. That's something done in many ballot systems in the real world, so that there is no way to prove you voted in a certain way. However, I am not sure it would be possible on a blockchain, since the entire point of a blockchain is the trust-free ability to prove ownership with your keys. If you can prove you made a transaction, you could then prove to the person that you voted for, that you voted for them, and ask them for your reward. But if there is a way to hide it, that would be cool!

i get your piont

I agree with your concerns. I think when voting for block producers, users should vote according to how well the block producers are making the eco-system work as a whole, and not their personal gain from them. I have to part with your reasoning when you say that the the block producers would end up giving away all of their rewards. In the case of Bitcoin, a potential miner has to get the hardware makers of the coin to give you the hardware, but the entrepreneur has to have an expectation of profit in order to buy the hardware for this purpose. Now running a Steem witness node requires a high-end machine, and I would say the application is probably even more demanding than running a Bitcoin full node, at least in terms of memory. The block-signer is going to make sure he runs enough to maintain the machine and make a nice profit. The voters can vote for the Witnesses that run at a loss but eventually these block producers can move their investment into something more profitable. So, the rational agent will hold back the cost of running the node, and some profit before paying their voters with the rest.

There was a bribe attempted by someone who wanted to be witness, and it seems to have got him into a situation where he has to run a node but not get enough rewards from the blockchain to run it with. His bribe was to vote up with 3 cents one of our posts each user. I laughed and moved on to the next article. Later, I looked into his "steem repo" project and his "steem discord" project. I sometimes vote up his posts, now. It is surprisingly cheap to bribe voters to vote a witness.

I have to reread it in detail. I am too tired to make most of the equations but I got the idea.

I am just wondering, did you take in account that users will try to get the set of witnesses that maximise their profit?

On a more game theory side, every witness giving dividend seems like a natural equilibrium. It also might be viable with offer and demand dictating how the witnesses redistribute their reward.

All in all, I feel like DPOS impose witnesses to become big players like companies in the long run. Just look at what EOS will look like from the start. Still, this give a better first level of decentralization compare to PoW mining pools. If you look at the second level though, this is not good because we don't have staking pool on DPOS... yet.

I might be spouting nonsense since I am so tired so expect a more detailed/better comment sometimes later.

I am just wondering, did you take in account that users will try to get the set of witnesses that maximise their profit?

I did, yes. :) There's a bit of set theory in the proof that I glossed over, regarding the convergent set basically being the quickest to the bottom. But a given subset converges to the same isomorphic maximum set (of all 100%), and which subset wins is actually arbitrary for the proof. They all work.

On a more game theory side, every witness giving dividend seems like a natural equilibrium.

That's right, that's kind of the point of the proof. It's equivalent to lowering the block reward when done in unison. But the block reward is there for a reason, no?

Looking forward to more comments from ya! :)

Reading the primer. I will do dive in the proof part later ;-)

Do you view vote buying as a one time thing compared to vote incentivizing which is more recurrent?

Aren't you assuming that the only interest in voting will be monetary as soon as there are dividends? This is rather a pessimistic view that no one will vote for other reasons like security. I have to admit I totally think the same, unfortunately.

This scenario would happen if there is no cooperation between witnesses (to agree on prices) and no cooperation between users( let's make Pool A number 1 to earn more) . But we all know consensus is hard to achieve and the incentive to be selfish would be greater.

I am thinking of another equilibrium: the witness offers dividends until she reaches a certain position, say TOP 20 or 10. At this position, it is much harder for to get kicked out, so the witness can stop or lower the dividends and not look at the dividend market. What do you think?

By the way, I view those witness pools as a way for small witnesses to compete with the big players and companies we (will) have around here. EOS is a perfect example of what I expect to happen from a DPOS chain.

Some of the math went over my head, and I've only been here a month, so I may have missed something... But, it sure seems to me we simply need a way to insure that only voters who have never received any transfers from a given candidate can vote for that candidate, and that should any such transfers occur after the vote is registered, that the vote immediately cancels. This will slightly limit the amount of interactions here, I realize, but it may be a price well worth paying.

Maybe this is not possible, in terms of the programming...I don't know. But, we certainly do not ever want any voter receiving anything but the good service they are expecting from that witness in return for their vote...EVER. In fact, I would personally go so far as to suggest severe penatlies for anyone here who has ever participated in such behavior.

IF we are intending to truly create a "new world" here, it can not mimic the old, where hated politicians, bloated by ill-gotten gains, lord it over the rest of society, and a small class of "swamp dwellers" keeps cycling their own corrupt people into and out of offices in an ongoing cycle of "swamp protection and advancement."

Totally agree with your principles -- it would certainly be a shame, and a waste, if what we're building here starts mimicking the corrupt systems we were specifically trying to avoid.

Unfortunately it's a bit hard to precisely track payments, especially in the crypto world where round-about methods of secretly paying someone is possible. I think the best we can do at the moment is educate and inform people that, while now they can "be their own bank" and take that power back into their own hands, that power comes with the serious responsibility of which candidates they vote for to ensure the greater security of the system.

Thanks, I know I found another person I can (and will vote for ) as MY witness.

That's a shame we can't track that stuff. I guess we could at least outlaw, on here (or anywhere we may fjnd evidence of it) any published offers/suggestions or even hints that a candidate will pay, in any way, for a vote, and make that a serious flaggable offense with real consequences...

BTW...Is there any rumor that flagging will be accompanied with an ability to specifically cite the violation in question in the upcoming (or subsequent) hard forks?

💖💖💖💖💖💖💖💖💖✌✌✌✌

A system long established by some of us.

Fantastic post friend