コインチェーン

仮想通貨・Web3ニュース・投資・教育情報

zkロールアップ zk-rollupsとは? | 徹底解説

  • ホーム
  • zkロールアップ zk-rollupsとは? | 徹底解説
zkロールアップ zk-rollupsとは? | 徹底解説

公開台帳の拡張

公開台帳にとってスケーラビリティは常に課題でした。エンジニアは、シャーディングや新しいコンセンサスプロトコルなどの技術を使用したベースレイヤーでのスケーリングと、レイヤー2(L2)スケーリング技術という2つの主なアプローチを使用して、この問題に何年も取り組んできました。どちらのアプローチも、さまざまな方法で成功を収めています。

レイヤー2スケーリング技術

ベースレイヤのスケーラビリティは進歩していますが、L2スケーリング技術は常に必要とされています。これらの技術は、プライバシーから、確立された公開台帳のセキュリティと流動性を活用する高性能のアプリケーション固有のネットワークの構築に至るまで、さまざまな利点を提供します。現在、L2プロトコルを採用する主な理由はスケーラビリティであり、イーサリアムのようなスマートコントラクトプラットフォームに近期から中期のソリューションを提供します。

既存のL2スケーリング技術

1.チャンネル
二者間でチャネルが確立され、双方向の即時支払いが可能になります。これらのペアごとの双方向チャネルは、P2Pゴシッププロトコルと確率的ネットワークルーティングを使用してネットワークを形成できます。ビットコインのライトニングネットワークはこのように動作します。チャネルは、一方向の支払いや多数の状態更新を伴う長期的な関係に最適です。ただし、初期資金が必要なため資本のロックアップが発生し、プロトコルの遵守を確保するために双方がベース層を監視する必要があります。

2.プラズマ
Plasmaにはさまざまな実装があり、それぞれが異なる問題に対処します。ただし、すべてのバリエーションにはユーザーエクスペリエンスに影響を与えるトレードオフがあります。たとえば、PlasmaCashでは、トークンには分割不可能な固定額面が必要であり、ユーザーは大量のデータを維持する必要があります。Plasma MVPには、出金を確保するための複雑なゲーム理論が含まれます。プラズマデビットでは、先制チャネルを作成するために事業者による大幅な資本ロックアップが必要です。すべてのPlasmaバリエーションは明示的な資産所有権を前提としており、AMMのようなより複雑なアプリケーションを妨げています。

3.ロールアップ
ロールアップは、データをオンチェーンに維持しながら計算をオフチェーンに移動するハイブリッドL2ソリューションです。これには、暗号化アキュムレータを使用してすべての預金/口座の状態から派生した、レイヤー1EVM上のスマートコントラクトへの状態コミットメントの送信が含まれます。このプロセスによりセキュリティが確保され、取引相手のリスクが軽減されます。コーディネーターがいなくなっても、新しいコーディネーターが介入できるため、ロールアップは引き続き動作します。

ロールアップのフレーバー

ロールアップタイプ間の主な違いは、状態遷移がオンチェーンでどのように検証されるかにあります。楽観的ロールアップは不正証明に依存しますが、zkロールアップはゼロ知識証明を使用します。

楽観的なロールアップ

オプティミスティックロールアップは「名誉システム」で動作し、不正行為の証拠が提出されない限り、レイヤー1のスマートコントラクトは状態遷移をチェックしません。スマートコントラクトは不正行為の証拠を検証し、不正な状態遷移をロールバックします。このアプローチにより、レイヤ2EVMを含む複雑なロールアップ構造が可能になります。ただし、チャレンジ期間の出金にはタイムロックが必要なため、大規模なロールアップの資金効率が非効率になり、より迅速な出金のために流動性プロバイダーが必要になることがよくあります。

ZKロールアップ

2018/2019年にBarry Whitehatによって提案されたzk-rollupsは、すべてのアドレスと残高をマークルツリーに保存し、ルートはオンチェーンスマートコントラクトに保存されます。新しいマークルルートはバッチごとに提案され、更新された残高を反映します。スマートコントラクトはバッチでスナークプルーフを検証し、新しいルートが受け入れられることを確認します。Zkロールアップは、セキュリティのためにマークル山脈とゼロ知識証明を活用して、入金、送金、出金を効率的に処理します。

ZKロールアップでの入金の処理

デポジットは保留キューに追加され、ロールアップのスパースマークルツリーに組み込まれます。コーディネーターはキューからデポジットを取得し、バランスツリーの正しい高さに挿入し、新しいマークルルートが作成されます。スマートコントラクトはマークル証明を使用して新しいルートを検証し、それに応じてバランスツリーを更新します。

ZKロールアップでの転送

ユーザーはコーディネーターに振替トランザクションを送信することで、ロールアップ内で資金を移動できます。コーディネーターはそれらをバッチ化し、更新されたバランスツリールートとゼロ知識証明を使用してロールアップ契約に送信します。コーディネーターはトランザクションを検証し、トランザクションをキューに追加する前に正確であることを確認します。

ZKロールアップでの知識証明はゼロ

コーディネーターは、トランザクションを繰り返し、送信者と受信者のアカウントを検証し、残高を更新することでプルーフを作成します。証明により、状態遷移が正しく適用されることが保証され、スマートコントラクトはそれに応じてバランスツリールートを更新します。

ZKロールアップでの出金

資金を引き出すには、ユーザーはロールアップ内の「書き込みアカウント」にトランザクションを送信します。トランザクションがバッチに含まれると、ユーザーはトランザクションの証拠とともに出金リクエストをスマートコントラクトに送信します。スマートコントラクトはトランザクションを検証し、指定されたL1アドレスに資金を送信します。

ZKロールアップのアトミックスワップ

依存トランザクション、またはアトミックスワップを使用すると、ロールアップ内でより複雑な操作が可能になります。トランザクションには取引相手のトランザクションのハッシュが含まれており、相互アクションが一緒に実行されることが保証されます。これにより、ロールアップでの注文帳交換などのアプリケーションを構築できるようになります。

ZKロールアップでのデータの可用性

ロールアップはデータをレイヤー1に保持するため、誰でもオンチェーンデータからロールアップ状態を再作成できます。トランザクションは圧縮され、通話データとして保存されるため、スペースとガスコストが節約され、高いトランザクションスループットが可能になります。

ZKロールアップのベンチマーク

データストレージを最適化し、イーサリアムのブロックガス制限を利用することで、高いトランザクションスループットが実現されます。ZKロールアップはブロックごとに複数のバッチを公開できるため、1秒あたりのトランザクション(TPS)が大幅に増加します。

ZKロールアップの今後の研究

今後の研究では、プルーフ作成コストのベンチマーク、他のEVMプラットフォームでのzkロールアップのサポートの検討、および一括移行によるクロスロールアップ通信の有効化に焦点を当てる必要があります。

相互運用性

一括移行などのL2間トランザクションでは、L1に撤退せずに他のロールアップにバッチ転送できます。これには、ロールアップと追加の検証ロジック間の標準化が必要です。

結論

ZKロールアップは、イーサリアムをスケーリングするための実用的なソリューションを提供し、高いトランザクションスループット、低コストのトランザクション、強力なセキュリティ保証を提供します。レイヤー2でのスマートコントラクトのサポートはまだ開発中ですが、zk-rollupはブロックチェーンのスケーラビリティと機能の大幅な進歩を約束します。