Skip to main content

What is the
Internet Computer?

The Internet Computer (IC) is the only general-purpose blockchain that runs decentralized apps at web speed.

It is the World Computer that can replace traditional IT and enable a new generation of Web3 apps and services running entirely on-chain.

ICのアークテクチャ

Internet Computer Protocol のソフトウェアは、私たちが ノード と呼ぶ標準化されたサーバー・ハードウェア上で実行されます。ノードは世界中に散らばっており、独立した多数のデータセンターでホストされ、高度な耐障害性と分散性を確保しています。ノードは サブネット にグルーピングされます。各サブネットは他のサブネットから独立し、進行する独自のブロックチェーンを構成します。すべてのサブネットは、Internet Cpmouter Protocol によって接続、管理をされた上で Internet Computer(IC) を形成します。

ソフトウェアのアップデートはシームレスに行われ、性能向上やバグ修正、新機能の追加などが行われ、IC の改良と進化を加速させることが可能です。

さらに、ハードウェアレベルでもアップデートが可能で、ノードやサブネットの追加や削除が可能で、IC のスケーラビリティは IC が利用できるノードの数によってのみ制限されるため、実質的に無制限に拡張可能です。

Network Nervous System による IC のガバナンス

Network Nervous System (NNS) は、ガバナンスシステムとして IC に重要な機能を提供しています。

NNS は ICP 台帳を保持し、ICP ユーティリティトークンのアカウントとトランザクションを追跡します。 また、ICP トークンのステークホルダーは、ICP のあらゆる側面に関する投票に参加することができます。例えば、ステークホルダーは、IC ソフトウェアのアップグレードや、新しいサブネットの追加などによる IC の拡張に関して投票することが可能です(ステーク、投票、報酬の詳細はこちらを御覧ください)。 さらに、NNS は全ノードに関する情報やサブネットへの割り当てなど、IC 全体の構造を管理しています。これは、信頼できる唯一の(しかし分散化された)情報源を構成しています。

さらに、NNSは、ICP トークンをアプリケーション実行時に消費される Cycle に変換することで、IC 上での計算のガスとする手段を提供します。

NNSは、世界で最も先進的な分散型自律組織(DAO)なのです。NNS の詳細はこちらをご覧ください。

Canisters are the next evolution of smart contracts

A smart contract is a computer program executed on a blockchain. A canister, or canister smart contract, is a bundle comprising a computer program and its data. Every canister is hosted on one subnet of the IC.

Canisters on different subnets can be executed concurrently. Furthermore, multiple canisters on the same subnet can also be executed in parallel, further increasing throughput. Canisters communicate within and across subnets by sending asynchronous messages in a non-blocking manner. These properties allow for essentially unbounded scalability.

Canisters on the IC have distinguishing properties. They can

  • serve a user interface directly from the blockchain,
  • hold gigabytes of memory for a low fee, perform substantial amounts of computation at a low cost, and pay for their own computation (learn more about the reverse gas model).

Engineers can implement canisters in any language that compiles to WebAssembly. SDKs are currently available for Rust and Motoko.

Low-latency high-throughput consensus

The Internet Computer Protocol ensures that the nodes any subnet always hold the same canister state—even if multiple nodes of a subnet (up to less than one third) are faulty or misbehave. The IC is neither a proof-of-work, nor a proof-of-stake network, but a so-called DAO-controlled network, where the NNS DAO manages subnet node membership. The consensus protocol has the following desirable properties:

  • Low latency – A small number of rounds of exchange suffice to reach agreement. Normally consensus is reached within 1 to 2 seconds.
  • High throughput – Every consensus execution can handle payloads in the order of megabytes.
  • Cryptographic finality – IC consensus reaches cryptographically-guaranteed finality, that is, finalized state changes cannot be undone.
  • Byzantine fault tolerance (BFT) – Being able to tolerate up to (but less than) one third of arbitrarily faulty nodes is theoretically optimal in the considered partially synchronous communication model.

Chain-key cryptography underpins the IC's security architecture

The correct operation of subnets (and inter-subnet communication) relies on a suite of novel cryptographic protocols, collectively referred to as chain-key cryptography. Chain-key cryptography securely generates private key shares for the BLS signature scheme as part of subnet creation using a non-interactive distributed key generation (NIDKG) protocol. Subnets use BLS threshold signing to authenticate, in a decentralized way,

  • responses to user requests,
  • the subnet state,
  • inter-subnet messages, and
  • catch-up packages to allow nodes to join a subnet without the need to re-validate the entire subnet history.

The NNS endorses the public keys of subnets, much like a decentralized certification authority. Users only need the 48-byte BLS public key of the NNS to validate the interaction with any canister. Traditional blockchains typically require newly joined parties to redo all transactions ever performed on the chain. This is not feasible in a high-throughput system like the IC. Chain-key cryptography is leveraged to provide:

  • Subnet membership changes – A replica can join a subnet, by starting from the most recent valid checkpoint, or leave at any point in time.
  • Proactive security – Threshold keys of the subnet are periodically reshared between the current nodes of the subnet.
  • Permanent public keys – Membership changes and key resharing do not affect the public key of any subnet.
  • Garbage collection – Periodically, previous blocks are pruned from each subnet blockchain to prevent storage from growing infinitely.

References and further information

  • Great resources to get a deeper understanding of how all components of the IC work and fit together are the How it Works page and the white paper.
  • All of the IC's source code is available in the IC repo.
  • You can find information on the IC's subnets, nodes, node providers, canisters, NNS proposals, voting, ICP transactions and more on our dashboard.
  • Motoko is a novel programming language tailored to smart contracts on the IC. Check out Motoko.