A More Robust Witness Voting System

in witness •  2 years ago  (edited)

This was a brief overview I gave to witnesses in the discord channel. I shall copy it unedited, save for any typos.


DPOS is NOT a decentralised protocol - never was and, in its current form, never will be. If you still believe this, then read my most recent post on this.
Even worse, 30 votes for a top 20 makes DPOS subject to a 51% stake attack - we've seen it happen. In what way is governance decentralised when a majority stake has 100% control?
Anybody here NOT know how the Steem-war evolved?
It was as a direct consequence of how steem was kinda hijacked twice that the idea of the regent account took place - I wasn't there for those early discussions although I did have some chats before genesis.
Anyway, what I'm getting to is that fairly brief period between the steem-whales freezing Justin's assets and when they gave them back so that JS unleashed the eventual total coup.
so... during that interregnum, there were frantic discussions about changing the witness gov voting system. Sadly, that too was under considerable pressure, with small war committees formed.
Lots of numbers flying around regarding what would the effects be of having only 10 votes or 6 or (as one guy suggested) an unlimited amount.
My own concept at the time was that the only solution would be a system that promoted a STALEMATE - that's what was needed THEN, so parties could TALK, and it strikes me the similarities are no accident, so that as a concept this will at least bring some stability NOW.
I suspect witnesses themselves feel unsure of their future - one boss today, a new one tomorrow - the very fact we talk about a "boss" is further proof that this system is very poor at remaining decentralised for very long.
Changing the number of user votes sounds easy but has many intricate decisions to be made about the transition from 30 votes to any N. Back during the steem-war, the numbers around 6 to 8 were discussed. Mainly so that full consensus could be achieved at any hardfork - those are the real decisions taken by witnesses - to support a HF with changes to the code.
No system can guarantee some future take-over, but there is a system that makes it very difficult.
That is to keep the current number of max votes and top 20 witnesses but to change the weight of the votes so that every user votes with only his TOTAL stake. At the moment, those 30 votes are at a weight of 1, so that everyone can vote with 30x their stake.
So the proposal on the table, which we should have done months ago - had planned months ago - is to change the vote weights to 1/N, where N is the number of witness votes - so that each vote has a VP value of VP/N.
This is the simplest system that helps ensure a balance of witnesses and makes it very hard for any controlling stake.
eg if I have 300k VP and vote for only one witness, that witness receives the full 300k vote. If I vote for 2 witnesses, they each get half, or 150k vote. If 3 witnesses they each get 100k etc etc.
This systems avoids the 51% attack - it would need something like 75-80% of all VP to gain a controlling numerical stake - so once the numbers game becomes a stalemate THEN any new HF would need to get the idea approved by human witnesses who can think about each proposal. No witness would then be beholden to any block vote. They still might prefer one side, but the point is that this then becomes a consensus of what is best for the majority, not a numerical consensus that could be a minority of people with a majority of stake.
erm...
The End
scroll credits
post-credit scene: this never happened on steem - worse, no change at all was made - Justin didn't have 51% VP so he got his friends from exchanges to help him gain total control of over 20 dummy witnesses.
And anybody there may recall that those dummy witnesses were really scary to the security of the network - network decentralisation (different to governance!) - they all ran on the same machine! they didn't seem to know what a price feed was!
I could just copy-paste this into a post - so others can read without scrolling up 1000 lines.


Now I have.

There were some discussions immediately after; I have not added those, but any witnesses who wish to repeat their comments and questions can obviously do so below.

To see how truly old this idea is, just look at the relevant issue 119 on gitlab.

One thing I didn't know is that the Avalon chain used by DTube uses the same VP/N voting method above. Off at a tangent, this old post is an interesting concept piece - this is the level of discussion needed about the structure of a social blockchain.

I shall write a more detailed post as we approach the implementation of this voting protocol.

Stalemate is the closest we shall ever get to "decentralisation".

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE BLURT!
Sort Order:  

so that each vote has a VP value of VP/N

Is far to be a bad idea but as I wrote on Discord, extending the top witnesses is something to consider too, I think. Having 17 witnesses to pass a HardFork (super majority) and only 3 to block it it's very low.

nalexadre on BLURT2.png

As a counter-example, I think Avalon has 15 validators.
Those chains I have seen increasing the number of validators/witnesses, only do so when there is an obvious pent-up demand below the "top set".
What I would like to see is more random witnesses from below the top 20, eg, currently, each cycle is 20+1 random, that could be increased to 20+5. That would help stress-test those machines too.
Then, if there is demand, increase to maybe 30.
But so many blocks are still created empty, that we also need to see a substantial increase in activity.

