Skip to content

Nakamoto Coefficient for different blockchains to understand levels of decentralization

License

Notifications You must be signed in to change notification settings

xenowits/nakomoto-coefficient-calculator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nakamoto Coefficient Calculator

AIM

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.

Disclaimer

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.

Programming Languages

Golang

Steps to run

  1. Build docker image
docker build . --platform=linux/amd64 -t xenowits/nc-calc:v0.1.4
  1. 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.

Chains currently supported

  1. Agoric
  2. Aptos
  3. Avalanche
  4. BNB Smart Chain
  5. Cardano
  6. Celestia
  7. Cosmos
  8. Graph Protocol
  9. Hedera
  10. Juno
  11. Mina
  12. MultiversX
  13. Nano
  14. Near
  15. Osmosis Zone
  16. Polygon
  17. Polkadot
  18. Pulsechain
  19. Regen Network
  20. Sei
  21. Solana
  22. Stargaze
  23. Sui
  24. Terra
  25. Thorchain

Notes

The actual logic is present inside /core. A goroutine runs every 6 hours which updates the nakamoto coefficients for all the chains.

Future Work

To add support for multiple other chains in /v1.