DFINITY 暗号化研究担当副社長: インターネット コンピューター向けの新しいチェーン ロック技術 | DFINITY 立ち上げカンファレンス
二十三画生
2021-05-14 11:39
本文约3240字,阅读全文需要约13分钟
チェーン ロック テクノロジーは、インターネット コンピューター プロトコルの中核です。

インターネット コンピューターでは、コンピューターは一連のプロトコル (ICP) によって駆動され、これによりネットワークを数百万のノードに拡張でき、スケーラブルで無制限のコンピューティング パワーをキャニスター (コンテナー) に提供できます。チェーン ロック テクノロジーは、インターネット コンピューター プロトコルの中核です。

では、チェーンロック技術にはどのような利点があるのでしょうか?チェーンロックプロトコルはどのように機能しますか?チェーンロック技術の革新とは何ですか?チェーン ロック プロトコルの技術的な詳細については、DFINITY の暗号研究担当副社長である Jan Camenisch が、講演「インターネット コンピュータのための新しいチェーン ロック テクノロジ」の中でその謎を明らかにしました。 Odaily が主催するスピーチの全文を読み続けることを歓迎します、お楽しみください~

皆さん、こんにちは。DFINITY の Jan Camenisch です。今回の話はチェーン キー テクノロジーについてです。インターネット コンピューターでは、コンピューターは一連のプロトコル (ICP) によって駆動され、これによりネットワークを数百万のノードに拡張でき、スケーラブルで無制限のコンピューティング パワーをキャニスター (コンテナー) に提供できます。

チェーン ロック テクノロジはインターネット コンピュータ プロトコルの中核であり、実際、この一連のプロトコルは当社が開発した特別なエッジ暗号システムです。チェーン ロック テクノロジの最も明白な部分は、インターネット コンピュータが 1 つの公開キーを持っており、その 1 つの公開キーに関して関心のあるコンピュータから送信された情報を検証できることです。これは、インターネット コンピュータの大きな利点です。したがって、インターネット コンピュータに入る場合、すべてのメッセージを検証するために必要なのは 48 バイトの公開キーだけです。対照的に、イーサリアム クライアントが同じ効果を達成するには、少なくとも 400 GB のデータをダウンロードする必要があります。

チェーン ロック テクノロジについてさらに説明します。インターネット コンピュータを拡張するには、実際にはすべてのノードが同じキャニスター (コンテナー) 内で実行されるわけではなく、キャニスターを異なるノード、または異なるサブネット (複数のノードで構成される) に分散する必要があります。 、この一連のサブネットワークをネットワーク ニューロン (NNS) と呼びます。これらのサブネットの 1 つは、他のサブネットを制御し、支配するため特別です。

単一の公開キーとは、実際には他のすべてのサブネットを管理する公開キーのことであり、キーを提供する他のすべてのサブネットを生成するために使用されます。公開キーの生成、コンテナー証明書の生成、およびこのサブネットのその他の主要な部分を行います。

チェーン ロック テクノロジと同様に、NNS は最初から開始できます。ユーザーが NNS と対話するとき、NNS はキャニスター (コンテナ) を使用して計算を実行し、計算結果を受け取ります。これらの結果のサブネットに署名して、これを検証できます。サブネット公開鍵に関しては、サブネットが NNS から取得した証明書を使用してサブネット公開鍵を検証できます。これは、チェーン ロック テクノロジーの 2 つの部分のようなものです。最初の部分は、先ほど述べたように、上位レベルのサブネットが他のサブネットの秘密キーを生成できるということであり、2 番目の部分は、NNS から秘密キーを受け取るサブネットがこれらの秘密キーをどのように管理するかということです。

ノードがクラッシュして交換が必要になる場合もありますし、ノードが侵害されて淘汰が必要になる場合もあります。どちらの場合も、サブネットが受信した秘密鍵は新しいノードのセット間で再共有する必要があるため、サブネットが受信した鍵情報を維持するために、この特別な署名である Threshold Signature (しきい値署名) を使用します。実際には、連携して動作する必要がある一連のアルゴリズムのように聞こえるアルゴリズムです。まず第一に、秘密鍵を生成するためのアルゴリズムがあります。これは、信頼できるディーラーに公開鍵と秘密鍵を継続的に生成させ、それらをさまざまな参加者に配布するようなものです。ほとんどの参加者が署名に同意すると、これらの部分署名を組み合わせることができます。元の公開鍵に関連する完全な署名が検証されます。

上記のプロセスをチェーンロック技術に実装するにはどうすればよいでしょうか? 1 つの方法: 非対話型の鍵生成アルゴリズムが必要です。 しきい値署名スキームの標準の鍵生成アルゴリズムには、インターネット上のコンピュータを備えた信頼できる古い再販業者が必要ですが、当事者を信頼したくないため、これは不可能である可能性があります。

この問題を解決するために、いくつかの新しい効率的な暗号化を提案します。これにより 2 つのことが可能になります。1 つは、ディーラーが対話なしでこれらのキーを直接生成できることです。ディーラーはキーと公開キーを生成します。ただし、違いは、キーが当事者ごとに書き込まれることです。ここでの例では、手がかりはデータです。非インタラクティブな暗号化されたグラフィックプルーフも生成されます。実際、生成された公開キーも照合して、どちらかの当事者が共有が正しいことを検証できる非対話型の証明を実際に開始します。

2 番目の部分は、共有スキームの数学的性質です。つまり、2 つの異なる株式を 1 つの株式に組み合わせることができ、2 つ以上のディーラーがいる場合、受信側のトランザクション ペアは数学的準同型演算を行うことができます。これを「公共向け」と呼びます。キーのマージでは、異なる公開キーが 1 つの公開キーになりますが、キーに対しても同じことを行うことができ、その結果、新しい種類の共有、つまり結合共有が実現します。

