ライトノードデザインにおけるセキュリティと効率の探求

初級編5/29/2024, 1:15:17 AM
TeleportDAOとEigen Labsが共同で発表した論文は、プルーフ・オブ・ステーク(PoS)ブロックチェーンにおけるライトノードが直面するセキュリティと効率の課題を探究し、新たな解決策を提案しています。経済的インセンティブ、保証付き事前セキュリティメカニズム、"プログラム可能なセキュリティ"を通じて、クロスチェーン通信やブロックチェーン技術の発展において重要なセキュリティと効率を向上させることを目指しています。

元のタイトル「TeleportDAO:データ検証の安全性と効率性 - 軽量ノードの最新設計実践」を転送します

要約

TeleportDAOとEigen Labsは最近、PoS(Proof of Stake)ブロックチェーンにおいて軽量ノードがオンチェーンデータにアクセスして検証する際に直面するセキュリティと効率の課題に焦点を当てた論文を共同で発表しました。この論文では、経済的インセンティブや保証付きのセキュリティ機構、カスタマイズされた「プログラマブルセキュリティ」やコスト効率などの一連の措置を通じて、PoSブロックチェーンにおける軽量ノードのセキュリティと効率を確保する新しい解決策が提案されています。これは非常に先進的で、深く研究する価値があります。

注意:Eigen Labsは、RestakingプロトコルEigenLayerとEigenDAの開発元です。Eigen Labsは現在、a16z、Polychain、Blockchain Capitalなどの有名なベンチャーキャピタル機関から1億5000万ドル以上の資金を調達しています。

TeleportDAOはカナダのバンクーバーに位置しています。BitcoinおよびEVM公開チェーンに焦点を当てたクロスチェーンコミュニケーションインフラプロジェクトです。このプロトコルは、Coinlistを通じての一連の公開販売と資金調達で900万ドルを調達しました。この資金調達ラウンドには、Appworks、OIG Capital、DefinanceX、Oak Grove Ventures、Candaq Ventures、TON、Across、bitSmileyなど、複数の投資家が参加しました。

ライトノード設計の既存の問題

現在、PoSブロックチェーンでは、検証者は一定額のステーク(たとえばEthereumの32 ETH)をロックすることでコンセンサスネットワークに参加します。したがって、PoSブロックチェーンのセキュリティの本質は経済によって保護されており、つまり、総ステークが大きいほど、コンセンサスネットワークを攻撃するために必要なコストや損失も大きくなります。このスラッシングメカニズムの実装は、「説明責任の安全性」と呼ばれる機能に依存しており、つまり、検証者が矛盾する状態に署名した場合、ステークが削減される可能性があります。

フルノードは、PoSブロックチェーンの完全性を維持する上で重要な役割を果たします。すべてのブロックトランザクション情報を保存し、コンセンサス署名を検証し、トランザクション履歴の完全なコピーを複製し、状態の更新を実行します。これらのプロセスには、多くのコンピューティングリソースと複雑なハードウェアが必要です。たとえば、完全なイーサリアムノードを実行するには、少なくとも2TBのSSDストレージが必要です。対照的に、ライトノードはコンピューティングリソースの要件を軽減し、ブロックヘッダーのみを保存するため、モバイルウォレットやクロスチェーンブリッジなど、特定のトランザクション/ステータスが検証されるシナリオにのみ適しています。さらに、ライトノードは、トランザクションを検証する際にブロック情報を提供するためにフルノードに依存していますが、現在のノードサービスプロバイダーの市場シェアは比較的集中しているため、セキュリティ、独立性、即時性を完全に保証することはできません。そこで、本稿では、ライトノードが最適なセキュリティを実現するためのデータ取得コストとレイテンシのトレードオフを探ります。

既存のライトノードデザインソリューション

Bitcoinは、軽量ノードプロトコルとしてSimple Payment Verification(SPV)を導入しました。SPVにより、軽量ノードはMerkle Proofとブロックヘッダーを使用して、特定のトランザクションが特定のブロックに含まれているかどうかを検証できます。したがって、軽量ノードはブロックチェーンのブロックヘッダーのみをダウンロードして、ブロックの深さをチェックすることでトランザクションの確定性を検証する必要があります。この場合、Bitcoinにおける軽量ノードによるコンセンサスの検証コストは比較的低くなります。しかし、EthereumなどのPoSブロックチェーンでは、コンセンサスチェックの設計は本質的により複雑です。これには、すべてのバリデータのセットを維持し、そのステークの変更を追跡し、コンセンサスネットワークのために多くの署名チェックを実行する必要があります。一方で、PoW軽量ノードのセキュリティは、ほとんどのフルノードが正直であるという仮定に依存しています。SPVの制限に対処するために、FlyClientとNon-Interactive Proof of Work(NiPoPoW)は、これらのブロックをクライアントに対して亜線形のコストで証明します。しかし、それらのPoSコンセンサスモデルへの適用性は弱いです。

対照的に、PoSブロックチェーンは、スラッシングメカニズムによってセキュリティを獲得します。このシステムは、コンセンサス参加者が合理的であり、攻撃のコストが潜在的な利益を上回った場合にネットワークを攻撃しないことに依存しています。検証コストを削減するために、イーサリアムの現在のライトノードプロトコルは、ランダムに選ばれた512人のイーサリアムバリデーターで構成される同期委員会に依存しており、それぞれが32イーサリアムを賭けていますが、署名プロセスに罰金は科せられません。このスラッシュ不可能な設計には重大なセキュリティ上の欠陥があり、同期委員会に不正な署名があると、ライトノードが罰せられることなく無効なデータを受け入れるように誤解させる可能性があります。スラッシングメカニズムを導入しても、巨大なイーサリアムバリデータープール(2024年3月現在、イーサリアムバリデーターの数は100万人を超えている)と比べると、同期委員会の総出資額はまだ少ないです。したがって、このアプローチでは、ライトノードにイーサリアムバリデータセットと同等のセキュリティを提供することはできません。このモデルは、合理的な設定におけるマルチパーティ計算の特別なバリアントを表していますが、経済的根拠のある保証を提供したり、悪意のある不合理なデータプロバイダーによってもたらされる脅威に対処したりすることはできません。

