
Layer2のインセンティブメカニズムについて:FOXにおけるFiat-Shamirヒューリスティックの再びの巧みな応用
TechFlow厳選深潮セレクト

Layer2のインセンティブメカニズムについて:FOXにおけるFiat-Shamirヒューリスティックの再びの巧みな応用
本稿はノード手数料の重要な役割に着目し、手数料がどのようにノードに対してシステムの維持に関与するインセンティブを提供するかについて紹介するとともに、優れたインセンティブメカニズムがシステムの安全性を効果的に維持できることを指摘している。
執筆:孟鉉済、Fox Tech 最高科学責任者(CSO);康水躍、Fox Tech CEO
はじめに
Layer1は分散型システムとして、合意形成には高コストな通信を必要とし、また多数の計算により高額なGasが消費されます。そのため、Layer1のスケーラビリティ拡張として、Layer2の設計によりLayer1の効率性を向上させることが可能です。しかし、この観点から見ると、Layer2の設計も依然としてLayer1と同様の大きな課題に直面しており、すなわち「非中央集権性」と「効率性」のバランスをいかに取るかという問題です。
zkRollupは非常に有望なLayer2スケーリングソリューションであり、計算処理をオフチェーンに移し、Layer1上にゼロ知識証明を提供することで実現します。zkRollupの実装において、FOXシステムは現在主流のアーキテクチャを採用しており、主に2種類のノード、すなわちSequencerとFolderから構成されています。簡単に言えば、Sequencerはユーザーが提出したトランザクションを順序付け・まとめてパッケージ化し、Layer2チェーンの状態を更新する役割を担い、FolderはSequencerによってパッケージ化されたトランザクションに対して証明を生成し、それをLayer1に提出します。
ここで重要な問いがあります。Layer2のノードは非中央集権的であるべきでしょうか?もし可能であれば、どのようにインセンティブメカニズムを設計すればその非中央集権性を保てるでしょうか?なぜなら、Layer1の低効率性の本質は、非中央集権性を実現するために各ノードが大量の計算と通信を必要とする点にあります。Layer2システムでは計算プロセスが分離されているため、ここでもLayer1と同じ完全な非中央集権モデルを適用すると、同じ理由でLayer2の混雑が生じてしまいます。したがって、ここではトレードオフが必要になります。
インセンティブメカニズムの設計とは、Layer2ノードが受け取る手数料の分配方法や、Layer2ノードに支払われる報酬のバランス調整を通じて、ノードが積極的にシステムの維持に参加するように促すことを意味します。本質的には、Layer2ノードが得るインセンティブ報酬の出所はイーサリアムと同じく、ユーザーがトランザクションを提出する際に支払うGas手数料に由来します。本稿では、FOXシステムにおいて、FOXノードがどのようにしてシステム内で手数料を受け取り、またその設計の根拠について考察します。
Gasの役割
まず、Gas手数料がイーサリアムシステム内で果たす役割を振り返ります。Layer1の計算リソースは有限です。ユーザーがトランザクションを提出する際、Gas手数料を指定します。このGas手数料は基本的にトランザクションの実行操作の複雑さに関連しており、より高いGas手数料を支払うユーザーほど優先的にトランザクションが実行されます。マイナーのインセンティブは、ブロックに含めたトランザクションのGas手数料の合計から得られます。さらに、Gas手数料メカニズムは悪意のあるコントラクト(例えば無限ループなど)を効果的に防止し、ブロックサイズを制限することで、ある程度のセキュリティを確保しています。
つまり、Gas手数料の適切な利用は、本質的にオンチェーンの計算リソースの合理的な配分と調整であり、同時にプロジェクト側、マイナー、ユーザー間の多角的な駆け引きでもあります。優れたインセンティブ設計および手数料の使用・分配は、システムの円滑な運営にとって極めて重要です。
トランザクションのオンチェーンプロセス
ユーザーはFOXシステム内のトランザクションプールにトランザクションを提出する際、FOXノードをインセンティブ付与するための手数料を併せて添付する必要があります。その後、システム内のSequencerノードがトランザクションプールからトランザクションを取得し、順序付けとパッケージ化を行います。このとき、一度にパッケージ化されるトランザクション群がLayer2のブロックを構成します。Sequencerはトランザクションの実行計算を行い、その結果をLayer1のFOXコントラクトに送信する必要があります。また、SequencerはトランザクションデータをZK-Ringerに保存して、データ可用性を確保しなければなりません。その後、Sequencerの順序付け結果および計算結果がFolderノードに送られ、Folderは正しい証明(証明の集約部分を含む)を計算し、Layer1のコントラクトに提出します。このプロセスにおいて、Sequencerによるトランザクションの実行結果は、実行終了後すぐにLayer2の状態に反映されますが、トランザクションがLayer1のコンセンサスによって真正に確定されるのは、Folderの証明が検証されてからと見なせます。
このプロセスからわかるように、ユーザーが最初に支払った手数料は以下の用途をカバーする必要があります:
-
Sequencerへの手数料
-
Folderへの手数料
-
Sequencerがトランザクション結果をLayer1に提出する際のGas手数料
-
Sequencerが情報をZK-Ringerに保存する際の手数料
-
Folderがコントラクトを呼び出す際のGas手数料
したがって、これらを踏まえて、関係者が積極的に参加するよう促す具体的なメカニズムを整備する必要があります。
FOXのインセンティブメカニズム
FOXのインセンティブモデルは比較的新しいものです。まず、非中央集権性と効率性のバランスを取るために、ノードの役割をトランザクションの順序付けと実行を担当するSequencerノード、およびトランザクション実行の正当性に対する証明の生成・集約を担当するFolderノードに分けました。FOXのFolderノードは非中央集権的なモデルを採用しており、つまり任意のFOXマイナーがネットワークに接続して証明生成者として参加できます。より多くのノードの参加を促進するため、Layer1のコントラクトに正しい証明を提出したFolderはトークン報酬を得ることができます。同時に、計算リソースの浪費を避けるために、報酬は最初の証明提出者だけに与えられるわけではなく、最初の提出者が成功した後の一定時間枠および数量枠内(具体的なパラメータはシステムの状況に応じて調整されます)に正しい証明を提出したすべての証明者に報酬が与えられます。