私たちがすでに知っているように、これらの神経知識の証明のおかげで、すべての共有は正しいです。この準同型の組み合わせは、実際には、1人のディーラーがそれを正しく行っている限り、私がこのキーを明らかにしていないことを保証し、全体の組み合わせも意志のキーになります十分なランダム性が含まれているため、安全である必要があります。この準同型操作の優れた特性は、単一の共有が正しく行われる限り、つまりキーがランダムに生成され、どこにも漏洩しない限り、結合されたキーと公開キーが生成されることを保証することです。これにより、インターネットが新しいサブネットを開始し、サブネットのキーを生成できるようになります。より正確には、NNS の各ノードがそのような共有を行い、情報を新しいノードに渡します。

ここで 2 番目の部分について説明します。ノードは最初に NNS から受け取った鍵情報を維持する必要があります。特にノードに連絡することはできないため、暗号化された方法で送信されます。2 番目の暗号化グラフ ツールが必要ですが、生成する必要はありません。新しいキーの場合、キーの暗号化情報が共有キーと一致していることを証明してから、それを他のすべてのノードに提供する必要があります。特定のしきい値に達すると、すべてのノードは新しいキーを再共有できます。

非対話型の方法を使用して、サブネット内で失われたキーを回復する方法を見てみましょう。たとえば、この例では 4 つのノードがあり、そのうちの 1 つがクラッシュし、すべての状態が失われ、すべての鍵情報が失われています。4 つの鍵共有スキームのうち 3 つを使用しているため、残りのノードは引き続き動作できます。この時点で、NNS は割り当てを行います。新しいノードをサブネットに追加し、再度 4 つのノードに格納します。しかし、2 つのノードが失われると、それは大惨事になります。

相手も、それが自分が共有する鍵のようなものであることに気づきました。この記録と元の記録に関して、私たちは新しいノードのセットの機密性を保証し、4 つのノードは魅力的ではない特性を持つ自由な共有テクノロジーを採用しました。この後、4 つの新しいノードのそれぞれが公開キーに対応するキー共有を持つことになります。これにより、クラッシュしたサブネットのノードを置き換えて、サブネットを継続させることができます。

キー情報がまだ参加資格を持っていないノードについては、サブネットに参加したい場合は、特定する必要があります: まず、すべての秘密キーがサブネットに参加することに同意する必要があります。サブネットはそのステータスを検証して承認し、最近のすべてのキーが含まれます。ブロック状態。個々のノードは信頼できないため、ノードは最新の状態を一緒に検証する必要があります。その後、共同状態、つまり新しいノードを設定します。受信した状態が実際に真の状態、つまり最初から正しい状態であることを確認します。

これらの操作は非常に高価であり、毎ラウンド実行することはできません。指定された時間間隔内で実行する必要があります。この間隔中に認証ステータスを生成し、これら 2 つをまとめて、これを Catchup パッケージと呼びます。この Catchup パッケージは、ノードが他のノードに追いつき、他のノードと一緒に動作できるようにするため、実際には非常に強力です。ノードを交換できないだけでなく、ノードを回復することもできるため、ノードがクラッシュしなかった場合でも、他の理由でオフラインになっている可能性があります。時間が長すぎる場合は、前のノードに追いつくために、最新のキャッチアップ パッケージをダウンロードし、解凍して操作を再開できます。

壊滅的なケースでは、ノードの 3 分の 1 以上がクラッシュするか状態が失われますが、その場合でもサブネットを回復することができました。 Catchup パケットが残っている限り、NNS はその Catchup パケットを取得し、新しい共有キーを追加するだけです。前の共有キーはもう有効ではないため、元の Catchup パケットから開始して、新しいサブネットを作成します。また、おそらく最も重要なことですが、キャッチアップ パケットはサブネットの明示的な状態を定義するため、キャッチアップ パケットによってプロトコルをアップグレードすることもできます。特定の Catch-up パッケージの後、すべての新しいノードは新しいプロトコル バージョンをダウンロードし、この Catch-up パッケージから新しいプロトコル バージョンを実行するか、非インタラクティブな dkg とキーの再共有を実行するか、単にテクノロジーを変更すると言えます。 .要素。

チェーン ロック テクノロジーの中核は、すべてのプロトコルの差分コンセンサスを調整するコンセンサス プロトコルです。その主なタスクは、ユーザーからのメッセージを収集して評価し、それらを実行することですが、計算が正しく行われることを保証するために、非対話型の編成とすべての異なるノード間での再共有を調整する必要もあります。ハードディスクの障害やその他の不具合など、何らかの問題が発生した場合でも、このコンテナの一部の問題はコマンドの実行には影響しませんが、調整された状態の回復と同期が必要となるため、コンテナのすべてのアップグレードが調整されます。与えられたロスト状態が始まります。もう 1 つの興味深い特徴は、コンセンサス プロトコルが実際に回復ランダム性アプリケーションも提供していることです。これらすべての詳細については間もなく技術的な議論が行われ、これに関する仕様も公開される予定です。

つまり、チェーン ロック テクノロジーにより、インターネット コンピューターは単一の公開キーを持つことができ、ネットワークに接続されているコンピューターの検証に使用できます。チェーン ロック テクノロジーにより、NNS が新しいサブネットを追加してネットワークを永久に拡張することもできます。また、あまりにも多くのノードに障害が発生した場合、チェーン ロック テクノロジーは、サブネットを再アクティブ化することができ、チェーン ロック テクノロジーは、崩壊したノードを置き換えることもでき、最後に、チェーン ロック テクノロジーは、IC プロトコルを更新し、バグを修正し、新しい機能を追加することもできます。

二十三画生
作者文库