TeleportDAO(テレポートDAO):データ検証のセキュリティと効率のバランス-ライトノード設計の最新の実践

上級7/14/2024, 3:12:39 PM
TeleportDAOとEigen Labsは最近、Proof of Stake(PoS)ブロックチェーン内のオンチェーンデータにアクセスおよび検証する際にライトノードが直面するセキュリティおよび効率の問題に取り組んだ論文を共同で執筆しました。この論文では、経済的インセンティブ、保険付きの事前セキュリティメカニズム、カスタマイズ可能な「プログラマブルセキュリティ」、およびコスト効率などの様々な手段を通じて、PoSブロックチェーン内のライトノードのセキュリティと効率を向上させる革新的なソリューションが紹介されています。

要約すると

teleportdaoとeigen labsは最近、プルーフ・オブ・ステーク(Pos)ブロックチェーンにおけるライトノードのオンチェーンデータへのアクセスと検証に直面するセキュリティと効率の課題に焦点を当てた論文を発表しました。 この論文では、経済的インセンティブ、保険付きのプリセキュリティメカニズム、カスタマイズ可能な「プログラマブルセキュリティ」、およびコスト効率を通じて、Posブロックチェーンにおけるライトノードのセキュリティと効率を確保する新しいソリューションが提案されています。 この革新的なアプローチはさらなる研究の価値があります。 注:Eigen Labsは、RestakingプロトコルEigenLayerとEigenDAの開発元であり、a16z、Polychain、Blockchain Capitalなどの有名なベンチャーキャピタルファームから1億5000万ドル以上の資金を調達しています。 TeleportDAOは、カナダのバンクーバーを拠点とし、BitcoinとEVMパブリックチェーン間のクロスチェーン通信インフラに焦点を当てています。 このプロトコルは、AppWorks、OIG Capital、DeFinanceX、Oak Grove Ventures、Candaq Ventures、TON、Across、Bitsmileyなどの投資家を含むCoinListでのパブリックセールで900万ドルを調達しました。

ライトノード設計の問題

現在、POS(プルーフ・オブ・ステーク)ブロックチェーンでは、バリデーターが一定量のステーク(イーサリアムの32ETHなど)をロックしてコンセンサスネットワークに参加することで、ネットワークのセキュリティを確保しています。これは、POSブロックチェーンのセキュリティが経済的に保護されていることを意味し、総ステークが大きければ大きいほど、ネットワークを攻撃しようとする人のコストまたは潜在的な損失が高くなります。この没収メカニズムは、「アカウンタビリティセキュリティ」と呼ばれる機能に依存しており、バリデーターが矛盾する状態に署名した場合、バリデータのステークを没収することができます。フルノードは、POSブロックチェーンの完全性を維持するために不可欠です。すべてのトランザクションデータを保存し、コンセンサス署名を検証し、完全なトランザクション履歴を維持し、状態の更新を実行します。これらのタスクには、大量のコンピューティングリソースと高度なハードウェアが必要です。たとえば、完全なイーサリアムノードを実行するには、少なくとも2TBのSSDストレージが必要です。一方、ライトノードは、ブロックヘッダーのみを格納することでコンピューティングリソースの需要を軽減し、モバイルウォレットやクロスチェーンブリッジなどのアプリケーションで特定のトランザクション/状態を検証するのに適しています。ただし、ライトノードは、トランザクション検証中のブロック情報をフルノードに依存しています。現在、ノードサービスプロバイダーの市場シェアは非常に集中しており、セキュリティ、独立性、即時性が損なわれています。この記事では、データ取得コストとレイテンシーのバランスを取り、ライトノードに最適なセキュリティを実現するためのソリューションについて説明します。

既存のライトノード設計ソリューション

bitcoinは、軽量ノード向けのプロトコルとして、簡易支払い検証(SPV)を導入しました。SPVにより、軽量ノードは、マークル証明とブロックヘッダーを使用して、特定のブロックに取引が含まれているかどうかを検証できます。つまり、軽量ノードは、取引の確定性を確認するために、ブロックの深さをチェックするためにブロックヘッダーのみをダウンロードする必要があります。その結果、ビットコインにおける軽量ノードのコンセンサス検証の計算コストは比較的低くなります。しかし、イーサリアムのようなPoSブロックチェーンでは、コンセンサスチェックは本質的に複雑です。これには、全てのバリデータのセットを維持し、それらのステークの変更を追跡し、コンセンサスネットワークに対して数多くの署名チェックを行うことが含まれます。さらに、PoW軽量ノードのセキュリティは、ほとんどのフルノードが正直であるという仮定に依存しています。SPVの制限を克服するために、FlyClientと非対話型のProof of Proof-of-Work(NIPoPoW)は、クライアントに対して亜線形コストの証明を提供します。しかし、これらの方法は、PoSのコンセンサスモデルに対しては効果が低いです。

POSブロックチェーンでは、セキュリティは没収メカニズムによって実現されます。このシステムは、コンセンサス参加者が合理的であり、コストが潜在的な利益を上回ってもネットワークを攻撃しないことを前提としています。検証コストを削減するために、イーサリアムの現在のライトノードプロトコルは、ランダムに選ばれた512人のバリデーターからなる同期委員会を使用し、それぞれが32ETHをステーキングしますが、署名プロセスは没収の対象にはなりません。この没収されない設計には、重大なセキュリティ上の欠陥があります。同期委員会に不正な署名があると、ライトノードが罰せられることなく無効なデータを受け入れるように誤解させる可能性があります。没収メカニズムがあっても、同期委員会の総出資額は、イーサリアムバリデーターの膨大なプール(2024年3月時点で100万人以上)と比較すると小さいです。したがって、この方法では、ライトノードにイーサリアムバリデータセットと同等のセキュリティは提供されません。このモデルは、合理的な設定の下でのマルチパーティ計算の特別なバリアントですが、経済的保証がなく、悪意のある不合理なデータプロバイダーからの脅威に対処できません。

