The aim of this project is to calculate the nakamoto coefficients for various popular blockchains.
Nakamoto coefficient is a way to calculate the level of decentralization in a particular chain.
Read this amazing messari report on operational decentralization of Proof-of-stake networks.
Please note that the values should be interpreted with context since the same objective treatment is applied for all the chains included here, ie, we simply calculate:
nakamoto-coefficient: no of validators controlling 33% of the total network stake
Note that the threshold may be different for some blockchains, for example, 50%. So, I would suggest users to understand the context, cross-verify and examine the results. For any feedback, please join this discord.
Golang
- Build docker image
docker build . --platform=linux/amd64 -t xenowits/nc-calc:v0.1.4
- Run the image
docker run --rm \
-e "SOLANA_API_KEY=<YOUR_SOLANA_API_KEY_HERE>" \
-e "RATED_API_KEY=<YOUR_RATED_API_KEY_HERE>" \
-p 8080:8080 xenowits/nc-calc:v0.1.4
NOTE: You can get your API Key by signing up here.
- Agoric
- Aptos
- Avalanche
- BNB Smart Chain
- Cardano
- Celestia
- Cosmos
- Graph Protocol
- Hedera
- Juno
- Mina
- MultiversX
- Nano
- Near
- Osmosis Zone
- Polygon
- Polkadot
- Pulsechain
- Regen Network
- Sei
- Solana
- Stargaze
- Sui
- Terra
- Thorchain
The actual logic is present inside /core
. A goroutine runs every 6 hours which updates the nakamoto coefficients for all the chains.
To add support for multiple other chains in /v1
.