ICP has multiple levels of subsystems and decentralization. Using the metaphor of a stack, they are (from top to bottom):
1. “Common Good” apps on the IC
- These are apps the community uses, often as public goods
- These are controlled by NNS DAO or individual DAOs (e.g. Internet Identity, NNS frontend dapp, SNS)
- Examples of such apps:
- NNS dapp
- Code repository: https://github.com/dfinity/nns-dapp
- Canister: qoctq-giaaa-aaaaa-aaaea-cai
- Internet identity
- Code repository: https://github.com/dfinity/internet-identity
- Canister: rdmx6-jaaaa-aaaaa-aaadq-cai
- NNS dapp
2. Protocol Governance
- ICP is controlled by the NNS DAO
- All changes to the protocol or the topology are directly driven by decisions of the DAO
- See Dashboard: Governance
3. Infrastructure Layer
- Nodes are the physical layer of ICP (how & which nodes participate in the network)
- See Dashboard: Network