Skip to main content

ノードとサブネットブロックチェーン

Internet Computer blockchain の サブネットブロックチェーン は、ソフトウェアオペレーションを実行するための物理的なハードウェアと(CPU とメモリのような)リソースを提供します。各サブネットは、いくつかの ノード と呼ばれる、独立して所有・制御される分散化されたマシン(接続されたピアコンピュータ)で構成されるブロックチェーンです。ノード は、Internet Computer blockchain Protocol のソフトウェアコンポーネントを実行します。

各ノード上で実行する Internet Computer blockchain ソフトウェアコンポーネント は、サブネットブロックチェーン内のすべてのノードに状態と計算結果を複製するため、レプリカ(Replica) と呼ばれています。

レプリカの中核となるコンポーネントは、下記の論理的なレイヤーからなっています。

  • ユーザー、サブネットブロックチェーン内の他のノード、他のサブネットブロックチェーン からのメッセージを収集し、アドバタイズする ピアツーピア(P2P)ネットワーキングレイヤー。ピアツーピアレイヤーで受信されたメッセージは、サブネット内のすべてのノードに複製され、セキュリティ、信頼性、回復力を保証します。

  • ブロックチェーンブロックを作成するために、ユーザー と 異なるサブネット から受け取ったメッセージを選び、順序付ける コンセンサス レイヤー。ブロックチェーンのブロックは、発展するブロックチェーンを形成するビザンチン障害耐性を有するコンセンサスによって署名され、ファイナライズされます。これらのファイナライズされたブロックは、メッセージルーティングレイヤーに配信されます。

  • ユーザーとシステムが生成したメッセージをサブネット間でルーティングしたり、dapps の入出力キューを管理したり、メッセージを実行するようスケジューリングしたりする メッセージルーティング レイヤー。

  • メッセージルーティングレイヤーから受け取ったメッセージを処理することで、スマートコントラクトの実行に関わる決定論的演算を行う 実行環境

開発環境で ローカル Canister 実行環境 としてデプロイされた Internet Computer blockchain Protocol コンポーネント の簡単な概要を、下図に示します。

Internet Computer components in a developer’s environment

開発者としては、あなたの dapps とユーザー間の相互作用が、Internet Computer ブロックチェーンアーキテクチャを介してどのようにルーティングされるのか、またはブロックチェーンネットワーク上でどのように複製されるのかについて、詳細を知る必要はありません。ただし、開発環境はレプリカのコンポーネントを含んでいるため、主要なコンポーネントを大まかに理解しておくことはデプロイにおける実行環境と本番環境のワークフローの実際の感覚を得るのに役に立つでしょう。

Subnet Blockchains

A so-called subnet is a collection of replicas that run a separate instance of the consensus mechanism in order to create their own blockchain on which a set of canisters can run. Each subnet can communicate with other subnets and is controlled by the root subnet, which uses chain key cryptography to delegate its authority to the various subnets.

The Internet Computer uses subnets to allow it to scale indefinitely. The problem with traditional blockchains (and individual subnets) is that they are limited by the computing power of a single node machine, because every node has to run everything that happens on the blockchain to participate in the consensus algorithm. Running multiple independent subnets in parallel allows the Internet Computer to break through this single-machine barrier.

Because not every canister has the same security, size, or feature requirements, not every subnet has the same configuration. The system subnet (which contains the NNS and a bunch of other critical services), for example, does not charge any cycles for its canisters, because those canisters should be available in all circumstances. Other subnets can, for example, have different features enabled or disabled (such as the Bitcoin integration.

At the time of writing, there are two main subnet types: system and application. Almost all canisters run on application subnets. In comparison with the application subnet, the system subnet has the following characteristics:

  • No cycles accounting takes place
  • More generous per-call instruction limit
  • More generous wasm module size limit