セキュリティと効率の課題に対処するために、PoPoSは、PoSブートストラッププロセスにセグメンテーションゲームを導入し、PoSタイミングの敵対的なMerkleツリーに効果的に挑戦します。彼らは最小限のフットプリントを実現し、クライアントに常にオンラインでステークを必要としないようにしますが、クライアントがオフラインになってもネットワークに再参加するための費用がかかる問題は未解決のままです。

別の研究アプローチは、ゼロ知識証明を使用して簡潔な証明を作成することに焦点を当てています。たとえば、MinaとPlumoは、再帰的SNARK構成とSNARKベースの状態遷移証明を使用することで、軽量なコンセンサス検証を効果的に実現しています。しかし、これらのアプローチは、ブロック生成者に証明を生成するための相当な計算負荷を負わせ、潜在的な損失の補償を受けるためのライトノードの問題には対処していません。 Cosmosで使用されているTendermintプロトコルなど、他のPoSプロトコルの文脈では、ライトノードの役割が、彼らのInter-Blockchain Communication(IBC)プロトコルで探求されています。ただし、これらの実装はそれぞれのエコシステムに固有であり、Ethereumやさまざまな他のPoSブロックチェーンに直接適用することはできません。

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

一般的に、新しいソリューションは「プログラマブルセキュリティ」を実現するために経済セキュリティモジュールを導入し、軽量ノードは独自のセキュリティニーズに基づいて異なるソリューション設計を決定できます。 セキュリティの前提条件は基本的に1/N + 1/Mであり、つまり、フルノードとプロセキューターネットワークに正直で有効なノードが存在すれば、ネットワークの正常な動作が保証されます。

  • ブロックチェーン:プロトコルはプログラマブルなブロックチェーン上に構築されており、ブロックの最終化のルールは決定論的です。たとえば、Ethereumブロックチェーンでは、ブロックの最終化には少なくとも2つの後続エポックが必要で、通常は約13分かかります。
  • スラッシングスマートコントラクト:プロトコルには、標準的なスマートコントラクトの抽象化に準拠したオンチェーンのスラッシングコントラクトが含まれています。 これには、ブロックチェーンの前のブロックのブロックハッシュへのアクセス権があります。 すべての当事者は、この契約にメッセージを送信できます。
  • データプロバイダー:データプロバイダーはフルノードを実行し、ブロックチェーンの最新状態を追跡します。彼らは資産を担保し、ライトノードから要求された状態の妥当性を検証するサービスを提供します。彼らは、公開鍵に対応する秘密鍵でライトノードに送信されるすべてのデータに署名し、データのソースと整合性を検証します。
  • 検察官:検察官は、データ検証を支援するためにライトノードに接続されたフルノードです。誰でも検察官になることができ、不適切な行動を取る当事者を監視し、減額することで利益を得ることができます。簡単のため、次のスキームでは、各ライトノードが少なくとも1人の正直な検察官に接続されていると仮定しています。
  • ライトノード:ライトノードは、特定の状態/トランザクションが最も低いコストでブロックチェーンに含まれているかどうかを検証します。検証プロセス中、ライトノードはデータプロバイダーやプロセキューターのグループと接続します。
  • ネットワーク:データプロバイダーはピアツーピア(p2p)ネットワークを形成し、ゴシッププロトコルを使用してデータを拡散させます。ライトノードはいくつかのデータプロバイダーに接続してリクエストを送信し、レスポンスを受信します。

オプション1:セキュリティファースト

Option 1は、主に挑戦期間とプロセキューターネットワークの導入によってデータの信頼性を実現します。要するに、ライトノードがプロバイダーによって署名されたデータを受信した後、このデータの一部をプロセキューターネットワークに送信してレビューします。ある期間内にデータの不正があれば、プロセキューターはライトノードにそのデータが信頼できないことを知らせ、スマートコントラクトの罰金モジュールがプロバイダーの担保トークンを罰します。逆に、ライトノードはこれらのデータの信頼性を信じることができます。

ライトノードがデータをリクエストする具体的なプロセス:

  1. ライトノードは、現在のネットワークから最新のデータプロバイダのリストを取得し、チャレンジ期間を決定します。異なるライトノード間では、このチャレンジ期間は独立していますが、チャレンジ期間の上限はすべてのライトノードに適用されます。チャレンジ期間は、検審ネットワークがデータの信頼性を確認するための最長時間であり、時間が長いほどトランザクションごとの遅延も長くなります。
  2. リストを取得した後、軽量ノードは一群のデータプロバイダを選択し、それぞれのステーク資金が現在の取引値よりも大きいことを確認します。理論的には、ステーク資金が高いほど、データプロバイダの不正行為のコストが高くなり、軽量ノードの信頼コストが低くなります。
  3. ライトノードは、対応するデータリクエストをこのデータプロバイダグループに送信します。これには、対応するブロック番号とターゲットステート(このトランザクションの含有証明)が含まれています。
  4. データプロバイダーは、対応するブロックハッシュと取引のインクルージョンプルーフを送信し、署名を添付します。
  5. ライトノードは、上記の資料を受信した後、それらを現在接続されている検察官ネットワークに転送します。チャレンジ期間が終了した後、データ信頼性警告を受信しない場合、ライトノードはこの署名を検証し、エラーがない場合はデータ信頼性テストに合格します。

  1. ただし、検察官ネットワークから警告を受け取った場合、ライトノードは以前に受け取った署名を破棄する必要があります。検察官ネットワークは、スマートコントラクトのペナルティモジュールに関連する証拠を提出します。スマートコントラクトがデータをチェックした後、違反が実際に発生したことを見つけた場合、対応するデータプロバイダーのステークがペナルティを受けます。選択されたデータプロバイダーの一部またはすべてがペナルティを受けたため、ライトノードは現在のネットワークから新しいデータプロバイダーリストを取得して、スラッシングイベントが実際に発生したことを確認する必要があります。

