見出し画像

Internet Computerを理解するためのビギナーズガイド|オンチェーンWEBサービスの仕組み

この記事は「Beginner's Guide To Understanding The Internet Computer Tech」「Chain Key Cryptography: Enabling Blockchain Tech's Third Revolution」を日本語訳したものです。


Internet Computerプロトコルは、ブロックチェーン暗号化の本質をNetwork Nervous Systemによってガイドおよび管理される特定のハードウェアマシンノードと組み合わせることにより、強力な仮想マシンを作成します。



Internet Computerは、無制限に拡張でき、Web速度でスマートコントラクトを実行できるパブリックブロックチェーンです。


Network Nervous Systemは、Internet Computerプロトコルを使用してノードマシンを管理し、キャニスターをホストするサブネット(チェーン自体)を作成します。


Internet Computerは、従来の企業Webクラウドに取って代わりたいと考えています。

Internet Computerのブロックチェーンは、DFINITYによって開発された新しい暗号化とブロックチェーン技術から生まれました。


Internet Computerは、さまざまなオープンインターネットサービス/ソフトウェアまたはプライベートソフトウェアをホストでき、キャニスターにコードを書き込む必要があります。

画像1

出典:DFINITY.org-Internet Computerプロトコルアーキテクチャ


また、ブロックタイムが10〜15分の他のブロックチェーンとは異なり、Internet Computerは、現在のブロック速度が約22ブロック/秒です。ブロックは、キャニスターを呼び出してデータを更新したり、特定の機能を実行したりするメッセージを伝送します。


各キャニスターは現在、8GBのデータ/コードを保存して計算を実行できます。スマートコントラクトはキャニスターにコード化されており、キャニスターは他のキャニスターと相互運用できます。キャニスターは、サイクルを燃料として使用して、計算を実行したり、データを保存したりします。


メッセージ/callsは、基本的に、チェーン上で保存および実行されるトランザクションです。各ブロックはトランザクション(メッセージ)を保存できます。したがって、ブロック時間は遅延を表す可能性があります。


しかし、これは見た目ほど簡単ではありません。ブロック数はInternet Computerの容量を示します-ブロックの制限はブロックあたり約8MBのデータですが、これはさらにアップグレードされるように設定されています。


これはInternet Computerの容量を示し、ノード数の増加に伴って劇的に増加する可能性があるため、1秒あたりのトランザクション数に制限がないことを示しています。


イーサリアムには、スマートコントラクトトランザクションを実行するためのプロトコルがあり、ノードはチェーン全体のコンセンサスに同意します。


対照的に、Internet Computerのスマートコントラクトキャニスターはサブネット上でホストされます-コンセンサスのislandsとして機能し、それ自体の中でコンセンサスに達するブロックチェーンのレプリカが含まれています。


トランザクションは、新しいビザンチンフォールトトレランステクノロジーを使用してサブネット内でコンセンサスに達します。


これはイーサリアムにとってどういう意味ですか?


イーサリアムはノードを介してコンセンサスをアーカイブし、現在の形式では単一のブロックチェーンです。Internet Computerは、互いに相互作用できる並行して実行される複数のブロックチェーンを構築できます。

開発者は大規模なソーシャルメディアアプリケーションを構築できるため、これは重要です。これにより、最終的にはオープンインターネットとブロックチェーンの新時代が可能になります。


Andressen Horowitz on the Internet Computer as an innovative tech:「テクノロジーの10年ごとを振り返ると、本当に支配的なことが1つあります。[Internet Computer]はこの次の10年で1つになると思います...このスペースをよく見てください。なぜなら、私たちはあなたが構築するもののプラットフォームを変更するだけでなく、あなたが構築できるものも変更しているからです。これは新しい種類のプラットフォームです。-クリスディクソン ゼネラルパートナー、アンドリーセンホロウィッツ(a16z)


Internet Computerに関するコンセンサス


Internet Computerは、プルーフオブステーク(PoS)モデルによって大幅に最適化されたしきい値リレー(Threshold Relay)コンセンサスを使用します。


これは、PoSコンセンサスに関連する多くの問題に対処するために、BLS署名スキームおよび公証方法と組み合わせてしきい値リレー技術を実装することにより、トランザクションのファイナリティを強調します。


