Difference between revisions of "Deterministic Decentralization"
From Internet Computer Wiki
Diego.prats (talk | contribs) |
Diego.prats (talk | contribs) |
||
Line 3: | Line 3: | ||
Deterministic Decentralization is the idea that ICP should measure and maximize the the diversity and decentralization of each subnet, rather than ''optimistically'' hope for decentralization by allowing any node to join network. Deterministic Decentralization tries to maximize the decentralization of every sub-layer of the infrastructure layer. This means, for example, maximizing the following: | Deterministic Decentralization is the idea that ICP should measure and maximize the the diversity and decentralization of each subnet, rather than ''optimistically'' hope for decentralization by allowing any node to join network. Deterministic Decentralization tries to maximize the decentralization of every sub-layer of the infrastructure layer. This means, for example, maximizing the following: | ||
− | # | + | # Number of unique node providers |
− | # | + | # Number of unique data centers |
− | # | + | # Number of unique jurisdictions |
==Design Intent== | ==Design Intent== |
Revision as of 16:05, 24 April 2023
Introduction
Deterministic Decentralization is the idea that ICP should measure and maximize the the diversity and decentralization of each subnet, rather than optimistically hope for decentralization by allowing any node to join network. Deterministic Decentralization tries to maximize the decentralization of every sub-layer of the infrastructure layer. This means, for example, maximizing the following:
- Number of unique node providers
- Number of unique data centers
- Number of unique jurisdictions
Design Intent
Background
- An empirical pattern from studying other blockchains: infrastructure layers tend towards high-concentration (2-4 entities) controlling 51% of the infrastructure and 1-2 jurisdictions (e.g. US, China) controlling 51% of the infrastructure. In practice, permissionless (even without a DAO) infrastructure layers tend to a concentration where the “anyone can run a node from home” tends to be a figleaf for concentration of a few big players.
- Networks like BTC or ETH have protocol-level limitations where the protocol will have the same throughput of transactions whether it has 10 nodes or 10,000 nodes. These do not scale by adding more nodes.
- Many networks have inconsistent node uptime/availability as miners switch off/on their nodes due to unpredictable crypto markets, sometimes making nodes unprofitable to run.
- A lot of the node’s computation in other blockchains is used up in puzzles (e.g. Proof of Work) rather than useful computation.
ICP is designed to have the following properties
- The IC's method of "manicured" subnets, even though less decentralized in theory, actually gives you better decentralization in practice.
- ICP compute capacity grows by adding more nodes
- To balance ICP minting rate and developer demand for compute, the NNS DAO decides how many more nodes to add
- To maximize decentralization, NNS DAO measures and maximizes decentralization, rather than leave it to chance
- To incentivize ICP to have maximum availability, the node reward has predictable rewards for each node
- To incentivize general availability, ICP rewards nodes for being part of the system and removes them if they start to deviate consistently.
- To maximize reliability and health of the network, NNS DAO can remove nodes that consistently deviate (maybe they are faulty or are malicious).