その他のポイント:

  • フルノードは、スマートコントラクトへの「登録」および「引き出し」要求を開始することで、データプロバイダーネットワークに参加または離脱できます。データプロバイダーネットワークに参加するために登録するための最小ステーキングしきい値があります。フルノードが引き出しを開始することを選択すると、ネットワーク内のステータスはすぐに「離脱中」に変わり、ライトノードからのリクエストを受信できなくなり、迅速な出入りの潜在的な悪意のある動作を防ぐことができます。さらに、データプロバイダーネットワークは、現在アクティブなデータプロバイダーのリストを周期的に更新し、その間、データプロバイダーは引き出し資金を受け取ることができません。引き出し要求は、現在の更新サイクルの最後のブロックで有効になり、更新頻度はチャレンジ期間の制限よりも高くなり、すべてのライトノードデータ可用性テストが完了したことを確認します。データプロバイダーネットワークのアクティビティにより、ライトノードは、ネットワークが更新されるたびに、現在アクティブなプロバイダーのリストを再取得する必要があります。更新サイクルが延長された場合、ライトノードはより合理化された検証プロセスを享受できますが(前のサイクルの「登録」および「撤退」リクエストを通じて現在のアクティブリストを推定することにより)、離脱を希望するノードは待ち時間が長くなります。
  • データ署名を受け取ると、検察官ネットワークは、署名がデータプロバイダーに属しているかどうかをチェックし、データがコンセンサスネットワークで「最終的に確認」されたかどうかを評価します。データが妥当なチェーンに表示されない場合は、2 つの可能性があります。まず、データは現在のブロックチェーンによってまだ最終的に確認されておらず、チェーンが異なれば、最長チェーンの原則など、ファイナリティルールも異なります。第二に、トランザクションは別の合理的なチェーンのブロックにあります。上記のデータが改ざんされていることが判明した場合、検察官ネットワークは、データプロバイダーの公開鍵、データプロバイダーの署名、ブロック番号を含むスラッシングリクエストをスマートコントラクトに送信し、同時にスラッシュイベントの証明を送信してライトノードに思い出させます。このデータを受信すると、スマートコントラクトは、最終的に確認された現在のブロック番号が、コンセンサスレイヤーのファイナリティの原則に従って、受信したデータと一致しているかどうかを測定します。これらに一貫性がない場合は、スラッシング イベントがトリガーされます。さらに、ライトノードによって選択されたデータプロバイダーが、別のデータ要求グループのためにスラッシュされた場合、検察官ネットワークは、データプロバイダーのデータの信頼性が低いことをライトノードに通知するためにスラッシュイベントを速やかに送信し、ライトノードはリストを再取得し、他のプロバイダーを選択します。

評価:

  • セキュリティ:ライトノードは、ステーキングモジュールおよび検察官ネットワークを通じて合理的および非合理的なデータプロバイダーの悪質な行動のコストを決定し、データの信頼性を向上させます。ただし、プロトコル全体がコンセンサスネットワークに基づいているため(この論文ではEthereumでテストされています)、コンセンサス層が攻撃されると、プロトコルも潜在的な信頼危機に直面する可能性があります。したがって、極端な状況でのシステムリスクを確保するために、さらに信頼性メカニズムを導入することができます。
  • フルノードレベルのセキュリティ:このスキームは、イーサリアムのPoS仮定と同等のセキュリティを提供することを目的としており、つまり、フルノードは偽の声明を行うためにスラッシングリスクを負わなければならない。
  • ネットワークアクティビティ:現在のネットワークには合理的なデータプロバイダがわずかしかいない場合、ライトノードは複数の遅延ラウンドに直面することになりますが、各データプロバイダのスループットがゼロでないため、すべてのリクエストは常に完了します。したがって、ネットワークに合理的なフルノードが1つあれば、ネットワークを継続して運用できます。同時に、データプロバイダの収入がステーキング額にリンクされているため、これはフルノードが必要以上にステーキングしてネットワークを保護することを奨励します。
  • 効率:記事の著者チームは、Ethereumのバリデータがデータプロバイダに参加する主要なユーザーであると予測しています。バリデータはすでにフルノードを実行しており、このプロトコルを通じて追加収入を得ることができます。小規模な取引は単一のデータプロバイダを通じて信頼性のあるデータを取得できます(ライトノードは1回のみ確認すればよい)、一方、大規模な取引は信頼性のあるデータを取得するために複数のデータプロバイダが必要となるかもしれません(プロバイダの数が増えるにつれて確認回数も線形に増加します)。

オプション2:最初に効率

ソリューション2は、ソリューション1に基づいた保険メカニズムを提案することで、迅速なデータ確認を実現します。簡単に言えば、ライトノードがポリシー金額と期間に応じて保険を決定した後、データプロバイダの担保の一部またはすべてが、データ悪意によるライトノードの後続損失のために払い戻されることがあります。したがって、ライトノードはプロバイダによって提供されたデータ署名を受信し検証した後、データの初期信頼性を決定することができます。

ライトノードがデータをリクエストする具体的なプロセス:

  1. ライトノードは、現在の取引の最大潜在損失を計算し、その後、保険ポリシーの金額と保険期間を設定します。保険のためにデータプロバイダーが担保として提供する資金の額は、返済資金が十分であることを保証するために、保険ポリシーの金額よりも大きくする必要があります。
  2. 軽量ノードはトランザクションのチャレンジ期間を決定します。ポリシー期間は複数のトランザクションの検証をカバーすることができることに注意する価値があります。したがって、軽量ノードが選択した総チャレンジ期間はポリシー期間を超えることはできません。さもないと、一部のトランザクションがカバーされない可能性があります。
  3. パラメータ(保険金額、保険期間、データプロバイダが保険のために担保を提供した金額、意図したデータプロバイダのリスト)を選択した後、ライトノードはスマートコントラクトにリクエストを送信できます。その後、ブロックの最終確認時間を待ってから、保険の購入が成功したかどうかを確認できます。失敗した場合、他のライトノードもデータプロバイダを選択し、先に決済した可能性があるため、残りの担保が元の要求に合致しない可能性があります。
  4. ライトノードは、ブロック番号とターゲット状態(トランザクションの検証証明を含む)に加えて、保険番号を含むデータリクエストを送信します。
  5. データプロバイダーはデータと署名を送信し、ライトノードは署名を検証して検察官ネットワークに転送し、その後取引は事前に確認されました。
  6. データと署名を受け取った後、検察官はまずデータの信頼性を検証します。悪意のある行動がある場合、検察官は証拠をスマートコントラクトに提出し、対応するデータプロバイダーに罰金を科し、軽量ノードに分配されます。