図1:初期バージョンのインセンティブモデル
しかし、このようなメカニズムでは、悪意あるFolderによる巧妙な攻撃が可能です。
ある悪意あるFolder(Advと表記)が証明の生成を完了した後、一方でその証明をLayer1のVerifierコントラクトに提出して検証させ、他方でいくつかのノード(または自身が制御するノード)と結託し、完成した証明をそれらのノードに漏らします。こうして、それらのノードは自ら計算を行うことなく、Advがすでに計算済みの証明をそのまま提出でき、一部の報酬を受け取ることができます。この過程で、彼らは一切の計算リソースを消費していない一方、Advは少ない計算量で複数の報酬を得ることになり、他のノードが正しく証明を生成しても、Advに競り勝つことが難しくなります。

図2:悪意あるFolderの攻撃手法
この攻撃の原因は、Verifierが提出された証明が本当に当該Folderによって独立に生成されたものかどうかを区別できない点にあります。なぜなら、証明の値自体は同一だからです。この問題を回避するため、Folderの固有のアドレス情報を、Folderが提出する証明に組み込む必要があります。これにより、各Folderが提出する証明は、必ずそのFolder自身が独立に生成したものであり、他のノードが提出することはできなくなります。
この情報を組み込む方法は巧妙で、Fiat-Shamirヒューリスティックを利用します(詳細な技術内容については、FOX以前の記事『インタラクティブ証明をノンインタラクティブに変換するには?Fiat-Shamirヒューリスティック!』をご参照ください)。証明生成プロセスに従って、証明者(すなわちFolder)はある段階でハッシュ関数を使ってランダムなチャレンジ値を生成する必要があります。このハッシュ関数の入力にFolderのアドレスを追加するだけで、チャレンジ値がFolderのアドレスに対応するものとなり、なおかつFolderが予測・操作できないランダムな数値のままであることが保証されます。
この方法の安全性を厳密に説明するには、暗号学における理論的安全な乱数関数や識別不能性などの高度な概念が必要ですが、ここでは詳述しません。簡単に言えば、ハッシュ関数自体の安全性およびFiat-Shamirヒューリスティック構造の安全性により、ハッシュの入力に固定値を追加しても出力の予測不可能性は損なわれず、従来のZKPアルゴリズムの安全性は維持されるということです。
このようにして、各Folderは他ノードの結果を直接利用できず、必ず独自に証明を生成しなければならなくなり、我々の目的が達成されます。

図3:改訂後のインセンティブモデル
おわりに
本稿では、ノード手数料の重要な役割に着目し、手数料とノードのシステム維持への参加をどうインセンティブづけるかという関係性を紹介しました。また、優れたインセンティブメカニズムがシステムのセキュリティを効果的に守れることを指摘しました。その上で、FOXがLayer2のFolderに対して採用しているインセンティブメカニズムを詳しく検討し、その妥当性と、技術的にFiat-Shamirヒューリスティックを巧みに活用してこれを実現する方法を解説しました。
参考文献
『深層|反復と競争――イーサリアムのLayer2スケーリングの道』国盛ブロックチェーン研究所 https://www.theblockbeats.info/news/24443
TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News