Internet Computerバージョンでは、ノードは「ランダムビーコン」と呼ばれる乱数を生成します。これは、ノードの次のグループを選択し、プラットフォームのプロトコルを駆動するために使用されます。


Chain Key Technology 48バイトの公開鍵



Chain Key暗号化は、Internet Computerを数百万のノードに拡張できるようにする基本的なブレークスルーの1つです。これは、Internet Computerを構成するノードと、それを駆動して操作を可能にするエンジンを調整する暗号化プロトコルのセットです。


それは以下を可能にします:

•単一の公開鍵。これは、スマートウォッチや携帯電話を含むすべてのデバイスがInternet Computerからのアーティファクトの信頼性を検証できるため、Internet Computerにとって大きな利点です。



•新しいノードを追加して新しいサブネットを形成し、ネットワークを無限に拡張します。



•障害のあるノードまたはクラッシュしたノードを、停止することなく新しいノードに置き換える。



•障害が発生したノードが多すぎる場合でも、サブネットを復活させます。



•Internet Computerプロトコルをシームレスにアップグレードし、ネットワークがバグを修正して新しい機能を追加できるようにします。



さらに、Chain Key Technologyは48バイトのパブリック
Chain Keyであり、古いブロックを不要にします。これにより、Internet ComputerをWeb速度で動作させることができます。


この公開鍵は、応答の検証とInternet Computerの計算に十分です。したがって、このテクノロジーは、スマートコントラクト機能の実行を次の2つのタイプに分類します。


Update calls: 1〜2秒でスマートコントラクトのステートを更新するトランザクションを完了します。


Query calls:ステート(この場合はキャニスターのメモリページ)に加えた変更は、実行後に破棄されます。基本的に、これによりクエリ呼び出しをミリ秒単位で実行できます。これが超高速トランザクションを可能にするものです。



まったく対照的に、イーサリアムでのスマートコントラクトの結果を検証するには、オープンなイーサリアムクライアントが400ギガバイトをダウンロードする必要があります。


さらに悪いことに、必要なダウンロードサイズは時間とともに直線的に増加するだけです。必要なサイズは1年以内に2倍になりました。1年前はわずか200ギガバイトでした。



Internet Computerブロックチェーンは、Internet Computerプロトコル(ICP)を実行している世界中にあるデータセンターのノードによって作成されます。これらのノードマシンを組み合わせてサブネットを作成します。


サブネットは、ユーザーによってアップロードされた相互運用可能なコンピューティングユニットであり、コードとステートの両方を含むキャニスタースマートコントラクトをホストします。サブネットは、異なるデータセンターのノードを組み合わせることで作成できることに注意してください。



本質的に、Chain Keyテクノロジーには次のものが含まれます。


A. NIDKG [非対話型分散キー生成]


NIDKGは、Noninteractive Distributed Key Generationの略語であり、転送の機密性と非対話型ゼロ知識証明暗号化を含む革新的な高度な暗号化技術です。


Internet Computerでは、サブネットを構成するノードは、古いノードの導入や新しいノードの追加など、時間の経過とともに変化します。NIDKGを使用することにより、サブネットは常に静的公開鍵で参照できるため、サブネットノードが絶えず変化している場合でも、鍵を効果的かつ安全に管理できます。


NIDKG / Key Resharing暗号化により、特別な儀式なしでネットワークをブートストラップできるようになりました(たとえば、Z-Cashが使用された場合)。ネットワーク内のノードマシンは常にシークレットを再生成し、古いものは役に立たなくなります。



B.Single Key for the Internet Computer that certifies a single key per subnet




Chain Key暗号化の最も目に見える革新は、Internet Computerが単一の公開キーを持っていることです。言い換えると、ブロックチェーンには、他のブロックチェーンよりもスケーラブルなトランザクションとデジタルオブジェクトの検証方法があると報告されています。


C.プロトコルのアップグレード



NNSの多くの義務の1つは、コミュニティが投票したInternet Computerプロトコルネットワークをアップグレードすることです。ブロックチェーンをアップグレードするには、Internet Computerプロトコルへの任意の変更の許可、すべてのステートの保持、ダウンタイムの最小化、アップグレードの自律的な展開など、分散型プロトコルの実行によって生じるいくつかの課題の解決が必要です。