posブートストラッププロセスでのセキュリティと効率の課題に取り組むために、PopOSはセグメント化されたゲームを導入して、Adversarial Merkle Tree of POSタイミングに効果的に挑戦します。最小のスペース要件を達成し、クライアントが常にオンラインでなければならず、ステークを維持する必要がない一方、クライアントがオフラインになり、重要なコストを発生させずにネットワークに再参加できる問題は未解決のままです。

別の研究手法は、簡潔な証明を作成するためにゼロ知識証明を使用します。例えば、MinaとPlumoは、再帰的なSNARKの組み合わせやSNARKベースの状態遷移証明を使用して、軽量なコンセンサス検証を容易にしています。しかし、これらの方法は、証明を生成するためにブロックプロデューサに大きな計算負荷を課し、潜在的な損失の補償のために軽ノードを扱う方法については対処していません。他のPosプロトコル(例えばCosmosのTendermintプロトコル)では、軽ノードの役割がインターブロックチェーン通信(IBC)プロトコルで探索されています。しかし、これらの実装は、特定のエコシステムに合わせて調整されており、Ethereumや他のPosブロックチェーンに直接適用することはできません。

新しいライトノードの計画のデザイン

一般的に、新しい計画には経済セキュリティモジュールが組み込まれ、プログラマブルセキュリティを実現し、ライトノードが特定のセキュリティ要件に基づいて異なる設計を選択できるようになります。セキュリティの仮定は1/n + 1/mの原則に従っており、これはフルノードネットワークとインスペクターネットワークの両方に少なくとも1つの正直で効果的なノードがあれば、ネットワークは正常に機能するということを意味します。

関連モジュール/役割

  • ブロックチェーン:プロトコルは、ブロックの最終性に定義されたルールを持つプログラマブルなブロックチェーン上に構築されています。例えば、イーサリアムブロックチェーンでは、ブロックは少なくとも2つの後続エポックが経過した後に最終的と見なされます。通常、約13分かかります。
  • 没収スマートコントラクト:このプロトコルには、標準的なスマートコントラクトの抽象化に従うオンチェーンの没収契約が含まれています。これにより、すべての当事者は、前のブロックのブロックハッシュにアクセスできます。この契約に情報を送信できます。
  • データプロバイダー:データプロバイダーはフルノードを実行し、ブロックチェーンの最新状態を追跡します。彼らは資産を担保し、ライトノードによって要求された状態の正当性を検証するサービスを提供します。彼らは公開鍵に対応するキーでライトノードに送信されるすべてのデータに署名し、データのソースと整合性を保証します。
  • inspectors: inspectors are full nodes connected to light nodes that help verify data. anyone can become an inspector and earn rewards by monitoring and penalizing misbehaving parties. for simplicity, the following plan assumes each light node is connected to at least one honest inspector.
  • ライトノード:ライトノードは、特定の状態/トランザクションがブロックチェーンに最小コストで含まれているかどうかを検証することを目的としています。検証プロセス中に、データプロバイダや検査者のグループに接続します。
  • ネットワーク:データプロバイダーはピアツーピア(P2P)ネットワークを形成し、ゴシッププロトコルを使用してデータを拡散します。ライトノードは複数のデータプロバイダーに接続してリクエストを送信し、応答を受け取ります。

プラン1:セキュリティ第一

プラン1は、チャレンジ期間とインスペクターネットワークを通じてデータの信頼性を確保することに焦点を当てています。簡単に言えば、ライトノードはプロバイダーによって署名されたデータを受け取ると、このデータをインスペクターネットワークに転送してレビューします。指定された期間内に不正なデータが検出された場合、インスペクターはライトノードにデータの信頼性がないことを通知し、スマートコントラクトの没収モジュールがデータプロバイダーからステークされたトークンを没収します。それ以外の場合、ライトノードはデータの信頼性を信頼することができます。ライトノードがデータをリクエストする具体的なプロセスは次のとおりです:

  1. ライトノードは、現在のネットワークから最新のデータプロバイダのリストを取得し、チャレンジ期間を設定します。 チャレンジ期間は、データの信頼性を検証するためのインスペクターネットワークが持つ最大の時間であり、したがって、期間が長いほど、単一のトランザクションの遅延が長くなります。なお、チャレンジ期間は各ライトノードごとに独立していますが、すべてのライトノードに適用される最大のチャレンジ期間があります。
  2. リストを取得した後、ライトノードはデータプロバイダのグループを選択し、そのステークされた資金が現在のトランザクションの価値を上回ることを確認します。理論的には、ステークされた資金が高ければ高いほど、データプロバイダが悪意を持って行動するためのコストが高くなり、ライトノードの信頼コストが低くなります。
  3. ライトノードは、トランザクションのインクルージョン証明(ターゲットステート)とブロック番号を含む、このデータプロバイダグループにデータリクエストを送信します。
  4. データプロバイダーは、対応するブロックのハッシュ、トランザクションの含有証明、および署名とともに応答します。
  5. この情報を受け取ったら、ライトノードはそれを接続されたインスペクターネットワークに転送します。チャレンジ期間終了時までデータ信頼性の警告が受け取られない場合、ライトノードは署名を検証し、正しい場合はデータの信頼性を確認します。

  1. ただし、検査ネットワークから警告を受信した場合、ライトノードは以前に受信した署名を破棄する必要があります。検査ネットワークはスマートコントラクトの喪失モジュールに証拠を提出します。スマートコントラクトが悪意のある活動が発生したことを検証した場合、データプロバイダーのステークは喪失されます。選択されたいくつかまたはすべてのデータプロバイダーが罰せられたため、ライトノードは喪失イベントを確認するために現在のネットワークから新しいデータプロバイダーのリストを取得する必要があります。

