
TeleportDAO:データ検証における安全性と効率性の調和—ライトノード設計の最新実践
TechFlow厳選深潮セレクト

TeleportDAO:データ検証における安全性と効率性の調和—ライトノード設計の最新実践
TeleportDAOは、ビットコインとEVM対応パブリックチェーン間のクロスチェーン通信インフラプロジェクトに特化した企業である。
著者:Andy、Arthur
TL;DR
TeleportDAO と Eigen Labs は最近、プルーフ・オブ・ステーク(PoS)ブロックチェーンにおいてライトノードがオンチェーンデータにアクセス・検証する際のセキュリティと効率に関する課題に焦点を当てた論文を共同で発表した。本論文では、経済的インセンティブおよび保険付きの事前セキュリティ機構、カスタマイズ可能な「プログラマブルセキュリティ」とコスト効率性を組み合わせることにより、PoS ブロックチェーンにおけるライトノードの安全性と効率を確保する新たなソリューションを提案している。非常に先進的であり、深い研究価値がある。
注:Eigen Labs は Restaking プロトコル EigenLayer および EigenDA の開発元である。現在までに a16z、Polychain、Blockchain Capital など著名なベンチャーキャピタルから1億5000万米ドル以上を調達している。
TeleportDAO はカナダ・バンクーバーに位置し、ビットコインとEVMパブリックチェーン間のクロスチェーン通信インフラプロジェクトである。このプロトコルはCoinlistを通じて公開販売および資金調達を行い、900万米ドルを成功裏に調達した。今回の資金調達には、Appworks、OIG Capital、DefinanceX、Oak Grove Ventures、Candaq Ventures、TON、Across、bitSmileyなどが参加した。
現行ライトノード設計の問題点
現時点では、PoS ブロックチェーンにおいてバリデータは一定量のステーク(例:イーサリアムにおける32ETH)を預けることでコンセンサスネットワークに参加し、ネットワークの安全性を確保している。したがって、PoS ブロックチェーンの安全性は本質的に経済的保護によって成り立っており、総ステーク額が大きいほど、コンセンサスネットワークへの攻撃に必要なコストや損失も大きくなる。このようなスラッシングメカニズムの実行は「アカウンタビリティセキュリティ」(責任追及型セキュリティ)という機能に依存しており、バリデータが矛盾する状態に署名した場合、そのステークを没収できる。
フルノードは PoS ブロックチェーンの整合性維持において極めて重要な役割を果たしている。これらはすべてのブロックトランザクション情報を保存し、コンセンサス署名を検証し、完全な取引履歴のコピーを複製し、状態更新を実行する。これらのプロセスには大量の計算資源と高度なハードウェアが必要となる。例えば、完全なイーサリアムノードを動作させるには少なくとも2TBのSSDストレージが必要である。これに対し、ライトノードは計算資源の要求を減らし、ブロックヘッダーのみを保存するため、モバイルウォレットやクロスチェーンブリッジなど特定のトランザクション/状態の検証用途に限定される。また、ライトノードはトランザクション検証時にフルノードにブロック情報を依存しているが、現在のノードサービスプロバイダーの市場シェアは集中しており、セキュリティ、独立性、即時性が十分に保証されていない。そのため、本稿では最適なセキュリティを確保しつつ、データ取得コストと遅延のトレードオフについて考察している。
既存のライトノード設計案
ビットコインはそのライトノードプロトコルとしてシンプルペイメント検証(SPV)を導入した。SPV により、ライトノードは Merkle Proof とブロックヘッダーを使用して、特定のブロックにトランザクションが含まれているかを検証できる。したがって、ライトノードはブロックチェーンのブロックヘッダーだけをダウンロードすればよく、ブロックの深さを確認することでトランザクションの最終性を検証できる。この場合、ビットコインにおけるライトノードのコンセンサス検証の計算コストは比較的低い。しかし、イーサリアムのような PoS ブロックチェーンでは、コンセンサス検証の設計が本質的により複雑である。これはバリデータセット全体の管理、ステーク変動の追跡、多数の署名検証を含む。一方、PoW ライトノードの安全性は、大多数のフルノードが誠実であるという仮定に依存している。SPV の限界を解決するために、FlyClient や非対話型作業証明(NiPoPoW)は、クライアントに対して亜線形(sublinear)コストでこれらのブロックを証明する。しかし、それらの PoS コンセンサスモデルへの適用性は弱い。
これに対し、PoS ブロックチェーンはスラッシングメカニズムによって安全性を得ている。このシステムは、コンセンサス参加者が合理的であることを前提としており、つまり攻撃コストが潜在的な利益を超えるならば、ネットワークを攻撃しないと考える。検証コストを下げるために、イーサリアムの現行ライトノードプロトコルは同期委員会(sync committee)に依存している。この委員会は32ETHをステークした512人のランダムに選ばれたイーサリアムバリデータで構成されているが、署名プロセス自体はスラッシング対象ではない。この非スラッシング設計には重大なセキュリティ欠陥があり、同期委員会内の不正な署名者はライトノードを誤ったデータを受け入れさせることができ、何の罰則もない。仮にスラッシングメカニズムを導入しても、同期委員会の総ステークは膨大なイーサリアムバリデータプールに比べて依然として小さい(2024年3月時点でイーサリアムバリデータ数は100万人を超える)。したがって、この手法がライトノードに提供するセキュリティは、イーサリアムバリデータセットと同等とは言えない。このモデルは合理的設定下でのマルチパーティ計算の特殊な変種を表すが、経済的保証を提供できず、悪意のある非合理的データ提供者の脅威に対処できない。
PoS 起動プロセスにおけるセキュリティと効率の課題を解決するために、PoPoS は PoS 時系列に対する敵対的 Merkle 木を効果的に挑戦するための分割ゲームを導入した。これらは最小空間を実現し、クライアントが常にオンラインでステークを保持する必要がないようにするが、再接続時に大きなコストがかからないようにオフライン状態を許容する問題は未解決である。
別の研究アプローチはゼロ知識証明を使用して簡潔な証明を作成することに焦点を当てている。例えば、Mina や Plumo は再帰的 SNARK の組み合わせや SNARK ベースの状態遷移証明を用いて、軽量コンセンサス検証を効果的に促進している。しかし、これらの方法はブロック生成者に大きな計算負荷をかけるうえ、ライトノードの潜在的損失の補償問題を解決していない。他の PoS プロトコル(Cosmos で使用される Tendermint プロトコルなど)の文脈では、ライトノードの役割はブロックチェーン間通信(IBC)プロトコル内で議論されている。しかし、これらの実装はそれぞれのエコシステム向けであり、イーサリアムや他のさまざまな PoS ブロックチェーンに直接適用できるわけではない。
新規ライトノード設計案
概ね、新しい設計案は経済的安全性モジュールを導入し、「プログラマブルセキュリティ」を実現する。ライトノードは自身のセキュリティ要件に応じて異なる設計を選択できる。セキュリティ仮定としては基本的に 1/N + 1/M に従い、フルノードと検察官ネットワークそれぞれに1つでも誠実で有効なノードがあれば、ネットワークは正常に動作すると仮定する。
関連モジュール/役割
-
ブロックチェーン:プロトコルは、ブロックの確定ルールが決定的であるプログラム可能なブロックチェーンに基づいている。例えば、イーサリアムブロックチェーンでは、ブロックの最終確定には少なくともその後2つのエポックが必要で、通常約13分かかる。
-
スラッシングスマートコントラクト:本プロトコルは、標準的なスマートコントラクト抽象に準拠したオンチェーンのスラッシングコントラクトを含む。このコントラクトは、ブロックチェーンの直前のブロックハッシュにアクセスでき、すべての当事者が情報送信が可能である。
-
データ提供者:データ提供者はフルノードを運営し、ブロックチェーンの最新状態を追跡する。彼らは資産をステークして、ライトノードの要求する状態の有効性を検証するサービスを提供する。公鍵に対応する秘密鍵でライトノードに送信するすべてのデータに署名し、データの出所と完全性を保証する。
-
検察官:検察官はライトノードに接続されたフルノードであり、データ検証を支援する。誰でも検察官となり得て、不正行為の監視とスラッシングを通じて利益を得ることができる。簡単化のため、以下の設計では各ライトノードが少なくとも1つの誠実な検察官に接続していると仮定する。
-
ライトノード:ライトノードは、特定の状態/トランザクションがブロックチェーン上に含まれているかを最小コストで検証することを目指している。検証プロセス中、一連のデータ提供者および検察官と接続する。
-
ネットワーク:データ提供者はGossipプロトコルでデータを広めるP2Pネットワークを形成する。ライトノードはいくつかのデータ提供者に接続してリクエストを送信し、応答を受信する。
案1:セキュリティ優先
案1は、チャレンジ期間と検察官ネットワークを導入することでデータの信頼性を確保する。簡単に言えば、ライトノードはデータ提供者が署名したデータを受信後、それを検察官ネットワークに送付して審査を依頼する。一定期間内にデータ偽造が発覚した場合、検察官はライトノードにそのデータが信頼できないことを通知し、スマートコントラクトのスラッシングモジュールがデータ提供者のステークトークンを没収する。逆に、警告がなければライトノードはそのデータを信頼できると判断する。
ライトノードのデータリクエスト手順:
-
ライトノードは現在のネットワークから最新のデータ提供者リストを取得し、チャレンジ期間を決定する。このチャレンジ期間はライトノードごとに独立しているが、上限はすべてのライトノードに共通である。チャレンジ期間は検察官ネットワークがデータ信頼性を検査する最大時間であり、時間が長いほど単一トランザクションの伝送遅延が増加する。
-
リスト取得後、ライトノードは一組のデータ提供者を選定し、各々のステーク額が当該トランザクションの価値を超えることを確認する。理論的にはステーク額が高いほど、データ提供者の悪意行動コストが高くなり、ライトノードの信頼コストは低くなる。
-
ライトノードはこの一組のデータ提供者にデータリクエストを送信する。リクエストには対象ブロック番号と目的状態(トランザクションのinclusion proof)が含まれる。
-
データ提供者は対応するブロックハッシュとトランザクションのinclusion proofを送信し、署名を添付する。
-
ライトノードは上記情報を受信後、接続中の検察官ネットワークに転送する。チャレンジ期間終了後に信頼性警告を受け取らなければ、署名を検証し、問題がなければデータ信頼性テストを通過する。

