paint-brush
反対側: 次世代 ZK ロールアップのための分散型証明器の先駆者@lumoz
10,638 測定値
10,638 測定値

反対側: 次世代 ZK ロールアップのための分散型証明器の先駆者

Lumoz (formerly Opside)5m2023/05/09
Read on Terminal Reader

長すぎる; 読むには

分散型証明者は上記の問題を効果的に解決できますが、いくつかの課題ももたらします。集中型の証明者は依然として安全であり、集中型のシーケンサーと同じような検閲の問題はありません。検証済みの証明者は、マイナーのステーク額の比率に基づいて PoW 報酬を受け取ります。
featured image - 反対側: 次世代 ZK ロールアップのための分散型証明器の先駆者
Lumoz (formerly Opside) HackerNoon profile picture


なぜ分散型証明者が必要なのですか?

現在、イーサリアムのメインネット上で複数の ZK ロールアップが実行されています。ただし、分散型ZK-Rollupsの設計はまだ初期段階にあります。私たちは現在、分散型シーケンサーの問題に焦点を当てていますが、ほとんどの人は、現在、ほとんどの ZK-Rollup プロジェクトが分散型証明器を実装していないという事実を見落としています。


ZK-Rollups の場合、集中型の証明者は依然として安全であり、集中型のシーケンサーと同じような検閲の問題は発生しません。ただし、集中型の証明者も多くの問題を引き起こす可能性があります。まず、証明者が 1 つしかない場合、1 つのノード障害によって ZK-Rollup 全体が有効性の証明を送信できなくなり、トランザクションの最終性に影響を与える可能性があります。


第 2 に、集中型の証明者のコストが高く、将来の大規模な ZK ロールアップの計算需要を満たすことができません。


最後に、経済的な観点からは、中央集権型の証明者だけが利益の一部を享受していますが、これはトークン経済の観点からは実際には不公平です。


分散型証明者の課題

分散型証明者は上記の問題を効果的に解決できますが、いくつかの課題ももたらします。これは、最近開始されたいくつかの zkEVM スキームが集中型証明スキームを採用した理由の 1 つです。たとえば、Polygon zkEVM のベータ メインネットは、信頼できるアグリゲータに依存して ZKP を送信しますが、zkSync の時代もこの点で似ています。


技術的な観点から、ZK-Rollup のスマート コントラクトが ZKP を検証するとき、元の証明データが必要です。これにより、さまざまなオンチェーン攻撃の動作が引き起こされる可能性があります。たとえば、特定の証明者が計算された ZKP をチェーンレベルのコントラクトに送信する場合、L1 トランザクションを送信する必要があります。このトランザクションがトランザクション プールにブロードキャストされると、攻撃者は元の証明データを見ることができ、より高いガス料金を設定してトランザクションを送信できるため、最初にブロックにバンドルされて PoW 報酬を獲得できます。


また、証明者同士が計算能力を競い合うため、信頼できる身元認識の仕組みがなく、通信の仕組みを確立することも困難です。異なるマイナーが重複した作業を実行する可能性があり、その結果、計算能力が無駄になります。


ZKPの2段階提出

ZKPの2段階提出



ステップ 1: ハッシュを送信する

  • 証明者が特定のシーケンスの ZKP を計算した後、最初に (証明/アドレス) のハッシュを計算し、ハッシュとアドレスをチェーンレベルのスマート コントラクトに送信します。ここで、証明はある系列のゼロ知識証明であり、アドレスは証明者のアドレスである。


  • 最初の証明者が T ブロックで ZKP のハッシュを提出すると仮定すると、T+10 ブロックまで無制限に受け入れられます。 T+11 ブロック以降、新しい証明者はハッシュを送信できなくなります。


ステップ 2: ZKP を提出する

  • T+11 番目のブロックの後、どの証明者も ZKP を提出できます。 1 つの ZKP が検証に合格する限り、それを使用して、送信されたすべてのハッシュを検証できます。検証済みの証明者は、マイナーのステーク額の比率に基づいて PoW 報酬を受け取ります。


  • T+20 番目のブロックの前に ZKP が検証に合格しなかった場合、ハッシュを送信したすべての証明者が削減されます。その後、シーケンスが再度開かれ、新しいハッシュを送信してステップ 1 に戻ります。