Extending the witness round is a good way for reward redistribution and is a good completion as a diminution of time between 2 blocks, but all of this including my suggestion is for a future when blurt will reach a minimum of 200 active witnesses and more transactions per block while your proposal is good from now, I'm just a little worried that the gap between the top witnesses and the others will increase a lot and that it will demotivate the arrival of new witnesses.

By the way, if you can respond to my comment on your post "Economic indicators in a flurry - June 26, 2022", I would be grateful (I am very intrigued by the % you find)

I hope you are aware that those witnesses below the top 20 are paid a higher rate per block, to partially compensate for fewer blocks per day. The monthly total will not be as high, but they are paid more than zero. lol.

Yep, it compensates little, for the moment it is too early for me to calculate at my position how much the price of Blurt needs to be to pay the cost of the server, the requisite for the moment on BLURT is not too high then the server is not so expensive (don't know if it's same for a rpc node), I just started my witness server last week so it needs a few more weeks before I have good visibility of the amount ;)

20220524_185628_0000.png

Do vote @Blurt.Live as your Witness

Posted from https://blurt.live

Thanks! Though as a simple content-creator, much of this (including the lingo) is over my head and outside my ability to comprehend it properly. I realize that's my own problem, just saying.
I do remember the 20 dummy Steem witnesses and how stupid that was. Of all the possible solutions, I know that THAT is not the correct one.

It was more than stupid - at one point was dangerous, as the price feed was stuck. This was actually quite profitable for those few who understood the maths, BUT I could see it was both profitable and dangerous at the same time! lol. I could not peer into their minds to know whether this was incompetence or a plan to game the external markets.

Interesting. I need to do a deep dive into that proposal module. Sorting out the submission and the user voting will still leave the big issue of fund distributions - users will start to see this issue once new proposals receive funding.

For example, if more than one proposal gets voted approval, and their total requested is greater than the daily minting, how are such daily funds allocated? Various solutions. None of them glaringly obvious as superior. I can do another post on such options.

The current system was inherited from steem, who seem to have abandoned any idea of funding proposals, so this will need time to recode something sensible.

Sounds to me like TWO more posts = proposal voting scheme + proposal funds allocation algo.

I agree. If that will be applied for voting witnesses, it should be applied for proposals as well.

2 different systems - no obvious reason to have the same voting system.
Doesn't mean it's wrong, just not logically necessary.

My own concept at the time was that the only solution would be a system that promoted a STALEMATE - that's what was needed THEN, so parties could TALK, and it strikes me the similarities are no accident, so that as a concept this will at least bring some stability NOW.

the goal of DEVELOPMENT should always be to reach an END POINT

freeze the code

a STALEMATE sounds like the perfect solution


Posted from https://blurtlatam.com

Thanks. At the time on Steem, I was disappointed the whales didn't have the balls or brains to quickly encode and pass such a stalemate-HF and then return all JSun funds. Mind you, if Jsun were able to enlist all the exchangers, they still could have taken control - but would have been far more difficult.

I have stated in other posts that the deep problem with POS is collusion, so my closing statement is IMO the best we can do:
Stalemate is the closest we shall ever get to "decentralisation".

Hello @rycharde
Thank you for sharing such great content!
Use #blurtconnect tag to get more upvotes from usBlurt to the moon 🌕You can delegate any amount of Blurt power to @blurtconnect-ng
This post has been upvoted manually by @chibuzorwisdomblurtconnect.gifPlease help support this curation account.

Also, keep in touch with Blurtconnect-ng family on Telegram and Whatsapp

Congratulations, your post has been upvoted by @r2cornell, which is the curating account for @R2cornell's Discord Community.

Curated by <@bestkizito >

r2cornell_curation_banner.png

Congratulations, your post has been curated by @techclub


Manually curated by

@samhenrytenplus

c362c2cf8c19fc34a19e29e5a2db7acb60e3b4b3 (1).jpg

Follow techclub DISCORD for more updates and use tag #techclub for tagging content

you can also delegate to @techclub to support curation

Personally I wish witnesses were voted in purely on user numbers and not stake I know ppl can create new accounts so It’s not exactly fool proof but maybe to vote for a witness you have to do some form of kyc. Anything involving stake is pretty much always going to be manipulated and not representing the majority of the platform.