-
ただし、検察官ネットワークから警告を受け取った場合は、以前に受け取った署名を破棄しなければならない。検察官ネットワークは関連証拠をスマートコントラクトのスラッシングモジュールに提出し、コントラクトがデータを検証して悪意行動を確認した場合、対応するデータ提供者のステークが没収される。一部またはすべての選択データ提供者が没収されたため、ライトノードは再度ネットワークから新しいデータ提供者リストを取得し、没収イベントが実際に発生したことを確認する必要がある。

その他の要点:
-
任意のフルノードは、スマートコントラクトに対して「登録」と「引き出し」リクエストを送ることで、データ提供者ネットワークに参加または退出できる。データ提供者ネットワークへの参加には最低ステーク要件がある。一旦フルノードが引き出しを申請すると、ネットワーク上のステータスは直ちに「退出」に変わり、ライトノードからのリクエストを受け付けなくなる。これは短期間での出入りによる悪意行動を防ぐためである。さらに、データ提供者ネットワークは定期的にアクティブな提供者リストを更新し、この期間中はデータ提供者は引き出し金を受け取れない。引き出しリクエストは更新周期の最終ブロックで有効になる。更新頻度はチャレンジ期間の上限よりも高く設定され、すべてのライトノードのデータ可用性テストが完了していることを保証する。データ提供者ネットワークの活性化のため、ライトノードは毎回のネットワーク更新サイクルでアクティブな提供者リストを再取得する必要がある。更新周期を延長すれば、ライトノードはより簡便な検証プロセスを享受できる(前周期の「登録」「引き出し」リクエストから現在のアクティブリストを予測可能)が、退出希望のフルノードはより長い待ち時間を強いられることになる。
-
検察官ネットワークはデータ署名を受信後、それが当該データ提供者のものかどうかを確認し、データがコンセンサスネットワーク上で「最終確定」されているかを評価する。データが正当なチェーンに存在しない可能性は二つある。第一に、データがまだブロックチェーンで最終確定されていないこと。異なるチェーンには異なる最終性ルールがあり、例えば最長チェーンルールなど。第二に、トランザクションが別の正当チェーンのブロックにあること。上記データが偽造された場合、検察官ネットワークはスラッシングリクエストをスマートコントラクトに送信し、データ提供者の公開鍵、署名、ブロック番号を含めると同時に、ライトノードにスラッシング事件の証拠を送って警告する。スマートコントラクトはこれらのデータを受信後、コンセンサスレイヤーの最終性ルールに基づき、現在最終確定されたブロック番号と受信データが一致するかを評価し、不一致であればスラッシングをトリガーする。また、ライトノードがデータ提供者を選択した後に、その提供者が他のデータリクエストでスラッシングされた場合、検察官ネットワークは速やかにそのスラッシング事件を通知し、ライトノードはその提供者のデータ信頼性が低いと判断し、再度リストを取得して他の提供者を選ぶ。
評価:
-
セキュリティ:ライトノードはステークモジュールと検察官ネットワークを通じて、合理的・非合理的なデータ提供者の悪意行動コストを決定し、データ信頼性を向上させる。しかし、本プロトコルはコンセンサスネットワーク(本稿ではイーサリアムでテスト)に依存しているため、コンセンサス層が攻撃された場合、本プロトコルも潜在的な信用危機に直面する。そのため、名誉メカニズムなどをさらに導入して極端な状況でのシステミックリスクを確保することが可能である。
-
フルノードレベルのセキュリティ:本設計は、イーサリアムPoSと同等のセキュリティ仮定、つまりフルノードが虚偽声明を行うにはスラッシングリスクを負うことを目指している。
-
ネットワーク活性:現在のネットワークに少数の合理的データ提供者しかいない場合、ライトノードは複数回の遅延に直面するが、各データ提供者のスループットがゼロではないため、リクエストは常に完了できる。したがって、ネットワークに1つの合理的フルノードがあれば、継続的な運用が保証される。また、データ提供者の収益はステーク額に連動するため、フルノードが過剰ステークを行うインセンティブも生まれる。
-
効率性:論文執筆チームは、イーサリアムバリデータが主にデータ提供者として参加すると予想している。なぜなら、すでにフルノードを運営しており、本プロトコルを通じて追加収益を得られるためである。小額取引は単一のデータ提供者で信頼できるデータを取得可能(ライトノードは一度の検証で済む)だが、大口取引は複数のデータ提供者が必要(検証回数は提供者数に比例して増加)。
案2:効率性優先
案2は、案1の基礎に保険メカニズムを導入することでデータの迅速な確定を実現する。簡単に言えば、ライトノードは保険金額と保険期間に基づいて保険を設定し、データ提供者の一部または全部のステークが、後続のデータ悪用によるライトノードの損失を補償できるようにする。したがって、ライトノードはデータ提供者が提供したデータ署名を受信・検証した後、そのデータの初期信頼性を確定できる。
ライトノードのデータリクエスト手順:
-
ライトノードは当該取引の潜在的最大損失を計算し、保険金額と保険期間を決定する。保険に供託されたデータ提供者のステーク額は保険金額を超える必要があり、十分な補償資金を確保する。
-
ライトノードは当該取引のチャレンジ期間を決定する。なお、保険期間は複数の取引のinclusion checkをカバーできるため、ライトノードが選択する総チャレンジ期間は保険期間を超えてはならず、そうでないと一部取引が保障されない可能性がある。
-
パラメータ選択後(保険金額、保険期間、保険供託ステーク額、データ提供者候補リスト)、ライトノードはリクエストをスマートコントラクトに送信する。その後、ブロック最終確定時間を待って保険購入の成功を検証する。失敗した場合は、他のライトノードが同じデータ提供者を選択し、先に決済したため、残りのステークが元の要求を満たせなかった可能性がある。
-
ライトノードはデータリクエストを送信し、ブロック番号と目的状態(inclusion proof)に加えて保険番号を含める。
-
データ提供者はデータと署名を送信し、ライトノードは署名を検証して検察官ネットワークに転送。その後、当該取引は初期的に信頼される。
-
検察官はデータと署名を受領後、データ信頼性を初步検証し、悪意行動が発覚した場合は証拠をスマートコントラクトに提出し、対応データ提供者をスラッシング。この没収分はライトノードに分配される。