その他のポイント:

  • どのフルノードも、スマートコントラクトに「登録」および「出金」リクエストを送信することで、データプロバイダーネットワークに参加または離脱できます。データプロバイダーネットワークに参加するには、最低限のステーキング要件があります。フルノードが引き出しを開始すると、そのステータスは「左」に変わり、ライトノードからのリクエストを受信しなくなり、迅速な出入りの悪意のある動作を防止します。さらに、データプロバイダーネットワークは、アクティブなプロバイダーのリストを定期的に更新します。この期間中、データプロバイダーは資金を引き出すことができず、引き出しリクエストは現在の更新期間の終了時に有効になります。更新頻度は、すべてのライトノードデータ可用性テストを確実に完了するために、最大チャレンジ期間よりも高くなっています。ネットワークのアクティビティにより、ライトノードは更新サイクルごとにアクティブなプロバイダーの新しいリストを取得する必要があります。更新サイクルが延長された場合、ライトノードはより簡単な検証プロセスを享受できますが(以前の「登録」および「撤退」リクエストに基づいてアクティブリストを推定することにより)、離脱を希望するノードは待ち時間が長くなります。
  • インスペクターネットワークがデータ署名を受信すると、署名がデータプロバイダに属しているか、データが合意ネットワークで「最終的に確認された」かどうかをチェックします。データが有効なチェーン上に表示されない場合、2つの可能性があります。まず、異なるチェーンには最長チェーン原則など、異なる最終性のルールがあるため、データがまだブロックチェーンによって最終的に確認されていない可能性があります。次に、取引が別の有効なチェーン上のブロックにある可能性があります。データが不正な場合、インスペクターネットワークはスマートコントラクトに放棄要求を送信し、データプロバイダの公開鍵、署名、ブロック番号、および放棄イベントの証拠を含め、ライトノードに警告します。スマートコントラクトは、受信したデータと現在確認されたブロック番号を比較するために、合意レイヤーの最終原則を使用します。一致しない場合、放棄イベントがトリガーされます。さらに、ライトノードに選ばれた後の別のデータ要求でデータプロバイダが罰せられた場合、インスペクターネットワークは、データプロバイダの信頼性が低下したことを即座に通知し、ライトノードに新しいリストを取得して他のプロバイダを選択するよう促します。

評価する:

  • セキュリティ:ライトノードは、ステーキングモジュールとインスペクターネットワークを使用して、合理的なおよび非合理的なデータプロバイダーの悪意のある行動のコストを決定し、データの信頼性を向上させます。ただし、このプロトコル全体がコンセンサスネットワークに基づいているため(本論文ではEthereumでテストされています)、もしコンセンサスレイヤーが攻撃された場合、このプロトコルも潜在的な信頼危機に直面する可能性があります。したがって、極端な場合にシステムの安全性を確保するために信用メカニズムを導入することができます。
  • フルノードレベルのセキュリティ:このソリューションは、イーサリアムのPOSと同等のセキュリティの仮定を提供することを目的としており、フルノードが虚偽の陳述を行った場合、没収リスクを負う必要があります。
  • ネットワークアクティビティ:現在のネットワークに合理的なデータプロバイダーがほんの少数しかいない場合、ライトノードは複数の遅延ラウンドを経験します。ただし、各データプロバイダーのスループットがゼロではないため、すべてのリクエストはまだ完了できます。したがって、ネットワークに合理的なフルノードが1つあれば、それは引き続き動作できます。さらに、データプロバイダーの収入はステーキング額にリンクされているため、これはフルノードがネットワークを保護するために過剰なステーキングをすることを奨励します。
  • 効率性:筆者らは、すでにフルノードを実行しており、このプロトコルを通じて追加の収入を得ることができるため、イーサリアムの検証者がデータプロバイダーとして主要なユーザーになると推定しています。小規模な取引は、単一のデータプロバイダーから信頼できるデータを取得することができます(ライトノードに対して1つの検証のみが必要です)、一方、大規模な取引は、信頼できるデータを取得するために複数のデータプロバイダーが必要になる場合があります(プロバイダーの数は線形に増加します)。

プラン2:効率を優先する

プラン2は、迅速なデータ確認のための保険メカニズムを導入することで、プラン1をさらに発展させています。簡単に言うと、ライトノードは保険金額と期間に基づいて保険を判断した後、データプロバイダのステークの一部または全部を利用して、ライトノードが悪意のあるデータによって発生した損失を補償することができます。これにより、ライトノードはデータを受信し、プロバイダからのデータ署名を検証した直後に、データの初期信頼性を確立することができます。ライトノードがデータを要求する具体的なプロセスは以下の通りです:

  1. ライトノードは現在の取引の潜在的な最大損失を計算し、ポリシー金額と期間を設定します。データプロバイダーが保険に拠出した資金は、十分な補償を確保するためにポリシー金額を超える必要があります。
  2. ライトノードはトランザクションのチャレンジ期間を決定します。ポリシー期間が複数のトランザクションの含まれるかどうかをチェックすることができることに注意することは重要です。したがって、ライトノードが選択する合計のチャレンジ期間はポリシー期間を超えてはならず、そうでないと一部のトランザクションが保証されない可能性があります。
  3. パラメータ(ポリシー金額、ポリシー期間、保険におけるデータプロバイダーの賭け金の金額、およびデータプロバイダーの意向リスト)を選択した後、ライトノードはスマートコントラクトにリクエストを送信します。ブロックの最終確認時間を待った後、保険の購入が成功したかどうかを検証します。失敗した場合は、他のライトノードも同じデータプロバイダーを選択し、最初に決済したため、元の要求を満たす残りの賭け金が不十分になった可能性があります。
  4. ライトノードは、ブロック番号、ターゲットステート(トランザクションのインクルージョンプルーフ)、およびインシュアランス番号を含むデータリクエストを送信します。
  5. データプロバイダはデータと署名を送信し、ライトノードがそれを検証して監査ネットワークに転送します。トランザクションはその後、予備的に確認されます。
  6. データと署名を受け取った後、検査官はまずデータの信頼性を検証します。悪意のある行動が検出された場合、証拠がスマートコントラクトに提出され、対応するデータプロバイダーに罰金が科され、罰金はライトノードに分配されます。

