Why 20 witnesses are better than (insert arbitrary number)

in #hive2 years ago

When scaling a base layer blockchain, the first thing to achieve is a low-fee, high-performance layer—a data availability layer with very low-cost transactions.

There are factors to consider when having a group of witnesses. If you have too many witnesses, you run into a few problems. First, it is hard to have 100 super high-quality, reputable witnesses. No matter what way you twist it, there will always be witnesses that are stronger and better than others. The goal should be to capture the "top" quality witnesses to ensure the greatest performance. Why settle for the 100th best witness with you can cut it off to the top 20? Having 100 witnesses would mean many miss blocks, many go down, and violate swings in who is in consensus and who isn't. The more witnesses you have, the slower the decisions and upgrades to the chain becomes. However, none of this pales in comparison to the worst problem that arises from having 100 consensus witnesses, which is the ease of sybil attacks. Asking a human to research 20 witnesses is doable but stretches the limits. Asking a human to research 100 witnesses is a fool's task and cannot work well in practice. There isn't enough bandwidth for governance voters to keep up with that many witnesses.

One of the strongest elements of governance voting is reputation. It is the only way to get into consensus. Reputation is by far the biggest defense any voting system has. By making 100 witnesses, reputation goes out of the window, it ceases to matter and will become easily sybil attacked. By having 20, reputation is crucial in getting in and out of consensus. It is the stairs up and the elevator down.

Having 20 witnesses is trimming the fat, giving you the fastest performance and security. Keep in mind, when saying 20 consensus witnesses (21st rotates in and out to keep backups honest) is not the end of it, if any or even all of the witnesses in consensus went down, they would be immediately replaced by backup witnesses. The more witnesses that go down, the more incentive for backups to emerge as the competition to get into consensus is lowered. The backups earn coins also, which is important to have incentivized backups ready at the drop of a hat.

I am not someone who comes to you and speaks only theory, I have been helping run a witness for years and have slowly clawed our way into consensus, as it should be, nothing here should be easily gotten. I can speak directly from practice as well.

If you want a scaleable chain that offers efficient transactions at low cost, you need a "smaller" number of censuses witnesses that run the chain—The starters on a football team, for example. But the backups are just as important and can be overlooked, which is a shame because they are just as important. In effect, there is no limit to the number of witnesses because, in theory, backups can be infinite. There is a smart parameter to protect the chain from slow performance and sybil attacks. Without the parameter, you end up with 1 "witness pool" in charge, or if you add a parameter such as 100 witnesses, the chain becomes dramatically less secure and efficient.

I can expand into much greater detailed on this subject, but I find bitsized, direct to the point blogs can be useful for many to absorb the content better.

Sort:  


~~~ embed:1622696266596552704 twitter metadata:MTg4NDc3MTkxMnx8aHR0cHM6Ly90d2l0dGVyLmNvbS8xODg0NzcxOTEyL3N0YXR1cy8xNjIyNjk2MjY2NTk2NTUyNzA0fA== ~~~

~~~ embed:1622706766927503360 twitter metadata:MTA2NjgxNjU2MTAyODE4MjAxNnx8aHR0cHM6Ly90d2l0dGVyLmNvbS8xMDY2ODE2NTYxMDI4MTgyMDE2L3N0YXR1cy8xNjIyNzA2NzY2OTI3NTAzMzYwfA== ~~~

~~~ embed:1622713122006990870 twitter metadata:MTE2MTY5NDc5MjYwNDE2NDA5N3x8aHR0cHM6Ly90d2l0dGVyLmNvbS8xMTYxNjk0NzkyNjA0MTY0MDk3L3N0YXR1cy8xNjIyNzEzMTIyMDA2OTkwODcwfA== ~~~

~~~ embed:1622783337617149953 twitter metadata:MTEwMTMyMTc1ODY1MTY3ODcyOHx8aHR0cHM6Ly90d2l0dGVyLmNvbS8xMTAxMzIxNzU4NjUxNjc4NzI4L3N0YXR1cy8xNjIyNzgzMzM3NjE3MTQ5OTUzfA== ~~~

~~~ embed:1622997990695747589 twitter metadata:MzM4MDM4MjMyMnx8aHR0cHM6Ly90d2l0dGVyLmNvbS8zMzgwMzgyMzIyL3N0YXR1cy8xNjIyOTk3OTkwNjk1NzQ3NTg5fA== ~~~

~~~ embed:1623045358380097536 twitter metadata:MTMyMjgwMDkxfHxodHRwczovL3R3aXR0ZXIuY29tLzEzMjI4MDA5MS9zdGF0dXMvMTYyMzA0NTM1ODM4MDA5NzUzNnw= ~~~

