DFINITY財団が開発する分散型クラウドInternet Computer Protocolの概要
2021年04月13日
この記事を簡単にまとめると(AI要約)
目次
- 前提
- Internet Computer Protocolの概略
- ICPを構成する主要な要素
- Network Nervous System
- Subnet
- Software Canister
- ICPトークンとその経済モデル
- 2021年2月時点で予定されているロードマップ
- 総論
前提
本レポートでは、DFINITY財団が開発する分散型コンピューティングプラットフォームであるInternet Computer Protocol(以下、ICPという)について解説します。
ICPは2015年に構想され、Dominic Williams氏率いる2016年に設立された非営利団体のDFINITY財団によって開発が進められているEthereumやBitcoinなどと同じパブリックブロックチェーンプロジェクトです。
Andreesen HorowitzとPolychain Capitalなどの著名なVCから1億6000万ドル以上の資金を調達しています。
公式サイト:https://dfinity.org
Internet Computer Protocolの概略
Internet Computer Protocolは世界中の独立したデータセンターが提供する標準化されたマシン(ノード)のコンピューティングリソースとストレージを一つにまとめることでインターネット上にインターネットコンピュータを構築し、開発者が分散化されたクラウドにソフトウェアをデプロイすることを可能にします。
ICPは、Network Nervous Systemと呼ばれる分散型ガバナンスシステムによって管理され、そのアーキテクチャによって耐障害性と改ざん耐性を持ったオープンなプラットフォームを実現します。これにより、インターネットコンピュータ上に構築されるソフトウェアは、Ethereumなどのスマートコントラクトと同様のセキュリティ保証で実行されます。
ICPは既存のブロックチェーンプラットフォームと大きく違い、スマートコントラクトの実行環境だけでなく分散ストレージも提供します。それらはウェブスピードで動作するとされており、DNSなどのインターネット標準の規格とも統合されていることで、Webブラウザやスマートフォンに直接サービスを提供することができます。
つまりICPを用いることで、一般的なWebサービスから、DeFiやオンチェーンで動作するトークン化されたソーシャルメディアサービス、Ethereum dAppsの拡張まで、あらゆるものを構築することが可能となると言われています。
また、ICPは、分散型クラウドとして使用できるだけでなく、システムのセキュリティをはじめとするITの長年にわたる深刻な問題を解決するとされています。
例えば、インターネットコンピュータは、止められない改ざん防止環境の中でソフトウェアをホストしており、セキュリティをファイアウォールやバックアップシステム、フェイルオーバーに頼らないシステムを作ることが可能です。
さらに、データはメモリに自動的に永続化されるので、データベースサーバーなどの独立したインフラを不要にします。これらの機能により、今日のソフトウェアにおけるセキュリティの課題に対応するとともに、ITの法外な複雑さとコストを劇的に削減することができます。
ICPを構成する主要な要素
Network Nervous System
Network Nervous System(以下、NNSという)は、インターネットコンピュータのトークンエコノミクスからそのネットワーク構造までを管理するソフトウェアです。
NNSが管理するシステムは以下の図のような構成で成り立っています。
一番下には、特殊なハードウェアノードをホストする独立したデータセンターがあります。これらのノードマシンを組み合わせてSubnetを作成し、SubnetはSoftware Canisterというプログラムとメモリ上のデータからなるモジュールをホストしています。
NNSはこのシステム自体にホストされており、 ノードマシンの計算能力を安全に繋ぎ合わせる役割を担っています。インターネットコンピュータのブロックチェーンネットワークを構成するプロトコルの一部として機能します。
ネットワークを管理するシステムとして、具体的には以下のような機能を担っています。
- ICP上のトランザクションを検証するための公開鍵を持つメインのブロックチェーンとして機能する
- オンチェーンガバナンス機能を持ち、Subnet(NNSに紐づくシャードチェーン)を管理する。
- 新しいノードマシンをネットワークに追加するなどの提案を投票にかける
- Canisterと呼ばれるソフトウェアの単位をホストし管理する
- ネットワーク全体の負荷のバランスをとるために、Subnetを分割したりマージしたりする
- ノードマシンを監視し、性能不足や不具合を示す可能性のある動作を検知して対処する
- 正しく動いているノードマシンやネットワークの成長に貢献したユーザーに報酬を支払う
※免責事項:本レポートは、いかなる種類の法的または財政的な助言とみなされるものではありません。