ICP CONSENSUS — HOW AGREEMENT IS REACHED
ICP uses a novel consensus protocol called IC-Consensus. It combines several innovations:
1. THRESHOLD BLS SIGNATURES
Each block proposal is signed by threshold BLS. If enough nodes agree, the block is finalized. This is faster than traditional Nakamoto consensus.
2. ASYNCHRONOUS VERIFIABLE RANDOM FUNCTION (AVRF)
Randomly selects block makers each round. Prevents targeted attacks on specific nodes. Ensures fairness.
3. PIVOTING
If a block maker is slow or malicious, another node takes over. The network dynamically switches to the fastest honest proposer.
4. DAG-BASED CONSENSUS
Instead of a simple chain, ICP uses a directed acyclic graph. Multiple blocks can be proposed in parallel. This increases throughput dramatically.
5. INTER-SUBNET ROUTING
The NNS coordinates messages between subnets. When canister A on subnet 1 calls canister B on subnet 2, the message is routed through a dedicated protocol.
FINALITY:
ICP achieves FINALITY in two steps:
- Verification: A block is verified once enough threshold signatures are collected
- Finalization: A block is finalized when it reaches a certain number of confirmations
This is different from Bitcoin where finality requires 6 confirmations. ICP finality is near-instant.
Next: Part 5 — Subnets and Replication
$ICP #InternetComputer #Course