見出し画像

Chain Key Cryptography: Enabling Blockchain Tech's Third Revolution

ブロックチェーン技術の進化は、スピードやスケーラビリティなど、現在ブロックチェーン技術を制限しているいくつかの要素の解決にかかっています。

インターネットコンピュータは、ブロックチェーン技術の第3の革命を可能にする扉を開ける鍵を握っており、それは "チェーンキーテクノロジー "と呼ばれています。

ビットコインとイーサリアムのコンセンサス
最初のブロックチェーンであるビットコインは、マイナーが複雑な暗号数学のパズルを解き、一定量のビットコインで報酬を得ることを必要とするPoW(Proof-of-Work)コンセンサスメカニズムを採用しています。ビットコインの最大の弱点は、取引が完了するまでに30~60分かかるというスピード感のなさです。

その数年後に開発されたEthereumでは、Proof-of-Workを改良してスピードアップを図りましたが、魅力的なオンラインユーザー体験を提供するために必要なウェブスピードを実現するにはまだ程遠い状況です。PoS(Proof-of-Stake)コンセンサスモデルは、Ethereum 2.0のアップグレードによってEthereumの規模を拡大するための開発者コミュニティの戦略の一部となっています。

このモデルでは、マイナーが保有するコインの数に基づいて取引を検証します。しかし、Ethereum Developer Resourcesに記載されているように、「PoSを正しく行うことは技術的に大きな課題であり、PoWを使ってネットワーク全体のコンセンサスを得ることほど簡単ではない」とされています。

インターネットコンピュータでのコンセンサス
インターネットコンピュータでは、PoS(Proof-of-Stake)モデルによって大幅に最適化されたThreshold Relayコンセンサスを採用しています。PoSコンセンサスに関連する多くの問題を解決するために、BLS署名スキームと公証法と併せてThreshold Relay技術を実装することで、トランザクションのファイナリティを実行しています。

インターネットコンピュータのバージョンでは、ノードが「ランダムビーコン」と呼ばれる乱数を生成し、これが次のノードグループの選択やプラットフォームのプロトコルの稼働に利用されています。

チェーンキー技術 - 48バイトの公開鍵
チェーンキー暗号は、インターネットコンピュータを数百万ノードにまで拡張することを可能にした基本的なブレークスルーの一つです。これは、インターネットコンピュータを構成するノードと、それを稼働して動作を可能にするエンジンを編成する一連の暗号プロトコルです。

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

- 単一の公開鍵。これは、スマートウォッチや携帯電話を含むあらゆるデバイスが、インターネットコンピュータからの人工物の真正性を検証できるようになるため、インターネットコンピュータにとって大きな利点となります。
- 新しいノードを追加して新しいサブネットを形成し、ネットワークを無限に拡張する。
- 故障したノードやクラッシュしたノードを、停止することなく新しいノードと交換すること。
- サブネット内の多くのノードが故障しても、サブネットを復活させる。
- インターネット・コンピュータ・プロトコルをシームレスにアップグレードし、バグの修正や新機能の追加を可能にする。

また、チェーンキーテクノロジーは、48バイトの公開チェーンキーで、古いブロックを不要にし、インターネットコンピュータをウェブスピードで動作させることができます。

この公開鍵は、レスポンスの検証やインターネットコンピュータの演算に十分なものです。その結果、この技術はスマートコントラクト機能の実行を2つのタイプに分けています。

アップデートコール:スマートコントラクトの状態を更新するトランザクションを1~2秒で確定させる。
クエリコール:状態(ここではキャニスターのメモリページ)に加えた変更は、実行後に破棄されます。基本的に、これによりクエリコールはミリ秒単位で実行されます。これが超高速トランザクションを可能にしています。
これとは対照的に、Ethereum上のスマートコントラクトの結果を検証するためには、Ethereumのオープンクライアントが400ギガバイトをダウンロードする必要があります。さらに悪いことに、必要なダウンロードサイズは時間とともに直線的にしか増えません。1年前は200ギガバイト程度だったのが、1年で2倍になっています。

テクニカルなプレゼンテーションで技術について探索
DFINITY社のリサーチ・クリプト部門のVPであるJan Camenisch氏が、以下のビデオでチェーンキー暗号について解説しています。

さらに、DFINITY Foundationのクリプト研究者であるManu Drijvers氏が、Chain Key技術についてArthur Falls氏と対談し、インターネットコンピュータの内部構造に関する多くの疑問に答えています。このポッドキャストは、彼の「Internet Computer Weekly」という番組で聴くことができます。

一方、インターネットコンピュータのNNS(Network Nervous System)は、経済性やアップグレード、独立したデータセンターや専用ノードマシンの導入など、あらゆることを管理しています。

チェーンキー技術とはどのようなものなのか?
インターネットコンピュータのブロックチェーンは、世界中に設置されたデータセンターのノードマシーンがインターネットコンピュータプロトコル(ICP)を実行することで作成されます。これらのノードマシンを組み合わせてサブネットを作ります。

サブネットはキャニスター・スマートコントラクトをホストします。キャニスター・スマートコントラクトは、ユーザーがアップロードした相互運用可能なコンピュート・ユニットで、コードと状態の両方を含みます。なお、サブネットは、異なるデータセンターのノードを組み合わせて作成することも可能です。

