3

I mean, why not a hundred validation nodes, for example? Anyway, why every node couldn't be a validation node? Does it punish the performance?

1 Answer 1

5

Firstly, there are 21 active block producers, not validators. Everyone can be a validator, and anyone can be a candidate or inactive block producer.

If the question is why only 21 active BPs, it's a number that Dan Larimer arrived to after some experimentation in his previous projects (BitShares, Graphene, and Steem.) For instance, one of Dan Larimer's previous project, BitShares had 101 producers, and he mentioned that this raised a significant governance issue as members of the community wouldn't keep up with researching 101 different BPs and educate themselves to vote accordingly. Therefore, based on user feedback, he decided on a number that would allow people to stay informed while also providing security via block producing decentralization.

For Dan Larimer's explanation, see this video interview. Excerpt:

I introduced first version of DPoS with 101 block producers. They were all elected by approval voting, and then BitShares 2--or Graphene--reduced the number from 101 to a user-defined number so that as people vote they can vote... if they vote for more, then there will be more; if they vote for less, there will be less, and that gives you an idea of how many people the community is actually able to vote for and what we saw was that when the community is in control the quantity it stayed around 15 people or so.

So with Steem, I made the decision to just hard code it to 21, which would be more decentralized than the community was doing on its own and BitShares because that was about the throughput of the attention and the ability of people to vote.

7
  • great answer. I still have a doubt, how a node could be a validator if it does not have the ability to be a block producer? What a non-block producer node can do when finds a tx which is not valid? Commented Sep 4, 2018 at 21:32
  • otherwise, I still don't get what is the advantage of having a finite amount of block producers instead of having all nodes producing blocks (i.e., a full PoS network, like I whink ethereum would be) Commented Sep 4, 2018 at 21:35
  • 1
    @FedericoCaccia the distinction between validator node and miner/BP is blockchain-agostic and universally applicable: if miners mine blocks that are rejected by validation nodes, they cannot transact with them. this is a rather long discussion that was debated at length during the BCH hardfork and i'm not sure the comments section here is a good place for that. in regards to your other point, publicly known and voted BPs means that BPs will have appropriate hardware to allow throughput and the producing schedule is known before every round to limit latency
    – confused00
    Commented Sep 4, 2018 at 21:42
  • the last one, can you provide me some link to read about the last point? I can't fully understand. Commented Sep 4, 2018 at 21:47
  • 1
    @FedericoCaccia not small amount, but known schedule means you can consider geographical distance in BP plugins when considering the ordering and each bp can know beforehand when they're about to produce and for how long to prepare accordingly. see this article for example
    – confused00
    Commented Sep 4, 2018 at 22:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.