「キャッチアップパッケージ」(CUP)を使用すると、Internet Computerプロトコル自体をアップグレードできます。


「キャッチアップパッケージ」(CUP)は、ノードがサブネットに参加するために必要なすべての情報をバンドルします。また、既存のノードがネットワークから切断された場合などに、既存のノードが動作を再開できるようにします。


ここでの考え方は、次の「キャッチアップパッケージ」が作成された後、異なるバージョンのプロトコルを実行するようにサブネットのノードに指示することです。これにより、プロトコルのバグの修正、新機能の追加などが可能になります。これはおそらく、Internet Computerを永続的に実行できるようにする最も重要な機能です。


D.ノードの追加と削除


他のブロックチェーンプロジェクトとは異なり、Internet Computerは、多くのメッセージを処理すると非常に急速に大きくなるため、すべてのノードがブロックチェーンを永久に保存することを望んでいません。


新しいノードがサブネットに参加したい場合、メンバーはすでに古い部分を破棄しているため、ブロックチェーンを完全に表示することはありません。


ただし、Chain Keyが署名しているため信頼できる「キャッチアップパッケージ」を提供することはできます。このCUPを使用すると、ノードはブロックチェーンの最近のポイントに安全にジャンプできます。


要約すると、このメカニズムにより、ノードはサブネットの最新のステートに簡単に追いつくことができます。これにより、サブネットに新しいノードを簡単に追加できます(障害のある/破損したノードを置き換える可能性があります)。


さらに、CUPはブロックチェーンの「チェックポイント」として機能するため、これはプロトコルをアップグレードできる明確なカットオフポイントです。


E.Resumption & amp; State sync



サブネットは、ホストされたキャニスターに関連するデータと計算を複製するために連携するデータセンターから引き出された「レプリカノード」で構成されます。レプリカは、サブネットキーを使用して署名された特定の頻度(たとえば、200ラウンド)ごとに「キャッチアップパッケージ」を作成します。


したがって、キャニスターはレプリケーションを通じてセキュリティと信頼性を獲得し、Internet Computerブロックチェーン上のノードが再開してプロトコルの最新のステートに追いつくことを可能にします。


参加ノードは、サブネットをすでに操作しているピアノードに(ステート同期プロトコルを介して)ステートを要求できます。複製されたステートは広大である可能性があるため、CUPにはこのステートのハッシュのみが含まれ、完全なステートはこのプロトコルを介して取得できます。


F.Extended Consensus orchestrating all of this



Internet Computerは世界中にある独立したデータセンターのノードのネットワーク上で実行されるため、すべてのサブネットが同じステートを確実に達成するために、同じメッセージを同じ順序で処理する必要があります。


サブネットに電力を供給しているノードが処理するメッセージの順序について合意できるようにするために、Internet Computerは、コンセンサスホワイトペーパーで説明されているように、新しいコンセンサスプロトコルに依存しています。



Chain Key技術の応用

画像2


Internet Computerは、プルーフオブワークやステークに依存しないため、他のブロックチェーンよりも高速です。そのChain Keyテクノロジとサブネットは、以前のブロックをグローバルに保存しません。以下に、この画期的なテクノロジーが可能にするいくつかのアプリケーションを示します。


・ブリッジ、リレー、ハブ、秘密鍵を使用せずに、ビットコイン、イーサリアム、Internet Computerを直接統合します。Internet Computer上で直接、レイヤー1ブロックチェーン。


・ビットコインスマートコントラクト


・X.509認証局。


・Webサイト、企業、およびユーザーは、安全にcallするためにノードを実行する必要はありません。


etc...

参考文献:

キャニスター:スマートコントラクトの進化


スマートコントラクトはキャニスターに書き込んで、Internet Computerで実行できます。キャニスターをネットワークに展開して、計算を実行できます。


キャニスターには、プログラムとステートの両方が含まれています。開発者は、さまざまな種類のソフトウェアキャニスターを作成し、それらをオープンインターネットサービスとしてトークン化できます。


キャニスターは、キャニスター(メッセージ)を呼び出して計算を実行することにより、対話できます。キャニスターは、バックエンドとフロントエンドの両方をオンチェーンで複製および提供できるスマートコントラクトプログラム(OpenChat、DSCVR)の器です。