その他の注意点:

  • 保険に預託されたトークンは、異なるライトノードのリクエストに対して独立しており、複数の保険金の支払いリスクを防ぎます。ライトノードがデータプロバイダを選択すると、スマートコントラクトは対応する預託トークンを保険にロックし、他のライトノードはポリシー期間が終了するまでこの預託を割り当てることはできません。取引が独立している場合、ポリシー金額は最大取引金額と等しいです。取引が独立していない場合、ポリシー金額は合計取引金額と等しいです。同じ預託金額の場合、ライトノードは通常、検証効率を確保するために可能な限り少ないデータプロバイダを選択します。
  • データプロバイダは、保険期間が終了する前に「引き出し」リクエストを開始することができますが、引き出し金額はポリシー期間終了後にのみ受け取ることができます。
  • 厳密に言えば、ポリシー期間はブロックの最終確認時間+総チャレンジ期間+通信遅延+計算/検証遅延よりも長くする必要があります。データプロバイダーが選択されるほど、総チャレンジ期間に基づいて必要なポリシー期間が長くなります。

評価:

  • スケーラビリティ:プラン2のスケーラビリティは、データプロバイダーが保険に賭けるトークンの総額に依存しています。
  • ポリシーコスト:より高いセキュリティレベルはチャレンジ期間にリンクされているため、データプロバイダーはチャレンジ期間以上の期間ステーキングする必要があります。したがって、セキュリティ要件が高くなると、ステーキング期間が長くなり、ライトノードのコストが高くなります。計算式では、データプロバイダーのステーキングコストは、データプロバイダーノードの収益 / (年間平均ステーキング使用率に年間総ブロック数を掛けたもの)として計算されます。ライトノードが支払わなければならない価格は、ステーキングコストに保険期間と保険サイズを掛けたものです。

計画の効果

まず、ライトノードの計算効率に関して、両方のプランはミリ秒レベルの検証効率を示しています(ライトノードはデータを一度だけ検証する必要があります)。次に、ライトノードの遅延についてですが、異なる実験構成(下の図に示すように)では、遅延もミリ秒レベルにあります。データ提供者の数とともに遅延が線形に増加することに注意することが重要ですが、常にミリ秒レベルにとどまります。さらに、プラン1では、ライトノードがチャレンジ期間の結果を待たなければならないため、遅延が5時間になります。もしインスペクターネットワークが信頼性があり効率的であれば、この5時間の遅延は大幅に短縮される可能性があります。

第三に、軽量ノードのコストに関しては、実際には、軽量ノードには主にガス料金と保険料の2つの主要なコストが発生し、どちらもポリシー金額とともに増加します。さらに、検査員にとっては、データを提出する際に発生するガス料金は、不成立金額によって償還されるため、十分な参加インセンティブが確保されます。

拡張方向

  • 追加の担保:現在、データプロバイダーはETHトークンをステークしていますが、トランザクション情報はUSD単位で計算されています。これにより、ライトノードはデータを取得するたびにETHの為替レートを評価して十分な担保を確保する必要があります。複数のトークンをステーキングに使用できるようにすることで、データプロバイダーにはより多くの選択肢があり、単一通貨に関連するリスクを低減することができます。
  • 承認:共同マイニングと同様に、一部の個人投資家は、LSDと同様に、ETHをフルノードに承認してデータプロバイダーネットワークに参加し、契約に従って収益を分配することができます。
  • ブロック保証: 最終確認期間待機時間(イーサリアムでは12-13秒)を避けるため、ライトノードは保証を使用してこの待機時間を短縮することができます。ライトノードはデータリクエストを行う際にシンボル/識別子を追加し、必要な保証のタイプ(最終確認/提案)を指定します。データプロバイダはリクエストを受け取った際に対応するデータと署名を提供します。データプロバイダが「提案保証」のシナリオでブロックを提案できない場合、罰金が科されます。

注意:提案されたブロックは最終的には確定されるか、または叔父ブロックになります。

  • コストと手数料: インスペクターネットワークにおいては、スマートコントラクトに証明を提出するために、一定量のトークン(ガス料金よりも大きい)をステークする必要があります。さらに、ゼロ知識証明(ZKP)を使用することで、これらの証明に関連するコストを削減することができます。保険メカニズムの下では、ライトノードが支払う保険料はデータプロバイダーに支払われ、インスペクターネットワークは不正なプロバイダーから没収された収益の一部を取得します。
  • データの可用性: データ プロバイダーは、基本的にフル ノードです。コンセンサスレイヤーネットワークに参加するだけでなく、データの可用性を検証することもできます。可用性を検証するには、プル モデルとプッシュ モデルの 2 つのスキームがあります。プル モデルでは、ライト ノードがフル ノードからデータをランダムにサンプリングします。プッシュモデルでは、ブロックプロデューサーがさまざまなブロックをデータプロバイダーに配布します。プル モデルを使用するデータ プロバイダーは、サンプリング要求に応答する役割を担います。ライトノードは受信したデータを信頼できるノード/バリデーターに転送し、信頼できるノード/バリデーターはブロックの再構築を試みます。それができない場合、データプロバイダーはペナルティを受けます。本稿で提案するライトノードプロトコルは、保険メカニズムを導入し、データ可用性研究に新たな方向性を提供します。

サマリーと評価

本論文で提案されたライトノードスキームは、「プログラマブルセキュリティ」を提供し、さまざまな状況でのセキュリティニーズに対処します。スキーム1は、より高いセキュリティを優先し、レイテンシーを増加させるコストがかかります。一方、スキーム2は保険メカニズムを使用して、ライトノードに「インスタント確認」サービスを提供します。これらのスキームは、原子トランザクションやクロスチェーントランザクションなど、取引の最終性が必要なシナリオに適用されます。

免責事項:

  1. この記事は[ユリカ パートナーズ].すべての著作権は元の著作者に帰属します[andy、arthur]. もし転載に異議がある場合は、ご連絡ください。ゲートラーンチームにお任せいただければ、迅速に処理いたします。
  2. 免責事項:この記事で表明された見解や意見は、著者のものであり、投資アドバイスを構成するものではありません。
  3. 記事の翻訳はGate.ioの学習チームによって他の言語に翻訳されます。特に言及されていない限り、翻訳された記事の複製、配布、または盗作は禁止されています。