No kyc on Blurt, ever.


Posted from https://blurt.live

voting with stake is better than kyc

voting with 30x stake is insane


Posted from https://blurtlatam.com

I dunno I would rather it was one vote per person personally

it would be nice if there was an easy way to verify what is a human without some gross violation of privacy

even if we tried to require a verifiable phone number and state issued id

these can still be easily purchased in mass quantities by people with resources

the only thing you can't "fake" is how much hive-power you control


Posted from https://blurtlatam.com

Very true, and that works pretty well.
The main problem being, when huge whales (who could even be govt agencies) buy up massive stakes, and instantly begin using that in various ways on the platform. Those of us (like myself) who aren't rich, and are mostly just trying to EARN our way up, are less of a problem because our stake comes from the community. If we're spamming or scamming or spewing hate, we won't get much support, and won't grow. Growers aren't the issue, it's the buyers (investors) who can appear from nowhere with millions of Blurt Power, influencing witnesses and so on.
And I really don't have a suggestion for how to fix that, that doesn't violate some aspect of our core values.
Maybe like the real world, capitalism is the best (but imperfect) solution. The money talks.

This. I wouldn't be willing to KYC and would leave. I've blogged about to many things that result in the bullet to the back of the head type of suicides. And without the KYC there would be many who would have a ton of accounts to play the system and have a larger voice than the rest of us.

Yeah but then it just means all decisions are in the richest 2 percent of peoples hands and The representation of the masses means nothing. Maybe we all just need to rly get rich if we want to change the world lol

Now maybe you understand POS.
It is the same as corporate shareholder governance.

Or if pos literally only what has been earnt through blogging and curatIng and outside investment doesn’t count. It just makes these sites rediculous to me as someone wealthy can just literally come in and buy them all out and make them dictatorships and destroy all purposes they were built for.

I prefer proof of brain I guess for social site decision making it makes it more fair and decentralised if each persons opinon is worth one vote. I think stake should get investment rewards etc else no incentive to leave it in but regarding decisions that affect the platform and users I personally heavily disagree with pos style voting or decision basis it makes it no different to just bankers and the 1 percent dictating everything

  ·  2 years ago (edited)

that's why we need more focus on COIN DISTRIBUTION

accounts with more than a million blurt should sell or give away their coins

in order to maximize DECENTRALIZATION

sure, this might "tank the price" BUT THAT'S A GOOD THING

smaller accounts can then buy up the cheap blurt for a more symmetrical COIN DISTRIBUTION

Right! There is even a metric for this = the Gini coefficient.
And most cryptos have a Gini value shared by many third world dictatorships!!
The growing "middle class" is what the algo should be focusing on - and, sadly, all such research is lying around waiting for encoded solutions.

There remains an intrinsic dilemma of "finance v social" and IMO they need to be somewhat decoupled.

bingo


Posted from https://blurtlatam.com

Gosh I can’t see anyonebjust giving away millions of blurt for fairer voting haha

or sell

they could run contests and or lotteries or something

people love contests and lotteries


Posted from https://blurtlatam.com

This is where delegation really helps in decentralization. Rather than give out you can let someone barrow and vote with that stake and collect the rewards.

on hive, delegations do NOT count towards witness votes


Posted from https://blurtlatam.com

Yeah, @heimindanger has great ideas when he created avalon blockchain. He talked about that in the interview even before creating it :

I especially like the idea about the reward pool. If I understand correctly, I think they have a reward pool that is flexible as well, so it doesn't matter how much voting power a person have, if the reward pool is drained, he/she can't give that big upvote. That saves a lot of tokens, and we have less inflation. And fewer whale's control.

The reward pool as designed can never drain - if it gets smaller, the new votes will be smaller, so it will always attenuate to some steady state.
I haven't looked at the avalon pool concept.

The key metric to consider for this issue, is the number of tokens distributed per user per day. If this metric goes down, then the incentive for staying on the network and playing the game, goes down everyday. You feel like you're making less and less from your efforts. If this metric goes up, the number of printed tokens goes up and the token is hyper-inflationary and holding it feels really bad if you aren't actively earning from the inflation by playing the game.

Although using different words, this is a concept I introduced into the Blurt reward pool. ;-) But here we change the rate of reward pool tokens released, instead of changing the minting rate.

@rycharde Thank you so much for sharing a great lesson with us and for inspiring new users like us to learn something from this beautiful post. We hope to see more beautiful posts from you in the days to come. Thank you very much. I wish you all the best.