---
title: Internet Computer Protocol
slug: internet-computer-protocol
description: The network protocol that combines independently operated node machines into a single sovereign cloud — tamperproof, unstoppable, self-governing.
tags:
  - protocol
  - architecture
  - core-concept
date: 2026-04-12
updated: 2026-04-30
related:
  - chain-key-cryptography
  - cloud-engines
cover: /img/static/home-share.jpg
hub: true
---

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](/wiki/chain-key-cryptography/).
For the dedicated-subnet capability, see [Cloud engines](/wiki/cloud-engines/).

## What ICP does

The protocol does four things at once:

1. **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.
2. **Replicated storage.** All canister state is held identically across
   the subnet, with the protocol enforcing consistency on every update.
3. **Decentralized governance.** The Network Nervous System (NNS) — itself
   a canister — adopts and executes proposals about the platform&rsquo;s
   evolution.
4. **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&rsquo;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 &ldquo;smart contracts&rdquo; 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&ndash;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** &mdash; open for anyone to deploy onto, paid for in cycles.
- **Application-specific** &mdash; reserved for a particular system (e.g.
  the Bitcoin integration runs on a dedicated subnet).
- **Sovereign / cloud-engine** &mdash; configured by an operator who
  selects the underlying nodes themselves. See
  [Cloud engines](/wiki/cloud-engines/).

## See it in motion

A short tour of the protocol&rsquo;s core ideas:

[![Watch on YouTube](https://www.youtube.com/watch?v=fUfbWAHSygo)](https://www.youtube.com/watch?v=fUfbWAHSygo)

## Further reading

- [`Chain-key cryptography`](/wiki/chain-key-cryptography/) &mdash; the threshold-key engine ICP uses to sign for itself.
- [`Cloud engines`](/wiki/cloud-engines/) &mdash; how a sovereign subnet works.
- The [`Document library`](/document-library/) &mdash; peer-reviewed papers from the protocol team.
