Whitepaper
The Internet Computer
The Internet Computer (IC) is a decentralized global compute platform which uses ground-breaking blockchain technology to achieve consensus within subnets. It is globally distributed in numerous independent data centers, is tamper proof and unstoppable. It can serve applications fully on-chain without needing any centralized frontend layer. It is extremely efficient and is several orders of magnitude cheaper to run and store data than most other blockchains. It uses a reverse-gas model so computation and storage costs are paid by the app/service providers rather than users.
Canister smart-contracts
Applications on the IC are composed of canister smart-contracts organized into subnets. A subnet can contain 100,000s of canisters and is composed of (typically 13) node machines each of which runs in a different independent data center around the globe such that the nodes within each subnet are as geographically and jurisdictionally diverse as possible. Canisters can communicate securely with canisters on other subnets allowing the IC to scale horizontally.
A canister runs on a virtual machine (as a WASM) that is replicated across a subnet. It implements the actor model, and so is single threaded, processing a queue of input messages one at a time, optionally sending messages to other canisters, and adding a response message to an output queue.
It can be called by clients (or other canisters) using queries or updates. A query can be served immediately from any node but cannot change state. An update can change state and goes through a process of consensus for the nodes to agree on the same result before responding to the caller. Achieving consensus is where the blockchain comes into play but is beyond the scope of this document.
Canisters have the property of orthogonal persistence which means as a programmer you just write data objects to memory and they are automatically persisted by the system. This removes the need for a database and is one of the reasons writing and running applications on the IC is simplified compared to traditional IT stacks.
Network Nervous System (NNS)
A key feature of the Internet Computer blockchain is the Network Nervous System (NNS), an open algorithmic governance system that oversees the network and the token economics.
Holders of the Internet Computer’s ICP utility tokens can lock their tokens in neurons to participate in governance and contribute to decision-making, such as voting to determine whether or not a new subnet should be added to the network. By participating in governance, voters earn rewards which can be converted to ICP. In turn they can burn ICP to fuel the computation of their canisters.