その他のポイント:

  • データプロバイダーのステーキングされた保険トークンは、複数の保険金返済のリスクを防ぐために、異なるライトノードリクエスト間で互いに独立しています。ライトノードがデータプロバイダーを選択すると、スマートコントラクトは保険に誓約された対応するトークンをロックし、他のライトノードは保険期間が終了する前に誓約のこの部分を割り当てることができなくなります。取引が独立している場合、保険金額は最大取引金額と同じです。それ以外の場合、保険金額は合計取引金額と同じです。同じ誓約額の下で、ライトノードは通常、検証効率を確保するためにできるだけ少ないデータプロバイダーを選択します。
  • データプロバイダーは、保険期間終了前に「引き出し」リクエストを開始できますが、引き出し金額は保険期間終了後にのみ受け取ることができます。
  • 厳密に言えば、保険ポリシーの期間は、最終ブロック確認時間+総チャレンジ期間+通信遅延+計算/検証遅延よりも大きくする必要があります。データプロバイダーをより多く選択すると、総チャレンジ期間に基づいて保険ポリシーの期間が長くなります。

評価:

  • スケーラビリティ:オプション2のスケーラビリティは、データ提供者が保険のために賭けるトークンの総額によって決定されます。
  • ポリシーコスト:より高いセキュリティレベルはチャレンジサイクルにリンクされているため、これはデータプロバイダがチャレンジサイクル以上の期間をステークしなければならないことを意味します。したがって、セキュリティ要件が高いほど、ステークサイクルが長くなり、軽ノードが支払う手数料も高くなります。式によると、データプロバイダのステークコストは、データプロバイダのノード収入/(年間を通じた平均ステーク利用率×年間の総ブロック数)によって計算されます。軽ノードが支払う必要がある価格は、ステークコストにポリシー期間とポリシーサイズを乗じたものです。

ソリューションの効果

まず、軽量ノードの計算効率の点で、両方の軽量ノードソリューションはミリ秒単位の検証効率を示しています(軽量ノードはデータを一度だけ検証する必要があります)。

第二に、軽量ノードの遅延に関して、実験構成の異なるシナリオにおいて(下の図を参照)、遅延はミリ秒単位です。データ提供者の数とともに遅延が線形に増加することに注意する価値がありますが、遅延は常にミリ秒レベルです。また、ソリューション1では、軽量ノードがチャレンジ期間の結果を待つ必要があるため、遅延は5時間です。検査ネットワークが信頼性があり効率的であれば、この5時間の遅延も大幅に短縮される可能性があります。

第三に、軽ノードのコストに関して、実際には、軽ノードには2つのコストがあります: ガス料金と保険料金であり、どちらも保険ポリシー金額が増加すると増加します。さらに、検査官にとって、データを提出する際に関与するガスは、罰金額で返済され、十分な参加インセンティブが確保されます。

拡張方向

  • より多くの担保:現在、データプロバイダーがステークするトークンはETHですが、取引情報はU標準に基づいて計算されるため、軽量ノードはデータを取得するたびにETHの為替レートを測定して担保額が十分に高いことを確認する必要があります。複数のトークンをステークできるようにすると、データプロバイダーはより多くのステーキングオプションを持つことができ、これにより単一通貨のリスク露出を回避できます。
  • 認可:ジョイントマイニングに類似して、一部の小売投資家は、自分自身のETHをフルノードに認可することで、データプロバイダーネットワークに参加することができ、利益は独自の合意に従って分配されます。詳細はLSDを参照してください。
  • ブロック保証:最終確認期間(Ethereumでは12-13秒)の待機を避けるために、軽量ノードは保証を使用してこの待機時間を短縮できます。軽量ノードは、データをリクエストする際に最初にシンボル/識別子を追加し、必要な保証の種類(最終確認/提案)を決定します。データプロバイダは、リクエストを受け取った後、対応するデータと署名を提供します。データプロバイダが「提案保証」の状況で提案ブロックを持っていない場合、罰金が科されます。
    \
    注意: 提案されたブロックは最終的に確定されるか、おじブロックになります。
  • コストと手数料:検察官ネットワークの場合、スマートコントラクトに証拠を提出するために一定量のトークン(ガスよりも大きい)をステークする必要があります。さらに、この部分の証拠のコストは、zkp方法を通じて削減することができます。また、保険メカニズムの下で、軽量ノードが提出する保険料はデータプロバイダーに支払われ、一方、検察官ネットワークは悪意のあるプロバイダーからの一部のペナルティ収入を抽出します。
  • データ可用性:データプロバイダーは基本的にフルノードです。合意層ネットワークに参加するだけでなく、データの可用性も検証できます。可用性を検証するための2つのスキームがあります:PullモデルとPushモデル。前者は、軽量ノードがフルノードから取得したデータをランダムに抽出することを指します。後者は、ブロック生産者が異なるブロックをデータプロバイダーに配布することを指します。Pullモデルを採用するデータプロバイダーは、サンプリング要求を返す責任があります。データを受け取った後、軽量ノードはそれを信頼できるノード/バリデータに転送し、ブロックを復元しようとします。失敗した場合、データプロバイダーに罰金が科されます。本文の軽量ノードプロトコルは、この基盤に保険メカニズムを提案し、データ可用性研究の新しい探索方向を提供しています。

結論と評価

本文で提案されているライトノードソリューションは、異なる状況でのセキュリティ要件を満たすために「プログラマブルセキュリティ」を提供しています。オプション1は高いセキュリティを求める代わりに遅延を招く取引を行いますが、オプション2は保険メカニズムを導入することでライトノード向けの「即時確認」サービスを提供します。これらのソリューションは、トランザクションの確定性を確認する必要があるシナリオで使用できます。原子トランザクションやクロスチェーンなど。

免責事項:

  1. この記事は[から転載されましたユリカ パートナーズ]. 元のタイトル「TeleportDAO:データ検証の安全性と効率性のゲーム - 軽量ノード設計の最新実践」を転送しますすべての著作権は元の著者[Andy、Arthur]に帰属します。この転載に異議がある場合は、お問い合わせください。ゲートラーンチームが promptly それを処理します。
  2. 責任の免除: この記事で表現されている意見は、著者個人のものであり、投資アドバイスを構成するものではありません。
  3. 他の言語への記事の翻訳はGate Learnチームによって行われます。特に言及されていない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。

ライトノードデザインにおけるセキュリティと効率の探求