画像1

要素として、チェーン・キー技術には次のようなものがあります。

A. NIDKG [ Noninteractive Distributed Key Generation ] (非対話型分散鍵生成)
NIDKGとは、Noninteractive Distributed Key Generationの略で、フォワーディング・シークレットや非対話型ゼロ知識証明暗号などを含む革新的で高度な暗号技術です。

インターネットコンピュータ上では、サブネットを構成するノードは、古いノードの導入や新しいノードの追加など、時間の経過とともに変化していきます。NIDKGを使えば、サブネットは常に静的な公開鍵で参照できるため、サブネットのノードが常に変化しても、鍵を効率的かつ安全に管理することができます。

NIDKG/Key Resharing 暗号により、(Z-Cashが使われたような)特別な儀式を行わずにネットワークを起動することが可能になりました。ネットワーク内のノードマシンは、常に秘密鍵を再生成し、古い秘密鍵は役に立たなくなります。

B. サブネットごとに単一の鍵を証明するインターネットコンピュータ用の単一鍵
Chain Key暗号の最も分かりやすい革新的な点は、インターネットコンピュータが単一の公開鍵を持つことです。つまり、他のブロックチェーンが持っているよりも、取引やデジタルオブジェクトを検証するためのスケーラブルな方法を持っているとされています。

C. プロトコルのアップグレード
NNSの数ある任務の1つは、コミュニティが投票したインターネット・コンピュータ・プロトコル・ネットワークのアップグレードを行うことです。ブロックチェーンのアップグレードを行うには、インターネット・コンピュータ・プロトコルへの任意の変更の許可、すべての状態の保存、ダウンタイムの最小化、自律的なアップグレードの展開など、分散型プロトコルを運営することで生じるいくつかの課題を解決する必要があります。

キャッチアップ・パッケージ(CUP)は、インターネット・コンピュータ・プロトコル自体のアップグレードを可能にするものです。

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

ここで意味されているのは、次の「キャッチアップ・パッケージ」が作られた後、サブネットのノードに別のバージョンのプロトコルを実行するように指示するということです。これにより、プロトコルのバグの修正や新機能の追加などが可能になります。インターネットコンピュータを永続的に稼働させるための、最も重要な機能と言えるでしょう。

D. ノードの追加と削除
他のブロックチェーンプロジェクトとは異なり、インターネットコンピュータでは、多くのメッセージを処理するとすぐに非常に大きくなってしまうため、すべてのノードがブロックチェーンを永遠に保存することを望んでいません。新しいノードがサブネットに参加しようとしても、メンバーがすでに古いピースを捨ててしまっているため、ブロックチェーンを完全に見ることはできません。しかし、メンバーは「キャッチアップ・パッケージ」を提供することができます。このパッケージはChain Keyが署名しているので信頼できます。このCUPがあれば、ノードはブロックチェーンの直近のポイントに安全にジャンプすることができます。

要約すると、このメカニズムにより、ノードがサブネットの最新の状態に追いつくことが容易になります。これにより、サブネットに新しいノードを簡単に追加することができます(故障した/破損したノードを置き換えることができます)。さらに、CUPはブロックチェーンの「チェックポイント」として機能するため、プロトコルをアップグレードする際の明確な切り口となります。

E. 再開と状態の同期
サブネットは、データセンターから集められた「レプリカノード」で構成され、ホストされたキャニスターに関わるデータや計算を共同で複製します。レプリカノードは、一定の頻度(例えば200ラウンド)で、サブネットの鍵を使って署名した「キャッチアップパッケージ」を作成します。

したがって、キャニスターは複製によってセキュリティと信頼性を得ることができ、インターネット・コンピュータ・ブロックチェーン上のノードがプロトコルの最新の状態を再開し、キャッチアップすることができます。

参加ノードは、(state-syncプロトコルを介して)サブネットをすでに運用しているピアノードに状態を要求することができます。複製された状態は膨大である可能性があるため、CUPにはこの状態のハッシュのみが含まれており、完全な状態はこのプロトコルを介して取得することができます。

F. すべてを指揮する拡張コンセンサス
インターネットコンピュータは、世界中の独立したデータセンターに設置されたノードのネットワーク上で動作しているため、すべてのサブネットが同じ状態を実現するためには、同じメッセージを同じ順序で処理する必要があります。

サブネットを動かすノードが、処理するメッセージの順序に確実に合意するために、インターネットコンピュータは、Consensus White Paperに記載されているように、新しいコンセンサスプロトコルに依存しています。

チェーンキー技術の応用
インターネットコンピュータが他のブロックチェーンよりも高速なのは、作業証明やステイクに頼らないからです。そのChain Key技術とサブネットは、過去のブロックをグローバルに保存しません。以下に、この画期的な技術が実現する応用モデルの一部をご紹介します。

・ブリッジ、リレー、ハブ、秘密鍵を使わずに、ビットコイン、イーサリアム、インターネットコンピュータを直接統合する。インターネットコンピュータ上で直接(接続される)、レイヤー1ブロックチェーン。
・ビットコインのスマートコントラクト。
・X.509の認証局。
・ウェブサイト、企業、ユーザーが安全にやり取りするためにノードを実行する必要がない。
・その他諸々。



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