TeleportDAO(テレポートDAO):データ検証のセキュリティと効率のバランス-ライトノード設計の最新の実践

上級7/14/2024, 3:12:39 PM
TeleportDAOとEigen Labsは最近、Proof of Stake(PoS)ブロックチェーン内のオンチェーンデータにアクセスおよび検証する際にライトノードが直面するセキュリティおよび効率の問題に取り組んだ論文を共同で執筆しました。この論文では、経済的インセンティブ、保険付きの事前セキュリティメカニズム、カスタマイズ可能な「プログラマブルセキュリティ」、およびコスト効率などの様々な手段を通じて、PoSブロックチェーン内のライトノードのセキュリティと効率を向上させる革新的なソリューションが紹介されています。

要約すると

teleportdaoとeigen labsは最近、プルーフ・オブ・ステーク(Pos)ブロックチェーンにおけるライトノードのオンチェーンデータへのアクセスと検証に直面するセキュリティと効率の課題に焦点を当てた論文を発表しました。 この論文では、経済的インセンティブ、保険付きのプリセキュリティメカニズム、カスタマイズ可能な「プログラマブルセキュリティ」、およびコスト効率を通じて、Posブロックチェーンにおけるライトノードのセキュリティと効率を確保する新しいソリューションが提案されています。 この革新的なアプローチはさらなる研究の価値があります。 注:Eigen Labsは、RestakingプロトコルEigenLayerとEigenDAの開発元であり、a16z、Polychain、Blockchain Capitalなどの有名なベンチャーキャピタルファームから1億5000万ドル以上の資金を調達しています。 TeleportDAOは、カナダのバンクーバーを拠点とし、BitcoinとEVMパブリックチェーン間のクロスチェーン通信インフラに焦点を当てています。 このプロトコルは、AppWorks、OIG Capital、DeFinanceX、Oak Grove Ventures、Candaq Ventures、TON、Across、Bitsmileyなどの投資家を含むCoinListでのパブリックセールで900万ドルを調達しました。

ライトノード設計の問題

現在、POS(プルーフ・オブ・ステーク)ブロックチェーンでは、バリデーターが一定量のステーク(イーサリアムの32ETHなど)をロックしてコンセンサスネットワークに参加することで、ネットワークのセキュリティを確保しています。これは、POSブロックチェーンのセキュリティが経済的に保護されていることを意味し、総ステークが大きければ大きいほど、ネットワークを攻撃しようとする人のコストまたは潜在的な損失が高くなります。この没収メカニズムは、「アカウンタビリティセキュリティ」と呼ばれる機能に依存しており、バリデーターが矛盾する状態に署名した場合、バリデータのステークを没収することができます。フルノードは、POSブロックチェーンの完全性を維持するために不可欠です。すべてのトランザクションデータを保存し、コンセンサス署名を検証し、完全なトランザクション履歴を維持し、状態の更新を実行します。これらのタスクには、大量のコンピューティングリソースと高度なハードウェアが必要です。たとえば、完全なイーサリアムノードを実行するには、少なくとも2TBのSSDストレージが必要です。一方、ライトノードは、ブロックヘッダーのみを格納することでコンピューティングリソースの需要を軽減し、モバイルウォレットやクロスチェーンブリッジなどのアプリケーションで特定のトランザクション/状態を検証するのに適しています。ただし、ライトノードは、トランザクション検証中のブロック情報をフルノードに依存しています。現在、ノードサービスプロバイダーの市場シェアは非常に集中しており、セキュリティ、独立性、即時性が損なわれています。この記事では、データ取得コストとレイテンシーのバランスを取り、ライトノードに最適なセキュリティを実現するためのソリューションについて説明します。

既存のライトノード設計ソリューション

bitcoinは、軽量ノード向けのプロトコルとして、簡易支払い検証(SPV)を導入しました。SPVにより、軽量ノードは、マークル証明とブロックヘッダーを使用して、特定のブロックに取引が含まれているかどうかを検証できます。つまり、軽量ノードは、取引の確定性を確認するために、ブロックの深さをチェックするためにブロックヘッダーのみをダウンロードする必要があります。その結果、ビットコインにおける軽量ノードのコンセンサス検証の計算コストは比較的低くなります。しかし、イーサリアムのようなPoSブロックチェーンでは、コンセンサスチェックは本質的に複雑です。これには、全てのバリデータのセットを維持し、それらのステークの変更を追跡し、コンセンサスネットワークに対して数多くの署名チェックを行うことが含まれます。さらに、PoW軽量ノードのセキュリティは、ほとんどのフルノードが正直であるという仮定に依存しています。SPVの制限を克服するために、FlyClientと非対話型のProof of Proof-of-Work(NIPoPoW)は、クライアントに対して亜線形コストの証明を提供します。しかし、これらの方法は、PoSのコンセンサスモデルに対しては効果が低いです。

POSブロックチェーンでは、セキュリティは没収メカニズムによって実現されます。このシステムは、コンセンサス参加者が合理的であり、コストが潜在的な利益を上回ってもネットワークを攻撃しないことを前提としています。検証コストを削減するために、イーサリアムの現在のライトノードプロトコルは、ランダムに選ばれた512人のバリデーターからなる同期委員会を使用し、それぞれが32ETHをステーキングしますが、署名プロセスは没収の対象にはなりません。この没収されない設計には、重大なセキュリティ上の欠陥があります。同期委員会に不正な署名があると、ライトノードが罰せられることなく無効なデータを受け入れるように誤解させる可能性があります。没収メカニズムがあっても、同期委員会の総出資額は、イーサリアムバリデーターの膨大なプール(2024年3月時点で100万人以上)と比較すると小さいです。したがって、この方法では、ライトノードにイーサリアムバリデータセットと同等のセキュリティは提供されません。このモデルは、合理的な設定の下でのマルチパーティ計算の特別なバリアントですが、経済的保証がなく、悪意のある不合理なデータプロバイダーからの脅威に対処できません。