初級編5/29/2024, 1:15:17 AM
TeleportDAOとEigen Labsが共同で発表した論文は、プルーフ・オブ・ステーク(PoS)ブロックチェーンにおけるライトノードが直面するセキュリティと効率の課題を探究し、新たな解決策を提案しています。経済的インセンティブ、保証付き事前セキュリティメカニズム、"プログラム可能なセキュリティ"を通じて、クロスチェーン通信やブロックチェーン技術の発展において重要なセキュリティと効率を向上させることを目指しています。

元のタイトル「TeleportDAO:データ検証の安全性と効率性 - 軽量ノードの最新設計実践」を転送します

要約

TeleportDAOとEigen Labsは最近、PoS(Proof of Stake)ブロックチェーンにおいて軽量ノードがオンチェーンデータにアクセスして検証する際に直面するセキュリティと効率の課題に焦点を当てた論文を共同で発表しました。この論文では、経済的インセンティブや保証付きのセキュリティ機構、カスタマイズされた「プログラマブルセキュリティ」やコスト効率などの一連の措置を通じて、PoSブロックチェーンにおける軽量ノードのセキュリティと効率を確保する新しい解決策が提案されています。これは非常に先進的で、深く研究する価値があります。

注意:Eigen Labsは、RestakingプロトコルEigenLayerとEigenDAの開発元です。Eigen Labsは現在、a16z、Polychain、Blockchain Capitalなどの有名なベンチャーキャピタル機関から1億5000万ドル以上の資金を調達しています。

TeleportDAOはカナダのバンクーバーに位置しています。BitcoinおよびEVM公開チェーンに焦点を当てたクロスチェーンコミュニケーションインフラプロジェクトです。このプロトコルは、Coinlistを通じての一連の公開販売と資金調達で900万ドルを調達しました。この資金調達ラウンドには、Appworks、OIG Capital、DefinanceX、Oak Grove Ventures、Candaq Ventures、TON、Across、bitSmileyなど、複数の投資家が参加しました。

ライトノード設計の既存の問題

現在、PoSブロックチェーンでは、検証者は一定額のステーク(たとえばEthereumの32 ETH)をロックすることでコンセンサスネットワークに参加します。したがって、PoSブロックチェーンのセキュリティの本質は経済によって保護されており、つまり、総ステークが大きいほど、コンセンサスネットワークを攻撃するために必要なコストや損失も大きくなります。このスラッシングメカニズムの実装は、「説明責任の安全性」と呼ばれる機能に依存しており、つまり、検証者が矛盾する状態に署名した場合、ステークが削減される可能性があります。

フルノードは、PoSブロックチェーンの完全性を維持する上で重要な役割を果たします。すべてのブロックトランザクション情報を保存し、コンセンサス署名を検証し、トランザクション履歴の完全なコピーを複製し、状態の更新を実行します。これらのプロセスには、多くのコンピューティングリソースと複雑なハードウェアが必要です。たとえば、完全なイーサリアムノードを実行するには、少なくとも2TBのSSDストレージが必要です。対照的に、ライトノードはコンピューティングリソースの要件を軽減し、ブロックヘッダーのみを保存するため、モバイルウォレットやクロスチェーンブリッジなど、特定のトランザクション/ステータスが検証されるシナリオにのみ適しています。さらに、ライトノードは、トランザクションを検証する際にブロック情報を提供するためにフルノードに依存していますが、現在のノードサービスプロバイダーの市場シェアは比較的集中しているため、セキュリティ、独立性、即時性を完全に保証することはできません。そこで、本稿では、ライトノードが最適なセキュリティを実現するためのデータ取得コストとレイテンシのトレードオフを探ります。

既存のライトノードデザインソリューション

Bitcoinは、軽量ノードプロトコルとしてSimple Payment Verification(SPV)を導入しました。SPVにより、軽量ノードはMerkle Proofとブロックヘッダーを使用して、特定のトランザクションが特定のブロックに含まれているかどうかを検証できます。したがって、軽量ノードはブロックチェーンのブロックヘッダーのみをダウンロードして、ブロックの深さをチェックすることでトランザクションの確定性を検証する必要があります。この場合、Bitcoinにおける軽量ノードによるコンセンサスの検証コストは比較的低くなります。しかし、EthereumなどのPoSブロックチェーンでは、コンセンサスチェックの設計は本質的により複雑です。これには、すべてのバリデータのセットを維持し、そのステークの変更を追跡し、コンセンサスネットワークのために多くの署名チェックを実行する必要があります。一方で、PoW軽量ノードのセキュリティは、ほとんどのフルノードが正直であるという仮定に依存しています。SPVの制限に対処するために、FlyClientとNon-Interactive Proof of Work(NiPoPoW)は、これらのブロックをクライアントに対して亜線形のコストで証明します。しかし、それらのPoSコンセンサスモデルへの適用性は弱いです。

対照的に、PoSブロックチェーンは、スラッシングメカニズムによってセキュリティを獲得します。このシステムは、コンセンサス参加者が合理的であり、攻撃のコストが潜在的な利益を上回った場合にネットワークを攻撃しないことに依存しています。検証コストを削減するために、イーサリアムの現在のライトノードプロトコルは、ランダムに選ばれた512人のイーサリアムバリデーターで構成される同期委員会に依存しており、それぞれが32イーサリアムを賭けていますが、署名プロセスに罰金は科せられません。このスラッシュ不可能な設計には重大なセキュリティ上の欠陥があり、同期委員会に不正な署名があると、ライトノードが罰せられることなく無効なデータを受け入れるように誤解させる可能性があります。スラッシングメカニズムを導入しても、巨大なイーサリアムバリデータープール(2024年3月現在、イーサリアムバリデーターの数は100万人を超えている)と比べると、同期委員会の総出資額はまだ少ないです。したがって、このアプローチでは、ライトノードにイーサリアムバリデータセットと同等のセキュリティを提供することはできません。このモデルは、合理的な設定におけるマルチパーティ計算の特別なバリアントを表していますが、経済的根拠のある保証を提供したり、悪意のある不合理なデータプロバイダーによってもたらされる脅威に対処したりすることはできません。

