Recently I went down the rabbit hole to calculate Polkadot’s Nakamoto Coefficient number.
The reliable approach
The methodology is simple:
- Validators are grouped by their on-chain identity (sub-identities as well as obvious common names).
- Each anonymous validator is considered an independent one.
We then check for how many operators we need to reach 33% of bonded stakes.
The data:
- 374 validators are anonymous.
- The rest are validators with identities. Grouped by their sub-identities, there are 94 independent operators in total.
With this data, the Nakamoto Coefficient of Polkadot is 25.
Anonymous clustering
You may have seen above that we assume each anonymous validator is independent, this means that 25 is still just the upper bound.
To dig into the anonymous validators, we then must use some clustering approach. My clustering approach, grouping validators by their transaction counter-parties, gives me the Nakamoto Coefficient of Polkadot at 14.
The often cited value of 178 is wrong
So there you have it. If we use only hard, cold, reliable data (the reliable approach), then we have the Nakamoto Coefficient of Polkadot at 25. If we additionally group anonymous validators (anonymous clustering), then the number will likely be lower.
In any case, the often cited value of 178 is almost certainly wrong. Citing Polkadot’s NC as 178 is the same as citing Ethereum’s NC as 300000.
Verify my data
If you want to verify my data, and have been an old guy like me, to avoid unnecessary detours for you, just two things to take note:
- The identity data is now on the “People Parachain”, not on relay chain.
- Four operators do not (completely) use sub-identities. Just pattern match their names: Binance, Figment, RockX, ChainSafe.