以下に例を示します。Opside ネットワークで各ブロックに 128 IDE の PoW 報酬があり、現在 64 のロールアップ スロットが利用可能であると仮定します。したがって、各ロールアップ シーケンスには 2 IDE の PoW 報酬が割り当てられます。 3 人のマイナー A、B、および C がシーケンスの正しい ZKP を連続して正常に送信した場合、3 人のマイナーのステーク (IDE) はそれぞれ 200K、500K、および 300K です。次に、A、B、および C は、それぞれ 0.4 IDE、1 IDE、および 0.6 IDE の PoW 報酬を獲得できます。


証明者のトークンの賭け金と罰

証明者による悪意のある行動を防ぐために、証明者は特別なシステム契約に登録し、一定量のトークンをステークする必要があります。現在のステーク量がしきい値未満の場合、証明者はハッシュと ZKP を提出できません。証明者による ZKP の提出に対する報酬は、ステーク量の比率に基づいて分配され、証明者が複数の ZKP を提出することを防ぎます。


証明者が次の行動を犯した場合、さまざまなレベルの罰が適用されます。


  • 証明者が間違ったハッシュを送信します。
  • 特定のシーケンスについて、対応する ZKP が検証に合格しない場合、ハッシュを送信したすべての証明者が処罰されます。
  • 没収されたトークンはバーンされます。


ZKP の 2 段階の送信メカニズムに関する詳細と考慮事項については、読者は Opside の公式ドキュメントを参照することをお勧めします。証明者の賭け金と罰の具体的な数値は、将来変更される可能性があります。


いくつかの考慮事項:

  • 複数の証明者がハッシュを送信できるようにするのはなぜですか?ハッシュを提出した最初の証明者だけが報酬を受ける場合、最初の証明者がハッシュを提出した後、他の証明者は証拠を提出するインセンティブを持たない可能性があります。悪意のある攻撃者がハッシュを送信した後、プルーフの送信を長時間遅らせると、シーケンス全体の検証が遅くなる可能性があります。したがって、単一の攻撃者による ZKP 検証の独占を回避するために、複数の証明者が独立して同時にハッシュを送信できるようにする必要があります。


  • なぜ時間枠があるのですか?誰かがハッシュを送信した直後に証明を送信できる場合でも、証明が盗まれる可能性があります。攻撃者は、自分のアドレスに関連付けられたハッシュをすぐに送信し、証明を送信して報酬を得ることができます。タイム ウィンドウを設定することで、ハッシュを提出した証明者はウィンドウ内で証明を提出するインセンティブを持たなくなり、競合の可能性を回避できます。


  • 賭け金に基づいて報酬が割り当てられるのはなぜですか?複数の証明者が、時間枠内で同じシーケンスのハッシュを送信できます。実際、マイナーは、生成された証明を使用して複数のハッシュを送信できます (複数のアドレスのみが必要です)。これにより、PoW 報酬の大部分またはすべてがマイナーによって取得される可能性があります。この攻撃を回避するために、シーケンスの報酬はマイナーのステーク額の比率に基づいて割り当てられます。


まとめと計画

この投稿で提案されている ZKP の 2 段階提出アルゴリズムは、効果的に競合攻撃を回避し、より多くのマイナーが安定した継続的な ZKP 計算能力を提供するよう促しながら、証明者の分散化を実現します。アルゴリズムの初期バージョンは、Opside プレアルファ テストネットで起動されます。


将来、 Opside は次のような ZKP マイニングの分野でより革新的なアイデアも導入します。


  • ネットワーク全体の ZKP 計算能力の需要と供給に基づいて、PoS と PoW の間の報酬配分比率を動的に調整します。
  • ZK-Rollup のタイプ、Rollup トランザクションの数、および Rollup のガス使用量に基づく、Rollup バッチのパーソナライズされた価格設定メカニズム。
  • アプリケーション開発者が関連するロールアップの ZKP を生成してマイナーに計算能力を提供することを奨励するための補助金。