セキュリティと効率の課題に対処するために、PoPoSは、PoSブートストラッププロセスにセグメンテーションゲームを導入し、PoSタイミングの敵対的なMerkleツリーに効果的に挑戦します。彼らは最小限のフットプリントを実現し、クライアントに常にオンラインでステークを必要としないようにしますが、クライアントがオフラインになってもネットワークに再参加するための費用がかかる問題は未解決のままです。

別の研究アプローチは、ゼロ知識証明を使用して簡潔な証明を作成することに焦点を当てています。たとえば、MinaとPlumoは、再帰的SNARK構成とSNARKベースの状態遷移証明を使用することで、軽量なコンセンサス検証を効果的に実現しています。しかし、これらのアプローチは、ブロック生成者に証明を生成するための相当な計算負荷を負わせ、潜在的な損失の補償を受けるためのライトノードの問題には対処していません。 Cosmosで使用されているTendermintプロトコルなど、他のPoSプロトコルの文脈では、ライトノードの役割が、彼らのInter-Blockchain Communication(IBC)プロトコルで探求されています。ただし、これらの実装はそれぞれのエコシステムに固有であり、Ethereumやさまざまな他のPoSブロックチェーンに直接適用することはできません。

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

一般的に、新しいソリューションは「プログラマブルセキュリティ」を実現するために経済セキュリティモジュールを導入し、軽量ノードは独自のセキュリティニーズに基づいて異なるソリューション設計を決定できます。 セキュリティの前提条件は基本的に1/N + 1/Mであり、つまり、フルノードとプロセキューターネットワークに正直で有効なノードが存在すれば、ネットワークの正常な動作が保証されます。

  • ブロックチェーン:プロトコルはプログラマブルなブロックチェーン上に構築されており、ブロックの最終化のルールは決定論的です。たとえば、Ethereumブロックチェーンでは、ブロックの最終化には少なくとも2つの後続エポックが必要で、通常は約13分かかります。
  • スラッシングスマートコントラクト:プロトコルには、標準的なスマートコントラクトの抽象化に準拠したオンチェーンのスラッシングコントラクトが含まれています。 これには、ブロックチェーンの前のブロックのブロックハッシュへのアクセス権があります。 すべての当事者は、この契約にメッセージを送信できます。
  • データプロバイダー:データプロバイダーはフルノードを実行し、ブロックチェーンの最新状態を追跡します。彼らは資産を担保し、ライトノードから要求された状態の妥当性を検証するサービスを提供します。彼らは、公開鍵に対応する秘密鍵でライトノードに送信されるすべてのデータに署名し、データのソースと整合性を検証します。
  • 検察官:検察官は、データ検証を支援するためにライトノードに接続されたフルノードです。誰でも検察官になることができ、不適切な行動を取る当事者を監視し、減額することで利益を得ることができます。簡単のため、次のスキームでは、各ライトノードが少なくとも1人の正直な検察官に接続されていると仮定しています。
  • ライトノード:ライトノードは、特定の状態/トランザクションが最も低いコストでブロックチェーンに含まれているかどうかを検証します。検証プロセス中、ライトノードはデータプロバイダーやプロセキューターのグループと接続します。
  • ネットワーク:データプロバイダーはピアツーピア(p2p)ネットワークを形成し、ゴシッププロトコルを使用してデータを拡散させます。ライトノードはいくつかのデータプロバイダーに接続してリクエストを送信し、レスポンスを受信します。

オプション1:セキュリティファースト

Option 1は、主に挑戦期間とプロセキューターネットワークの導入によってデータの信頼性を実現します。要するに、ライトノードがプロバイダーによって署名されたデータを受信した後、このデータの一部をプロセキューターネットワークに送信してレビューします。ある期間内にデータの不正があれば、プロセキューターはライトノードにそのデータが信頼できないことを知らせ、スマートコントラクトの罰金モジュールがプロバイダーの担保トークンを罰します。逆に、ライトノードはこれらのデータの信頼性を信じることができます。

ライトノードがデータをリクエストする具体的なプロセス:

  1. ライトノードは、現在のネットワークから最新のデータプロバイダのリストを取得し、チャレンジ期間を決定します。異なるライトノード間では、このチャレンジ期間は独立していますが、チャレンジ期間の上限はすべてのライトノードに適用されます。チャレンジ期間は、検審ネットワークがデータの信頼性を確認するための最長時間であり、時間が長いほどトランザクションごとの遅延も長くなります。
  2. リストを取得した後、軽量ノードは一群のデータプロバイダを選択し、それぞれのステーク資金が現在の取引値よりも大きいことを確認します。理論的には、ステーク資金が高いほど、データプロバイダの不正行為のコストが高くなり、軽量ノードの信頼コストが低くなります。
  3. ライトノードは、対応するデータリクエストをこのデータプロバイダグループに送信します。これには、対応するブロック番号とターゲットステート(このトランザクションの含有証明)が含まれています。
  4. データプロバイダーは、対応するブロックハッシュと取引のインクルージョンプルーフを送信し、署名を添付します。
  5. ライトノードは、上記の資料を受信した後、それらを現在接続されている検察官ネットワークに転送します。チャレンジ期間が終了した後、データ信頼性警告を受信しない場合、ライトノードはこの署名を検証し、エラーがない場合はデータ信頼性テストに合格します。

  1. ただし、検察官ネットワークから警告を受け取った場合、ライトノードは以前に受け取った署名を破棄する必要があります。検察官ネットワークは、スマートコントラクトのペナルティモジュールに関連する証拠を提出します。スマートコントラクトがデータをチェックした後、違反が実際に発生したことを見つけた場合、対応するデータプロバイダーのステークがペナルティを受けます。選択されたデータプロバイダーの一部またはすべてがペナルティを受けたため、ライトノードは現在のネットワークから新しいデータプロバイダーリストを取得して、スラッシングイベントが実際に発生したことを確認する必要があります。