posブートストラッププロセスでのセキュリティと効率の課題に取り組むために、PopOSはセグメント化されたゲームを導入して、Adversarial Merkle Tree of POSタイミングに効果的に挑戦します。最小のスペース要件を達成し、クライアントが常にオンラインでなければならず、ステークを維持する必要がない一方、クライアントがオフラインになり、重要なコストを発生させずにネットワークに再参加できる問題は未解決のままです。

別の研究手法は、簡潔な証明を作成するためにゼロ知識証明を使用します。例えば、MinaとPlumoは、再帰的なSNARKの組み合わせやSNARKベースの状態遷移証明を使用して、軽量なコンセンサス検証を容易にしています。しかし、これらの方法は、証明を生成するためにブロックプロデューサに大きな計算負荷を課し、潜在的な損失の補償のために軽ノードを扱う方法については対処していません。他のPosプロトコル(例えばCosmosのTendermintプロトコル)では、軽ノードの役割がインターブロックチェーン通信(IBC)プロトコルで探索されています。しかし、これらの実装は、特定のエコシステムに合わせて調整されており、Ethereumや他のPosブロックチェーンに直接適用することはできません。

新しいライトノードの計画のデザイン

一般的に、新しい計画には経済セキュリティモジュールが組み込まれ、プログラマブルセキュリティを実現し、ライトノードが特定のセキュリティ要件に基づいて異なる設計を選択できるようになります。セキュリティの仮定は1/n + 1/mの原則に従っており、これはフルノードネットワークとインスペクターネットワークの両方に少なくとも1つの正直で効果的なノードがあれば、ネットワークは正常に機能するということを意味します。

関連モジュール/役割

  • ブロックチェーン:プロトコルは、ブロックの最終性に定義されたルールを持つプログラマブルなブロックチェーン上に構築されています。例えば、イーサリアムブロックチェーンでは、ブロックは少なくとも2つの後続エポックが経過した後に最終的と見なされます。通常、約13分かかります。
  • 没収スマートコントラクト:このプロトコルには、標準的なスマートコントラクトの抽象化に従うオンチェーンの没収契約が含まれています。これにより、すべての当事者は、前のブロックのブロックハッシュにアクセスできます。この契約に情報を送信できます。
  • データプロバイダー:データプロバイダーはフルノードを実行し、ブロックチェーンの最新状態を追跡します。彼らは資産を担保し、ライトノードによって要求された状態の正当性を検証するサービスを提供します。彼らは公開鍵に対応するキーでライトノードに送信されるすべてのデータに署名し、データのソースと整合性を保証します。
  • inspectors: inspectors are full nodes connected to light nodes that help verify data. anyone can become an inspector and earn rewards by monitoring and penalizing misbehaving parties. for simplicity, the following plan assumes each light node is connected to at least one honest inspector.
  • ライトノード:ライトノードは、特定の状態/トランザクションがブロックチェーンに最小コストで含まれているかどうかを検証することを目的としています。検証プロセス中に、データプロバイダや検査者のグループに接続します。
  • ネットワーク:データプロバイダーはピアツーピア(P2P)ネットワークを形成し、ゴシッププロトコルを使用してデータを拡散します。ライトノードは複数のデータプロバイダーに接続してリクエストを送信し、応答を受け取ります。

プラン1:セキュリティ第一

プラン1は、チャレンジ期間とインスペクターネットワークを通じてデータの信頼性を確保することに焦点を当てています。簡単に言えば、ライトノードはプロバイダーによって署名されたデータを受け取ると、このデータをインスペクターネットワークに転送してレビューします。指定された期間内に不正なデータが検出された場合、インスペクターはライトノードにデータの信頼性がないことを通知し、スマートコントラクトの没収モジュールがデータプロバイダーからステークされたトークンを没収します。それ以外の場合、ライトノードはデータの信頼性を信頼することができます。ライトノードがデータをリクエストする具体的なプロセスは次のとおりです:

  1. ライトノードは、現在のネットワークから最新のデータプロバイダのリストを取得し、チャレンジ期間を設定します。 チャレンジ期間は、データの信頼性を検証するためのインスペクターネットワークが持つ最大の時間であり、したがって、期間が長いほど、単一のトランザクションの遅延が長くなります。なお、チャレンジ期間は各ライトノードごとに独立していますが、すべてのライトノードに適用される最大のチャレンジ期間があります。
  2. リストを取得した後、ライトノードはデータプロバイダのグループを選択し、そのステークされた資金が現在のトランザクションの価値を上回ることを確認します。理論的には、ステークされた資金が高ければ高いほど、データプロバイダが悪意を持って行動するためのコストが高くなり、ライトノードの信頼コストが低くなります。
  3. ライトノードは、トランザクションのインクルージョン証明(ターゲットステート)とブロック番号を含む、このデータプロバイダグループにデータリクエストを送信します。
  4. データプロバイダーは、対応するブロックのハッシュ、トランザクションの含有証明、および署名とともに応答します。
  5. この情報を受け取ったら、ライトノードはそれを接続されたインスペクターネットワークに転送します。チャレンジ期間終了時までデータ信頼性の警告が受け取られない場合、ライトノードは署名を検証し、正しい場合はデータの信頼性を確認します。

  1. ただし、検査ネットワークから警告を受信した場合、ライトノードは以前に受信した署名を破棄する必要があります。検査ネットワークはスマートコントラクトの喪失モジュールに証拠を提出します。スマートコントラクトが悪意のある活動が発生したことを検証した場合、データプロバイダーのステークは喪失されます。選択されたいくつかまたはすべてのデータプロバイダーが罰せられたため、ライトノードは喪失イベントを確認するために現在のネットワークから新しいデータプロバイダーのリストを取得する必要があります。