その他の要点:
-
データ提供者の保険供託トークンは、異なるライトノードのリクエスト間で相互に独立しており、多重保険による補償リスクを回避する。スマートコントラクトはライトノードがデータ提供者を選択後、対応する保険供託トークンをロックし、他のライトノードは保険期間終了前にはこの部分のステークを割り当てられない。取引が独立している場合、保険金額は最大取引額と同じ。そうでない場合、保険金額は取引総額と同じ。同じステーク額の前提で、ライトノードは検証効率を保つためにできるだけ少ないデータ提供者を選ぶ傾向がある。
-
データ提供者は保険期間終了前に「引き出し」リクエストを出すことができるが、引き出し金は保険期間終了後でなければ受け取れない。
-
厳密には保険期間は「ブロック最終確定時間+総チャレンジ期間+通信遅延+計算/検証遅延」より長くなければならない。選択するデータ提供者が多いほど、必要な保険期間は総チャレンジ期間に応じて延長される。
評価:
-
拡張性:案2の拡張性は、データ提供者が保険に供託しようとするトークン総額に依存する。
-
保険コスト:より高いセキュリティレベルはチャレンジ期間と連動しており、つまりデータ提供者のステーク期間はチャレンジ期間以上である必要があるため、セキュリティ要求が高くなるほどステーク期間が長くなり、ライトノードが支払う費用も高くなる。式で言えば、データ提供者のステークコストは「データ提供者ノード収益/(年間平均ステーク利用率×年間ブロック総数)」で計算される。ライトノードが支払う価格は、ステークコストに保険期間と保険規模を乗じたものとなる。