その他のポイント:

  • フルノードは、スマートコントラクトへの「登録」および「引き出し」要求を開始することで、データプロバイダーネットワークに参加または離脱できます。データプロバイダーネットワークに参加するために登録するための最小ステーキングしきい値があります。フルノードが引き出しを開始することを選択すると、ネットワーク内のステータスはすぐに「離脱中」に変わり、ライトノードからのリクエストを受信できなくなり、迅速な出入りの潜在的な悪意のある動作を防ぐことができます。さらに、データプロバイダーネットワークは、現在アクティブなデータプロバイダーのリストを周期的に更新し、その間、データプロバイダーは引き出し資金を受け取ることができません。引き出し要求は、現在の更新サイクルの最後のブロックで有効になり、更新頻度はチャレンジ期間の制限よりも高くなり、すべてのライトノードデータ可用性テストが完了したことを確認します。データプロバイダーネットワークのアクティビティにより、ライトノードは、ネットワークが更新されるたびに、現在アクティブなプロバイダーのリストを再取得する必要があります。更新サイクルが延長された場合、ライトノードはより合理化された検証プロセスを享受できますが(前のサイクルの「登録」および「撤退」リクエストを通じて現在のアクティブリストを推定することにより)、離脱を希望するノードは待ち時間が長くなります。
  • データ署名を受け取ると、検察官ネットワークは、署名がデータプロバイダーに属しているかどうかをチェックし、データがコンセンサスネットワークで「最終的に確認」されたかどうかを評価します。データが妥当なチェーンに表示されない場合は、2 つの可能性があります。まず、データは現在のブロックチェーンによってまだ最終的に確認されておらず、チェーンが異なれば、最長チェーンの原則など、ファイナリティルールも異なります。第二に、トランザクションは別の合理的なチェーンのブロックにあります。上記のデータが改ざんされていることが判明した場合、検察官ネットワークは、データプロバイダーの公開鍵、データプロバイダーの署名、ブロック番号を含むスラッシングリクエストをスマートコントラクトに送信し、同時にスラッシュイベントの証明を送信してライトノードに思い出させます。このデータを受信すると、スマートコントラクトは、最終的に確認された現在のブロック番号が、コンセンサスレイヤーのファイナリティの原則に従って、受信したデータと一致しているかどうかを測定します。これらに一貫性がない場合は、スラッシング イベントがトリガーされます。さらに、ライトノードによって選択されたデータプロバイダーが、別のデータ要求グループのためにスラッシュされた場合、検察官ネットワークは、データプロバイダーのデータの信頼性が低いことをライトノードに通知するためにスラッシュイベントを速やかに送信し、ライトノードはリストを再取得し、他のプロバイダーを選択します。

評価:

  • セキュリティ:ライトノードは、ステーキングモジュールおよび検察官ネットワークを通じて合理的および非合理的なデータプロバイダーの悪質な行動のコストを決定し、データの信頼性を向上させます。ただし、プロトコル全体がコンセンサスネットワークに基づいているため(この論文ではEthereumでテストされています)、コンセンサス層が攻撃されると、プロトコルも潜在的な信頼危機に直面する可能性があります。したがって、極端な状況でのシステムリスクを確保するために、さらに信頼性メカニズムを導入することができます。
  • フルノードレベルのセキュリティ:このスキームは、イーサリアムのPoS仮定と同等のセキュリティを提供することを目的としており、つまり、フルノードは偽の声明を行うためにスラッシングリスクを負わなければならない。
  • ネットワークアクティビティ:現在のネットワークには合理的なデータプロバイダがわずかしかいない場合、ライトノードは複数の遅延ラウンドに直面することになりますが、各データプロバイダのスループットがゼロでないため、すべてのリクエストは常に完了します。したがって、ネットワークに合理的なフルノードが1つあれば、ネットワークを継続して運用できます。同時に、データプロバイダの収入がステーキング額にリンクされているため、これはフルノードが必要以上にステーキングしてネットワークを保護することを奨励します。
  • 効率:記事の著者チームは、Ethereumのバリデータがデータプロバイダに参加する主要なユーザーであると予測しています。バリデータはすでにフルノードを実行しており、このプロトコルを通じて追加収入を得ることができます。小規模な取引は単一のデータプロバイダを通じて信頼性のあるデータを取得できます(ライトノードは1回のみ確認すればよい)、一方、大規模な取引は信頼性のあるデータを取得するために複数のデータプロバイダが必要となるかもしれません(プロバイダの数が増えるにつれて確認回数も線形に増加します)。

オプション2:最初に効率

ソリューション2は、ソリューション1に基づいた保険メカニズムを提案することで、迅速なデータ確認を実現します。簡単に言えば、ライトノードがポリシー金額と期間に応じて保険を決定した後、データプロバイダの担保の一部またはすべてが、データ悪意によるライトノードの後続損失のために払い戻されることがあります。したがって、ライトノードはプロバイダによって提供されたデータ署名を受信し検証した後、データの初期信頼性を決定することができます。

ライトノードがデータをリクエストする具体的なプロセス:

  1. ライトノードは、現在の取引の最大潜在損失を計算し、その後、保険ポリシーの金額と保険期間を設定します。保険のためにデータプロバイダーが担保として提供する資金の額は、返済資金が十分であることを保証するために、保険ポリシーの金額よりも大きくする必要があります。
  2. 軽量ノードはトランザクションのチャレンジ期間を決定します。ポリシー期間は複数のトランザクションの検証をカバーすることができることに注意する価値があります。したがって、軽量ノードが選択した総チャレンジ期間はポリシー期間を超えることはできません。さもないと、一部のトランザクションがカバーされない可能性があります。
  3. パラメータ(保険金額、保険期間、データプロバイダが保険のために担保を提供した金額、意図したデータプロバイダのリスト)を選択した後、ライトノードはスマートコントラクトにリクエストを送信できます。その後、ブロックの最終確認時間を待ってから、保険の購入が成功したかどうかを確認できます。失敗した場合、他のライトノードもデータプロバイダを選択し、先に決済した可能性があるため、残りの担保が元の要求に合致しない可能性があります。
  4. ライトノードは、ブロック番号とターゲット状態(トランザクションの検証証明を含む)に加えて、保険番号を含むデータリクエストを送信します。
  5. データプロバイダーはデータと署名を送信し、ライトノードは署名を検証して検察官ネットワークに転送し、その後取引は事前に確認されました。
  6. データと署名を受け取った後、検察官はまずデータの信頼性を検証します。悪意のある行動がある場合、検察官は証拠をスマートコントラクトに提出し、対応するデータプロバイダーに罰金を科し、軽量ノードに分配されます。