その他のポイント:

  • どのフルノードも、スマートコントラクトに「登録」および「出金」リクエストを送信することで、データプロバイダーネットワークに参加または離脱できます。データプロバイダーネットワークに参加するには、最低限のステーキング要件があります。フルノードが引き出しを開始すると、そのステータスは「左」に変わり、ライトノードからのリクエストを受信しなくなり、迅速な出入りの悪意のある動作を防止します。さらに、データプロバイダーネットワークは、アクティブなプロバイダーのリストを定期的に更新します。この期間中、データプロバイダーは資金を引き出すことができず、引き出しリクエストは現在の更新期間の終了時に有効になります。更新頻度は、すべてのライトノードデータ可用性テストを確実に完了するために、最大チャレンジ期間よりも高くなっています。ネットワークのアクティビティにより、ライトノードは更新サイクルごとにアクティブなプロバイダーの新しいリストを取得する必要があります。更新サイクルが延長された場合、ライトノードはより簡単な検証プロセスを享受できますが(以前の「登録」および「撤退」リクエストに基づいてアクティブリストを推定することにより)、離脱を希望するノードは待ち時間が長くなります。
  • インスペクターネットワークがデータ署名を受信すると、署名がデータプロバイダに属しているか、データが合意ネットワークで「最終的に確認された」かどうかをチェックします。データが有効なチェーン上に表示されない場合、2つの可能性があります。まず、異なるチェーンには最長チェーン原則など、異なる最終性のルールがあるため、データがまだブロックチェーンによって最終的に確認されていない可能性があります。次に、取引が別の有効なチェーン上のブロックにある可能性があります。データが不正な場合、インスペクターネットワークはスマートコントラクトに放棄要求を送信し、データプロバイダの公開鍵、署名、ブロック番号、および放棄イベントの証拠を含め、ライトノードに警告します。スマートコントラクトは、受信したデータと現在確認されたブロック番号を比較するために、合意レイヤーの最終原則を使用します。一致しない場合、放棄イベントがトリガーされます。さらに、ライトノードに選ばれた後の別のデータ要求でデータプロバイダが罰せられた場合、インスペクターネットワークは、データプロバイダの信頼性が低下したことを即座に通知し、ライトノードに新しいリストを取得して他のプロバイダを選択するよう促します。

評価する:

  • セキュリティ:ライトノードは、ステーキングモジュールとインスペクターネットワークを使用して、合理的なおよび非合理的なデータプロバイダーの悪意のある行動のコストを決定し、データの信頼性を向上させます。ただし、このプロトコル全体がコンセンサスネットワークに基づいているため(本論文ではEthereumでテストされています)、もしコンセンサスレイヤーが攻撃された場合、このプロトコルも潜在的な信頼危機に直面する可能性があります。したがって、極端な場合にシステムの安全性を確保するために信用メカニズムを導入することができます。
  • フルノードレベルのセキュリティ:このソリューションは、イーサリアムのPOSと同等のセキュリティの仮定を提供することを目的としており、フルノードが虚偽の陳述を行った場合、没収リスクを負う必要があります。
  • ネットワークアクティビティ:現在のネットワークに合理的なデータプロバイダーがほんの少数しかいない場合、ライトノードは複数の遅延ラウンドを経験します。ただし、各データプロバイダーのスループットがゼロではないため、すべてのリクエストはまだ完了できます。したがって、ネットワークに合理的なフルノードが1つあれば、それは引き続き動作できます。さらに、データプロバイダーの収入はステーキング額にリンクされているため、これはフルノードがネットワークを保護するために過剰なステーキングをすることを奨励します。
  • 効率性:筆者らは、すでにフルノードを実行しており、このプロトコルを通じて追加の収入を得ることができるため、イーサリアムの検証者がデータプロバイダーとして主要なユーザーになると推定しています。小規模な取引は、単一のデータプロバイダーから信頼できるデータを取得することができます(ライトノードに対して1つの検証のみが必要です)、一方、大規模な取引は、信頼できるデータを取得するために複数のデータプロバイダーが必要になる場合があります(プロバイダーの数は線形に増加します)。

プラン2:効率を優先する

プラン2は、迅速なデータ確認のための保険メカニズムを導入することで、プラン1をさらに発展させています。簡単に言うと、ライトノードは保険金額と期間に基づいて保険を判断した後、データプロバイダのステークの一部または全部を利用して、ライトノードが悪意のあるデータによって発生した損失を補償することができます。これにより、ライトノードはデータを受信し、プロバイダからのデータ署名を検証した直後に、データの初期信頼性を確立することができます。ライトノードがデータを要求する具体的なプロセスは以下の通りです:

  1. ライトノードは現在の取引の潜在的な最大損失を計算し、ポリシー金額と期間を設定します。データプロバイダーが保険に拠出した資金は、十分な補償を確保するためにポリシー金額を超える必要があります。
  2. ライトノードはトランザクションのチャレンジ期間を決定します。ポリシー期間が複数のトランザクションの含まれるかどうかをチェックすることができることに注意することは重要です。したがって、ライトノードが選択する合計のチャレンジ期間はポリシー期間を超えてはならず、そうでないと一部のトランザクションが保証されない可能性があります。
  3. パラメータ(ポリシー金額、ポリシー期間、保険におけるデータプロバイダーの賭け金の金額、およびデータプロバイダーの意向リスト)を選択した後、ライトノードはスマートコントラクトにリクエストを送信します。ブロックの最終確認時間を待った後、保険の購入が成功したかどうかを検証します。失敗した場合は、他のライトノードも同じデータプロバイダーを選択し、最初に決済したため、元の要求を満たす残りの賭け金が不十分になった可能性があります。
  4. ライトノードは、ブロック番号、ターゲットステート(トランザクションのインクルージョンプルーフ)、およびインシュアランス番号を含むデータリクエストを送信します。
  5. データプロバイダはデータと署名を送信し、ライトノードがそれを検証して監査ネットワークに転送します。トランザクションはその後、予備的に確認されます。
  6. データと署名を受け取った後、検査官はまずデータの信頼性を検証します。悪意のある行動が検出された場合、証拠がスマートコントラクトに提出され、対応するデータプロバイダーに罰金が科され、罰金はライトノードに分配されます。