設計の有効性

第一に、ライトノードの計算効率において、両設計案ともミリ秒レベルの検証効率を示している(ライトノードはデータに対して一度の検証で済む)。
第二に、ライトノードの遅延については、実験設定の異なる状況下(下図)でも遅延はミリ秒レベルである。なお、遅延はデータ提供者数に比例して増加するが、常にミリ秒レベルである。また、案1はライトノードがチャレンジ期間の結果を待つ必要があるため、遅延は5時間程度である。検査者ネットワークが十分に信頼性が高く効率的であれば、この5時間の遅延も大幅に短縮可能である。

第三に、ライトノードのコストに関しては、実際にはガス代と保険料の二つがあり、いずれも保険金額の増加に伴って増加する。また、検査者にとって、彼らが提出するデータに関わるガス代はスラッシング金額で補填され、十分な参加インセンティブが保証される。
今後の展開方向
-
多様な担保資産:現状、データ提供者がステークするトークンはETHであるが、取引情報はU建てで計算される。つまり、ライトノードはデータ取得ごとにETHの為替レートを考慮して十分な担保額を維持する必要がある。複数のトークンステークを許可すれば、データ提供者はより多くの選択肢を持ち、単一通貨のリスク露出を回避できる。
-
委任:共同採掘(ジョイントマイニング)と同様に、小規模投資家は自分のETHをフルノードに委任してデータ提供者ネットワークに参加でき、収益は独自のプロトコルに従って分配される。LSD を参考にできる。
-
ブロック生成保証:最終確定周期(イーサリアムでは12-13秒)の待機を避けるため、ライトノードはある種の保証を介して待機時間を短縮できる。ライトノードはデータリクエスト時に記号/識別子を追加し、必要な保証タイプ(最終確定/Proposed)を指定する。データ提供者はリクエスト受信後、対応するデータと署名を提供する。「Proposed 保証」状況でデータ提供者がproposedブロックを生成しなかった場合、スラッシングされる。
注:Proposed ブロックは最終的に finalized されるか uncle block となる。 -
コストと手数料:検察官ネットワークは、スマートコントラクトに証拠を提出するには一定量のトークン(ガス以上)をステークする必要がある。また、この証拠提出はzkp方式で費用を削減可能である。さらに、保険メカニズム下では、ライトノードが支払う保険料はデータ提供者に渡され、検察官ネットワークは悪意提供者のスラッシング収益の一部を分配される。
-
データ可用性:データ提供者は本質的にフルノードであり、コンセンサス層ネットワークに参加するだけでなく、データ可用性の検証も可能である。可用性検証には二つの方式がある:Pull model と Push model。前者はライトノードが全ノードからランダムにデータをサンプリングすることを指す。後者はブロック生成者が異なるブロックをデータ提供者に配布することを指す。Pull model を採用するデータ提供者は、サンプリングリクエストに応答する責任を負う。ライトノードはデータを受信後、信頼ノード/検証者に転送し、ブロック復元を試みる。復元できない場合、データ提供者はスラッシングされる。本稿のライトノードプロトコルはこの基礎に保険メカニズムを提案し、データ可用性研究に新たな探求方向を提供している。
まとめと評価
本稿が提案するライトノード設計は、「プログラマブルセキュリティ」を提供し、さまざまな状況下のセキュリティ要件に対応する。案1は高い遅延を犠牲にして高いセキュリティを実現し、案2は保険メカニズムを導入することでライトノードに「即時確定」サービスを提供する。これらの設計は原子的取引やクロスチェーンなど、トランザクションの最終性を確認する必要がある場面に利用できる。
TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News