その他のポイント:

  • データプロバイダーのステーキングされた保険トークンは、複数の保険金返済のリスクを防ぐために、異なるライトノードリクエスト間で互いに独立しています。ライトノードがデータプロバイダーを選択すると、スマートコントラクトは保険に誓約された対応するトークンをロックし、他のライトノードは保険期間が終了する前に誓約のこの部分を割り当てることができなくなります。取引が独立している場合、保険金額は最大取引金額と同じです。それ以外の場合、保険金額は合計取引金額と同じです。同じ誓約額の下で、ライトノードは通常、検証効率を確保するためにできるだけ少ないデータプロバイダーを選択します。
  • データプロバイダーは、保険期間終了前に「引き出し」リクエストを開始できますが、引き出し金額は保険期間終了後にのみ受け取ることができます。
  • 厳密に言えば、保険ポリシーの期間は、最終ブロック確認時間+総チャレンジ期間+通信遅延+計算/検証遅延よりも大きくする必要があります。データプロバイダーをより多く選択すると、総チャレンジ期間に基づいて保険ポリシーの期間が長くなります。

評価:

  • スケーラビリティ:オプション2のスケーラビリティは、データ提供者が保険のために賭けるトークンの総額によって決定されます。
  • ポリシーコスト:より高いセキュリティレベルはチャレンジサイクルにリンクされているため、これはデータプロバイダがチャレンジサイクル以上の期間をステークしなければならないことを意味します。したがって、セキュリティ要件が高いほど、ステークサイクルが長くなり、軽ノードが支払う手数料も高くなります。式によると、データプロバイダのステークコストは、データプロバイダのノード収入/(年間を通じた平均ステーク利用率×年間の総ブロック数)によって計算されます。軽ノードが支払う必要がある価格は、ステークコストにポリシー期間とポリシーサイズを乗じたものです。

ソリューションの効果

まず、軽量ノードの計算効率の点で、両方の軽量ノードソリューションはミリ秒単位の検証効率を示しています(軽量ノードはデータを一度だけ検証する必要があります)。

第二に、軽量ノードの遅延に関して、実験構成の異なるシナリオにおいて(下の図を参照)、遅延はミリ秒単位です。データ提供者の数とともに遅延が線形に増加することに注意する価値がありますが、遅延は常にミリ秒レベルです。また、ソリューション1では、軽量ノードがチャレンジ期間の結果を待つ必要があるため、遅延は5時間です。検査ネットワークが信頼性があり効率的であれば、この5時間の遅延も大幅に短縮される可能性があります。

第三に、軽ノードのコストに関して、実際には、軽ノードには2つのコストがあります: ガス料金と保険料金であり、どちらも保険ポリシー金額が増加すると増加します。さらに、検査官にとって、データを提出する際に関与するガスは、罰金額で返済され、十分な参加インセンティブが確保されます。

拡張方向

  • より多くの担保:現在、データプロバイダーがステークするトークンはETHですが、取引情報はU標準に基づいて計算されるため、軽量ノードはデータを取得するたびにETHの為替レートを測定して担保額が十分に高いことを確認する必要があります。複数のトークンをステークできるようにすると、データプロバイダーはより多くのステーキングオプションを持つことができ、これにより単一通貨のリスク露出を回避できます。
  • 認可:ジョイントマイニングに類似して、一部の小売投資家は、自分自身のETHをフルノードに認可することで、データプロバイダーネットワークに参加することができ、利益は独自の合意に従って分配されます。詳細はLSDを参照してください。
  • ブロック保証:最終確認期間(Ethereumでは12-13秒)の待機を避けるために、軽量ノードは保証を使用してこの待機時間を短縮できます。軽量ノードは、データをリクエストする際に最初にシンボル/識別子を追加し、必要な保証の種類(最終確認/提案)を決定します。データプロバイダは、リクエストを受け取った後、対応するデータと署名を提供します。データプロバイダが「提案保証」の状況で提案ブロックを持っていない場合、罰金が科されます。
    \
    注意: 提案されたブロックは最終的に確定されるか、おじブロックになります。
  • コストと手数料:検察官ネットワークの場合、スマートコントラクトに証拠を提出するために一定量のトークン(ガスよりも大きい)をステークする必要があります。さらに、この部分の証拠のコストは、zkp方法を通じて削減することができます。また、保険メカニズムの下で、軽量ノードが提出する保険料はデータプロバイダーに支払われ、一方、検察官ネットワークは悪意のあるプロバイダーからの一部のペナルティ収入を抽出します。
  • データ可用性:データプロバイダーは基本的にフルノードです。合意層ネットワークに参加するだけでなく、データの可用性も検証できます。可用性を検証するための2つのスキームがあります:PullモデルとPushモデル。前者は、軽量ノードがフルノードから取得したデータをランダムに抽出することを指します。後者は、ブロック生産者が異なるブロックをデータプロバイダーに配布することを指します。Pullモデルを採用するデータプロバイダーは、サンプリング要求を返す責任があります。データを受け取った後、軽量ノードはそれを信頼できるノード/バリデータに転送し、ブロックを復元しようとします。失敗した場合、データプロバイダーに罰金が科されます。本文の軽量ノードプロトコルは、この基盤に保険メカニズムを提案し、データ可用性研究の新しい探索方向を提供しています。

結論と評価

本文で提案されているライトノードソリューションは、異なる状況でのセキュリティ要件を満たすために「プログラマブルセキュリティ」を提供しています。オプション1は高いセキュリティを求める代わりに遅延を招く取引を行いますが、オプション2は保険メカニズムを導入することでライトノード向けの「即時確認」サービスを提供します。これらのソリューションは、トランザクションの確定性を確認する必要があるシナリオで使用できます。原子トランザクションやクロスチェーンなど。

免責事項:

  1. この記事は[から転載されましたユリカ パートナーズ]. 元のタイトル「TeleportDAO:データ検証の安全性と効率性のゲーム - 軽量ノード設計の最新実践」を転送しますすべての著作権は元の著者[Andy、Arthur]に帰属します。この転載に異議がある場合は、お問い合わせください。ゲートラーンチームが promptly それを処理します。
  2. 責任の免除: この記事で表現されている意見は、著者個人のものであり、投資アドバイスを構成するものではありません。
  3. 他の言語への記事の翻訳はGate Learnチームによって行われます。特に言及されていない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。
Comece agora
Inscreva-se e ganhe um cupom de
$100
!