The rewards earned on this comment will go directly to the people( @theycallmedan, @shiftrox, @christy01, @jomancub, @michupa, @yeckingo1, @behiver, @ilazramusic, @hiro-hive, @rubencress, @waliphoto, @flquin, @doifeellucky ) sharing the post on Twitter as long as they are registered with @poshtoken. Sign up at https://hiveposh.com.

Over recent years, I have considered that it might be worth taking a percentage that goes to the top 20 and spreading it to 21-30 to encourage higher quality witnesses there. In effect, it would be something like 9% of the blocks that are currently processed in the top 20 being pushed to 21-30.

Honestly, not sure if this is a good idea, but I do think the backup witnesses should be incentivized enough that if some of the top20 fall, they are ready.

we have the 21st rotating, I could see spreading that number out larger, giving more responsibility without asking for more bandwitdh from the governance voters, could be a good thing. Although the rotating 21st, every 3 seconds you get a new backup in, so it does a good job already

Yep, it is not bad at all at the moment, but perhaps there should be a bit more game in the mix so that there is reason to compete for the next ten slots at least.

Asking a human to research 20 witnesses is doable but stretches the limits. Asking a human to research 100 witnesses is a fool's task and cannot work well in practice.

I could probably say why I vote for about half of the 30 witnesses I vote for. The other half I don’t even remember why. Maybe they impressed me a few years ago and I’ve since forgotten my reasons.

that would be most people. even 15 is a lot, but I think 20 is the most we can ask in practice and get good results.

I've been part of the Blockchain world since 2018, and I've seeing how the governance have evolved through the years, I'm totally convinced that we just need 20 consensus witnesses and I'm totally agree about the fact that having more than 20 consensus witnesses just make the processes really slow to everything decision that has to be made.

I just think that some witnesses within the top are just there because in the Steem Blockchain they received some votes but here on Hive haven't even updated their work as witnesses in this new era and I think that's unfair to the people that want to be part of that top, I think that people should do more questions to witnesses to know if they're even doing something for Hive or just being part of that top for knowing stakeholders.

But like everything, this is not a fair or unfair matter, this is just politics haha and we have to focus more in our work than the support itself, for me it's like a dream to be part of the Hive Witnesses, I've just signed like 4 blocks since I arrived and I feel truly happy about it, I want to contribute in any way I can, then, time and the community will be the judges to scale in the witnesses top or not.

Thanks for open this dialogue, Dan, and thanks for all the work that you do to support the Hispanic community!

nothing here should be easily gotten.

This is a great line and incorporates all aspects of Hive. It is exactly how it should be.

Long-term focus built upon an individual's (or group's) daily activity resulting in the reputation that is earned.

Dedication and consistency are the keys in this.

I can expand into much greater detailed on this subject, but I find bitsized, direct to the point blogs can be useful for many to absorb the content better.

I appreciate this, Dan. As a new-ish person to Hive and the world of crypto in general and a non-developer I still understand so little of what it takes to run this platform.

So bite-sized pieces like this make it possible for me to take in what you're sharing and create a willingness in me to read more of your stuff because I feel buoyed by the idea that I might actually be able to understand it.

In short, thank you. Keep up the bitsized stuff for all the many people like me who need to vote for witnesses but will never get into the nitty gritty of being involved in the actual running of Hive.

The consensus mechanism of Hive is something unclear for me. This post clarifies in part my many doubts. I agree that efficiency and quality is important, and quality witnesses are needed.

In an ideal situation, we should have a high number of equally qualified quality witnesses serving the blockchain. This shows that the chain is prosperous and people are running their businesses here and have a substantial stake.

I read the comments and sense the sentiment that people seems to want more spread of the duties and rewards. Perhaps it’s something good for Hive, but only when the time is ripe.

!PIZZA

One big governance problem (not just in blockchains) is voter turnout, many users simply don't care enough or don't even know that they can and should elect trustworthy, high performing witnesses.

Splinterlands did an interesting approach raising voter turnout. First they push new polls with a pop-up whenever one visits the site, and they have a quorum, i.e. 66% of staked coins have to vote in order to make the vote go into effect.

Maybe something similar could be done by frontends, hive keychain, etc to increase voter participation. Also a quorum mechanism for top witnesses or proposals would be interesting to test and think about.

 2 years ago  Reveal Comment

Well, I think thinning the herd creates or makes for more effectiveness but then this is a double-edge sword as it might also go sideways. But I think the advantages can outweigh anything as top 20 witnesses is just good enough.

gracias dan!

I convey that 20 witnesses are good enough to ensure consensus on the Hive blockchain. Still, I think that some witnesses at the top are there just because they have big Hive Power which probably is delegated to their witness as well. I would propose for example that witnesses not to be able to vote for themselves in order to have a true decentralized trusting election.

Worth considering.

This is rather easy to by-pass, still, you can't stop anyone from using an alternate account unknown to the rest of the chain to vote.

