Both @brad.olson.587 and @bkchr have skepticism around the Nakamoto Coefficient number presented above. I would like to say that this skepticism is fair, but wanted to make a few points which may back why I have included this stat above.
First, let’s give a little more insight into how this number has been generated for Polkadot. Obviously I cannot speak for every independent team which researches this number, but here a snippet from yet another independent report from The Block. Unfortunately, I cannot share the whole report in full here.
Polkadot is somewhat unique among blockchain networks in that stake distribution plays a smaller role in consensus and in assessing decentralization. Most other blockchain networks tie consensus voting power to each validator’s stake in the network, which means that validators with large stakes can have outsized influence on the network – and validators that control 33%+ of the aggregate stake can theoretically cause consensus failures.
[…] the Nakamoto Coefficient for other platforms is tightly related to the fraction of stake controlled by the top validators.
On Polkadot, on the other hand, while the stake amount is relevant for electing the active validator set, once this has happened all active validators have equal voting power in GRANDPA. Polkadot further runs processes on top of the phragmen election algorithm to minimize the number of validators per nominator and to try to ensure as even a distribution of stake across validators as possible. This latter optimization is done to maximize the stake of the validator with the lowest stake in the set, which raises the number of tokens needed to join the active validator set and thus increases the amount of stake a would-be attacker would have to risk. Stake distribution still matters, since validators with higher stake are more likely to be selected for the validator set in subsequent eras, but compared to other platforms Polkadot’s election algorithm and consensus protocol greatly reduces the influence of stake in decentralization.
Given the above, Polkadot’s Nakamoto coefficient is equal to the number of validators required to hold 1/3+ of the voting power in the network, and thus is equal to 100.
This is the number of validators that would have to collude in order to cause consensus failures in GRANDPA. The protocol’s optimization of even stake distribution is reflected in the Relay Chain’s low Herfindahl score of 34 (lower implies more equitable distribution) and the relatively small stake percentage difference between the active validator with the highest stake (0.54% of total) and the active validator with the lowest stake (0.29% of total).
So the main reason the Polkadot coefficient is high is due to:
- the fact that we have explicitly designed our NPoS algorithm to keep the amount of stake backing each validator as close to even as possible.
- the fact that each validator, independent of their stake, has an equal vote in the consensus system.
Number you have seen, and will continue to see for the Nakamoto Coefficient for Polkadot will always be near 33% of the active validators on Polkadot because of these design desicions. If we need a stronger number, we would ideally just increase the number of active validator slots on Polkadot. (Note this is why we have chosen a much more complex NPoS staking system versus a simple DPoS system which you see in many other networks).
Now, if we try to look at the number specifically, it is also fair to be skeptical since we know through Polkadot’s identity system that there are some “entities” which run more than one validator. However, I think the specific number is less important than the comparison made across networks. When creating these charts, these kinds of factors are generally unaccounted for anyway, since it is very hard to have any concrete knowledge as to how many independent entities exist. Imagine that the same person could be running multiple nodes, but just use a different name and identity behind each one, or actually you have a decentralized community of validators who have coordinated to make a single brand.
For example, the number for Bitcoin was in the thousands, but if we look at the hash power distribution, we see just a handful of entities:
In decentralized, public, open systems, trying to do analysis at this level is futile and so we should not even really try. Instead, we should look at the economics and incentivization of these systems, and then compare these numbers relative to one another.
So, then the final piece of the puzzle is to explain HOW Polkadot disincentivizes single entities from getting a disproportionate control of the network, and why we can assume on average (and in the long term) that validators on Polkadot should be independent entities. This is done through the simple economics design in our reward / slashing system:
- Your reward as a validator on Polkadot is equal to everyone else, and thus your reward grows linearly with the number of validators you run.
- Your punishment for misbehaving on the network grows exponentially as other validators also misbehave.
So we have explicitly created economics which do NOT incentivize users to run many nodes, at least not in any situation where they would get punished. Yes, today there are some entities on Polkadot running a number of nodes, but this is mostly due to poor education of who to select when nominating validators, the likely zero bad actors we have in our system, and the very few slashes that have taken place so far. Over time, this should be self-correcting.
So in summary, while I am not going to claim these numbers are perfect representations of reality, I do think it is perfectly fair to say that Polkadot is a leader in the blockchain ecosystem for providing high security networks with a relatively low number of resources.