Internet Computer Protocol
The network protocol that combines independently operated node machines into a single sovereign cloud — tamperproof, unstoppable, self-governing.
The Internet Computer Protocol (ICP) is the network protocol that runs the Internet Computer. It binds independently operated node machines into a single sovereign cloud — one that can host applications, serve web traffic, and hold digital assets, all without requiring an admin machine, an operating system underneath, or a foundation in the loop.
This entry is a high-level overview. For the cryptographic substrate that makes much of this work, see Chain-key cryptography. For the dedicated-subnet capability, see Cloud engines.
What ICP does
The protocol does four things at once:
- Replicated execution. Every computation is run identically by every node in a subnet, and consensus pins down the result. A node that diverges is detected and disregarded.
- Replicated storage. All canister state is held identically across the subnet, with the protocol enforcing consistency on every update.
- Decentralized governance. The Network Nervous System (NNS) — itself a canister — adopts and executes proposals about the platform’s evolution.
- Cryptographic identity. Each subnet has its own threshold-key identity, derived through the chain-key engine, which lets the network sign for itself across protocol boundaries.
The shape of a deployed app
An app on the Internet Computer is a graph of canisters — sealed software units, each containing both code and state. Canisters communicate by sending messages to each other; the protocol routes those messages between subnets when necessary, with consensus on every hop.
Because every canister has its own balance of cycles (the network’s metered fuel), the platform implements reverse gas: the canister pays for its own computation. Users do not need wallets to interact, and there is no transaction confirmation prompt for ordinary requests.
[!NOTE] Canisters are sometimes called “smart contracts” in blockchain literature, but they are far more than that — a canister can serve HTTP, hold tens of GB of state, and run for hours per call.
Subnets
A subnet is a set of nodes (typically 13–40) that run the same canisters and reach consensus among themselves. The Internet Computer is a network of subnets — currently around 50 — each with its own threshold key and its own performance characteristics.
Subnets can be:
- Public — open for anyone to deploy onto, paid for in cycles.
- Application-specific — reserved for a particular system (e.g. the Bitcoin integration runs on a dedicated subnet).
- Sovereign / cloud-engine — configured by an operator who selects the underlying nodes themselves. See Cloud engines.
See it in motion
A short tour of the protocol’s core ideas:
Further reading
Chain-key cryptography— the threshold-key engine ICP uses to sign for itself.Cloud engines— how a sovereign subnet works.- The
Document library— peer-reviewed papers from the protocol team.