効率的に機能させるには、キャニスターを特定のサブネットタイプに展開する必要があります(ここではサブネットタイプについては説明しません)。ユーザーは、キャニスターのIDを知るだけでキャニスターを操作できます。キャニスターは、サブネットまたは別のサブネット内で相互作用し、計算を実行し、優れたユーザーエクスペリエンスを提供できます。


キャニスターには、イーサリアムガス(取引手数料)などの計算を実行するために必要なサイクルを請求できます。ユーザーがトランザクションに対して支払うイーサリアムのガス料金とは異なり、Internet Computerでは、キャニスター(dApps)はガス料金をサイクル(逆ガスモデル)として支払います。


サブネットはコンセンサスのアイランドです


サブネットは、Network NervousSystemによるInternetComputerProtocolを使用してノードマシンをまとめることによって作成されます。サブネットにはブロックチェーンがあり、サブネットのノード間で複製されます。


これらのノードは、Internet Computerプロトコルを使用して1〜2秒以内にコンセンサスを達成します。サブネットは、他のすべてと同様に公開されており、ユーザーとソフトウェアに対して透過的です。


特定のサブネットがあります。したがって、最適な機能を得るには、選択したキャニスターを適切なサブネットでホストする必要があります。


特定のサブネットのチェーン上で実行されているキャニスターは、他のサブネット上のキャニスターと対話できます。その結果、複数のサブネットが並行して実行され、ブロックチェーンのコンセンサスが得られます。


ノードとNNS

Internet Computerブロックチェーンは、独立したデータセンター全体の独立した関係者によってホストされている特殊なノードマシンで実行されます。


NNSは、検証後にノードを承認します。Internet Computerは計算を処理するために重機を必要とするため、ハードウェアのコストは約10,000ドルです。


現在棚上げされているBadlandsのコンセプトは、アマチュアノードプロバイダーがローエンドのハードウェアノード(約250ドル)を提供できるように支援したいと考えています。


NNSはノードを管理します。Badlandsは、ノードプロバイダーの匿名性のために分散化を促進しますが、Internet Computerと比較してパフォーマンスが低下するというコストが伴います。


プロトコルがキャニスターの機能を実行するために専用のハードウェア電源を必要とするため、Internet Computerノードは高価です。これは、他のブロックチェーンとは異なり、ノードの実行に既存の集中型クラウドに依存しないInternet Computerの円滑な機能に必要です。



Internet Computerネットワークは、より多くのノードマシンを組み込むだけで成長できます。


ノードの数が増えると、Internet Computerの計算能力も上がります。その後、ノードマシンは、そのサービスに対してNetwork NervousSystemからICPを受け取ります。


ブロック、ブロック速度、およびメッセージ


ブロック、ブロック速度、およびメッセージは、基本的にトランザクションとTPSを示します。これらは、Internet Computerがスケーラビリティに対処する可能性を示します。


メッセージは基本的に、ユーザーがキャニスターと対話する、またはキャニスターが相互にcallするサブネット(オンチェーン)上の関数/トランザクションです。


メッセージは、query callsまたはUpdate callsにすることができます。dAppキャニスターでのニュースフィードの表示などのquery callsは、サブネットから実行するのにミリ秒かかる読み取り専用のcallです。これらのメッセージ(トランザクション)は、すでに作成されているブロックと対話するための要求です。


Update callsは、ユーザーまたは他のキャニスターによる入力メッセージ(Internet Computerの外部からの更新要求)です。これらのメッセージは、キャニスターのステート(データまたは計算)を更新します。


したがって、ブロックチェーンはコンセンサスに到達する必要があります-実行時間(書き込み時点で1〜2秒)。Internet Computerの効率を維持するために、古くて役に立たないブロックは削除されます。


プロトコルが複雑なため、ブロックサイズ、ブロック番号、またはブロック時間を理解するのが困難です。これらの3つをノードと組み合わせると、Internet Computerの成長と容量がわかります。


ノードの数が増えると、ブロック速度が上がり、スマートコントラクトトランザクションが増えると、スケーリングが増えます。



Internet Computer技術は革命的です!

参考文献:


この記事が気に入ったらサポートをしてみませんか?