その他の注意点:

  • 保険に預託されたトークンは、異なるライトノードのリクエストに対して独立しており、複数の保険金の支払いリスクを防ぎます。ライトノードがデータプロバイダを選択すると、スマートコントラクトは対応する預託トークンを保険にロックし、他のライトノードはポリシー期間が終了するまでこの預託を割り当てることはできません。取引が独立している場合、ポリシー金額は最大取引金額と等しいです。取引が独立していない場合、ポリシー金額は合計取引金額と等しいです。同じ預託金額の場合、ライトノードは通常、検証効率を確保するために可能な限り少ないデータプロバイダを選択します。
  • データプロバイダは、保険期間が終了する前に「引き出し」リクエストを開始することができますが、引き出し金額はポリシー期間終了後にのみ受け取ることができます。
  • 厳密に言えば、ポリシー期間はブロックの最終確認時間+総チャレンジ期間+通信遅延+計算/検証遅延よりも長くする必要があります。データプロバイダーが選択されるほど、総チャレンジ期間に基づいて必要なポリシー期間が長くなります。

評価:

  • スケーラビリティ:プラン2のスケーラビリティは、データプロバイダーが保険に賭けるトークンの総額に依存しています。
  • ポリシーコスト:より高いセキュリティレベルはチャレンジ期間にリンクされているため、データプロバイダーはチャレンジ期間以上の期間ステーキングする必要があります。したがって、セキュリティ要件が高くなると、ステーキング期間が長くなり、ライトノードのコストが高くなります。計算式では、データプロバイダーのステーキングコストは、データプロバイダーノードの収益 / (年間平均ステーキング使用率に年間総ブロック数を掛けたもの)として計算されます。ライトノードが支払わなければならない価格は、ステーキングコストに保険期間と保険サイズを掛けたものです。

計画の効果

まず、ライトノードの計算効率に関して、両方のプランはミリ秒レベルの検証効率を示しています(ライトノードはデータを一度だけ検証する必要があります)。次に、ライトノードの遅延についてですが、異なる実験構成(下の図に示すように)では、遅延もミリ秒レベルにあります。データ提供者の数とともに遅延が線形に増加することに注意することが重要ですが、常にミリ秒レベルにとどまります。さらに、プラン1では、ライトノードがチャレンジ期間の結果を待たなければならないため、遅延が5時間になります。もしインスペクターネットワークが信頼性があり効率的であれば、この5時間の遅延は大幅に短縮される可能性があります。

第三に、軽量ノードのコストに関しては、実際には、軽量ノードには主にガス料金と保険料の2つの主要なコストが発生し、どちらもポリシー金額とともに増加します。さらに、検査員にとっては、データを提出する際に発生するガス料金は、不成立金額によって償還されるため、十分な参加インセンティブが確保されます。

拡張方向

  • 追加の担保:現在、データプロバイダーはETHトークンをステークしていますが、トランザクション情報はUSD単位で計算されています。これにより、ライトノードはデータを取得するたびにETHの為替レートを評価して十分な担保を確保する必要があります。複数のトークンをステーキングに使用できるようにすることで、データプロバイダーにはより多くの選択肢があり、単一通貨に関連するリスクを低減することができます。
  • 承認:共同マイニングと同様に、一部の個人投資家は、LSDと同様に、ETHをフルノードに承認してデータプロバイダーネットワークに参加し、契約に従って収益を分配することができます。
  • ブロック保証: 最終確認期間待機時間(イーサリアムでは12-13秒)を避けるため、ライトノードは保証を使用してこの待機時間を短縮することができます。ライトノードはデータリクエストを行う際にシンボル/識別子を追加し、必要な保証のタイプ(最終確認/提案)を指定します。データプロバイダはリクエストを受け取った際に対応するデータと署名を提供します。データプロバイダが「提案保証」のシナリオでブロックを提案できない場合、罰金が科されます。

注意:提案されたブロックは最終的には確定されるか、または叔父ブロックになります。

  • コストと手数料: インスペクターネットワークにおいては、スマートコントラクトに証明を提出するために、一定量のトークン(ガス料金よりも大きい)をステークする必要があります。さらに、ゼロ知識証明(ZKP)を使用することで、これらの証明に関連するコストを削減することができます。保険メカニズムの下では、ライトノードが支払う保険料はデータプロバイダーに支払われ、インスペクターネットワークは不正なプロバイダーから没収された収益の一部を取得します。
  • データの可用性: データ プロバイダーは、基本的にフル ノードです。コンセンサスレイヤーネットワークに参加するだけでなく、データの可用性を検証することもできます。可用性を検証するには、プル モデルとプッシュ モデルの 2 つのスキームがあります。プル モデルでは、ライト ノードがフル ノードからデータをランダムにサンプリングします。プッシュモデルでは、ブロックプロデューサーがさまざまなブロックをデータプロバイダーに配布します。プル モデルを使用するデータ プロバイダーは、サンプリング要求に応答する役割を担います。ライトノードは受信したデータを信頼できるノード/バリデーターに転送し、信頼できるノード/バリデーターはブロックの再構築を試みます。それができない場合、データプロバイダーはペナルティを受けます。本稿で提案するライトノードプロトコルは、保険メカニズムを導入し、データ可用性研究に新たな方向性を提供します。

サマリーと評価

本論文で提案されたライトノードスキームは、「プログラマブルセキュリティ」を提供し、さまざまな状況でのセキュリティニーズに対処します。スキーム1は、より高いセキュリティを優先し、レイテンシーを増加させるコストがかかります。一方、スキーム2は保険メカニズムを使用して、ライトノードに「インスタント確認」サービスを提供します。これらのスキームは、原子トランザクションやクロスチェーントランザクションなど、取引の最終性が必要なシナリオに適用されます。

免責事項:

  1. この記事は[ユリカ パートナーズ].すべての著作権は元の著作者に帰属します[andy、arthur]. もし転載に異議がある場合は、ご連絡ください。ゲートラーンチームにお任せいただければ、迅速に処理いたします。
  2. 免責事項:この記事で表明された見解や意見は、著者のものであり、投資アドバイスを構成するものではありません。
  3. 記事の翻訳はGate.ioの学習チームによって他の言語に翻訳されます。特に言及されていない限り、翻訳された記事の複製、配布、または盗作は禁止されています。
今すぐ始める
登録して、
$100
のボーナスを獲得しよう!