no one person has enough stake to vote themselves into consensus. If they did, it would be considered a 51% attack on the chain. you can't stop people from voting for themselves, and I am not apposed to those doing so. The difference between PoS and DPoS, is the top 20 all have equal say + on PoS you can vote yourself into consensus, it is a feature not a bug to them, but on DPoS that is impossible if the coin is distributed well

I could make an argument for at least 2 or 3 random witnesses each block instead of one.

Firstly from the security perspective, I can imagine situation when after years passing group of people might be in position to overuse their power, still there is 17people needed, but I can imagine someone saying it's entirely possible for them to cooperate maliciously. Especially when stake is larger and larger. However, at this point I don't see that threat, it's just a matter of PR.

But secondly, even more importantly IMO, it creates greater incentive for backup nodes and spreads earnings a little bit more. This one will be lesser and lesser issue with a growth of an ecosystem.

I don’t even fully use the 30 votes. I’d hate to think about trying to do 100. So many witnesses have put out zero blog post statements in 2023 let alone some kind of end-of-year 2022 post regarding their witness. Making it even harder to do any research on their current activities.

The average person can’t be expected to go beyond the last couple of blog posts to try and track down what they have been up to. You would think there be more of a current effort by people trying to break into or hold their spot in top 20 by making it easier for people to research them.

Even after a vote is cast it needs to be a reasonable enough number that people can check in from time to time about the people they are voting on.

Some days I’m tempted to just yank all my votes and start over again after giving it a few months to think over.

Lately I've been voting based on the HBD interest rate the witness is supporting, making sure all my witnesses support 20%. It's an easy metric to refer to. I've tried to read what the witnesses have written, to see what they support or figure out their perspective: most don't write anything! So I gave up on that.

If it falls below 20% APR I would not be shocked if many changed votes as needed.

It is difficult to know who to vote for isn't it. I haven't used all my votes either as I decided to only use them for witnesses that I have had a real interaction of some kind with or that I have seen be active/constructive in the community.

Well said. Even though I don't know what brought this up but I agree to less brings more productivity and competitiveness. When there is a competition to join the witness list, that will be when each witness will be on his or her toes to make sure that they deserve the chance they have been given.

Also quality is better than quantity. if the numbers aren't helping, let's go for quality rather than quantity. Thanks for letting us know.

🍕 PIZZA !

I gifted $PIZZA slices here:
@cryptothesis(2/15) tipped @theycallmedan (x1)

Learn more at https://hive.pizza!

According to what I read, the ideal number is 20, however 21 fluctuates, it's like having one more because of what might happen, then it says that the 20 witnesses can be replaced by any circumstance, so there would be 40 witnesses, the main ones and those who can replace, really those who bring this have more knowledge of the subject, I can only say that it seems ideal to me that they have the rest of the backup, it is the same as having a plan B

Congratulations @theycallmedan! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)

You received more than 785000 HP as payout for your posts, comments and curation.
Your next payout target is 790000 HP.
The unit is Hive Power equivalent because post and comment rewards can be split into HP and HBD

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Check out our last posts:

Valentine's Day Challenge - Give a badge to your beloved!
The Hive Gamification Proposal
Support the HiveBuzz project. Vote for our proposal!

Asking a human to research 20 witnesses is doable but stretches the limits. Asking a human to research 100 witnesses is a fool's task

For someone who is still discovering hive in depth, researching 20 is already quite an achievement. Although I definitely agree that 20 is a good amount, it's more the fact that the first time researching them costs the time needed. But I would see it rather as an investment, so all good.

If you have too many witnesses, you run into a few problems.

It's not just on this, I think having many managers brings in a few problems in other areas of life. Less hands less problems .
#hive

This makes absolute sense and I'm a Noob so... 👍

I imagine each of the 20 Witnesses would have their own backup Witness then. To avoid a meltdown if more than one were targeted or summink.

But less is more makes complete sense transparency wise. And then logistically. In that order of course.

true decentralization.

Interesting, I never thought of it this way yet makes perfect sense and now realizing we have several with thousands of missed blocks... makes me think if I am supporting the chain now or not as I recently achieve rank #93 and have plans to improve the hardware and more...

I have considered that it might be worth taking a percentage that goes to the top 20 and spreading it to 21-30 to encourage higher quality witnesses there.

I would have to agree with what @tarazkp has said above. Simply because it's already more than evident that in a DPoS blockchain system, the Top 20 witnesses who reach those first positions in the ranking and they stay there almost indefinitely. They are placed and kept there basically by the strongest vote of the biggest stake holders of the chain whose own interests do not necessarily represent the wishes and expectations of the rest of the members of the ecosystem.

In my opinion and especially if it is a blockchain in which a "social network" is the main DApp and stellar figure in the whole ecosystem, opulence and the maximum amount of money should not always have the last word in the consensus and the general decisions of an entire community.