原作者:ハ・ジェヒョン
編集者: TechFlow
まとめ
-
ゼロ知識証明(ZKP)は、 よりプライベートでスケーラブル ブロックチェーン エコシステムでは、ゼロ知識 (ZK) の多くの側面が誤解されていたり、一般に信じられているものとは異なった方法で実装されていたりします。
-
ZKP には主に 2 つの側面があります。 「ゼロ知識」と「簡潔さ」。 この記述は間違ってはいませんが、ほとんどの ZK ロールアップは簡潔性という特性のみを利用しており、トランザクション データとアカウント情報は完全にゼロ知識またはプライベートではありません。
-
様々なタイプのDAppsでは、 ZKロールアップは開発スタックにとって最適な選択肢ではないかもしれない たとえば、ZKP の生成は高速ファイナリティのボトルネックとなり、Web3 ゲームのパフォーマンスが低下する可能性があります。また、状態差分公開に基づくデータ可用性の保証は、DeFi レンディング プロトコルのサービスに悪影響を与える可能性があります。
図1: ZKは素晴らしい流行語である
出典: imgflip
ブロックチェーン業界の現状は、ゼロ知識(ZK)時代に例えることができます。 ZK はどこに行っても目立っており、名前に ZK が組み込まれていない次世代ブロックチェーン プロジェクトを見つけることはますます稀になっています。技術的な観点から見ると、ZK がよりスケーラブルでプライベートなブロックチェーン エコシステムに貢献できる有望なテクノロジーであることは否定できません。ただし、ZK の複雑な技術的背景により、多くの投資家 (個人投資家と機関投資家の両方) は、ZK テクノロジーが各プロジェクトにどのようなメリットをもたらすかを十分に理解せずに、見た目がクールで斬新で、ブロックチェーンのトリレンマを解決できるという「信念」に基づいて ZK プロジェクトに投資することがよくあります。
この ZK シリーズでは、ZK ロールアップの不都合な真実 (欠点とデメリット) とその有益な応用について検討します。まず、ブロックチェーンにおける ZK 証明 (ZKP) の 2 つの中核特性である「ゼロ知識」と「簡潔さ」について説明します。次に、現在サービス中の多数の ZK ロールアップが「ゼロ知識」の側面をあまり活用していない理由について説明します。次に、実装の複雑さなどのよく知られた問題を回避しながら、ZK ロールアップを適用すると有益よりも有害になる可能性がある領域について説明します。最後に、ZK の原則を効果的に体現し、ZK テクノロジーの使用から実際に明確なメリットを得ている傑出したプロジェクトを紹介します。
要約: ZK ロールアップのトランザクション ライフサイクル
Rollup は、トランザクション バンドルをオフチェーンで実行し、最新の L2 状態の概要データを L1 に保存することで、L1 スループットの制限に対処するスケーリング ソリューションです。その中でも、ZK Rollups の優れた機能は、オフチェーン計算の有効性の証明をオンチェーンで送信することで、資金を迅速に引き出すことができることです。ZK Rollups の問題について詳しく説明する前に、トランザクション ライフサイクルを簡単に確認してみましょう。
図2: ZKロールアップにおけるトランザクションライフサイクル
出典: プレストリサーチセンター
-
各 L2 ユーザーはトランザクションを生成し、シーケンサーに送信します。
-
シーケンサーは複数のトランザクションを集約してソートし、これらのトランザクションをオフチェーンで実行して新しいロールアップ状態を計算します。次に、シーケンサーはこの新しいロールアップ状態をバッチ形式でオンチェーン状態のスマート コントラクトに送信し、対応する L2 トランザクション データをデータ ブロックに圧縮して、データの可用性を確保します。
-
このバッチは証明者に送信され、証明者はバッチ実行の有効性の証明 (または ZKP) を作成します。この有効性の証明は、追加データ (つまり、以前の状態ルート) とともに L1 の検証者スマート コントラクトに送信され、検証者が検証対象を識別するのに役立ちます。
-
バリデーター契約が証明が有効であることを確認した後、ロールアップのステータスが更新され、送信されたバッチ内の L2 トランザクションは完了したと見なされます。
(この説明はZKロールアッププロセスの簡略版であり、実装はプロトコルごとに異なる場合があります。役割を区別する場合、アグリゲータ、エグゼキュータ、プロポーザなど、L2にさらに多くのエンティティが存在する可能性があります。データブロックの階層も、目的に応じてブロック、ブロックグループ、バッチなど異なる場合があります。上記の説明では、集中型シーケンサがトランザクションを実行する強力な権限を持ち、統一されたデータブロック形式をバッチとして生成する状況を想定しています。)
オプティミスティック ロールアップとは異なり、ZKP (ZK-SNARK や ZK-STARK など) のおかげで、ZK ロールアップはすべてのトランザクションを再生せずに簡単な証明を検証することで、何千ものトランザクションの実行の正確性を検証できます。では、この ZKP とは何であり、その特徴は何でしょうか。
ZKP の 2 つの特性: ゼロ知識とシンプルさ
名前が示すように、ZKP は基本的に証明です。証明は、プロバイダーの主張を十分にサポートできるものであれば何でもかまいません。ボブ (プロバイダー) がアリス (検証者) に、自分のラップトップに対する権限があることを納得させたいとします。これを証明する最も簡単な方法は、ボブがアリスにパスワードを伝え、アリスがラップトップにパスワードを入力してボブが権限を持っていることを確認することです。ただし、この検証プロセスはアリスとボブの両方にとって満足のいくものではありません。ボブが非常に長く複雑なパスワードを設定した場合、アリスがそれを正しく入力するのは非常に困難です (アリスがコピー アンド ペーストできないと仮定)。より現実的には、ボブは自分の権限を証明するためにアリスにパスワードを明かそうとしないかもしれません。
ボブがパスワードを明かすことなく、アリスがコンピューターへのアクセスをすばやく確認できる検証プロセスがあったらどうなるでしょうか。たとえば、図 3 に示すように、ボブはアリスの前で指紋認識を使用してラップトップのロックを解除できます (これは ZKP の完全な例ではないことに注意してください)。ここで、アリスとボブの両方が ZKP の 2 つの重要な特性の恩恵を受けることができます。 ゼロ知識特性と単純性特性。
図3: ゼロ知識とシンプルさの高レベル直感
出典: imgflip
ゼロ知識(ZK)
ゼロ知識特性とは、プロバイダーによって生成された証明が、証明の有効性を除いて秘密の証人(つまり、個人データ)に関する情報を一切明らかにせず、検証者がデータについて何も知らないままであるという事実を指します。ブロックチェーンでは、この特性を使用して個々のユーザーのプライバシーを保護することができます。各トランザクションに ZKP を適用すると、ユーザーはトランザクションの詳細(送金、口座残高の更新、スマート コントラクトの展開と実行など)を公開することなく、自分の行動の正当性を証明できます(つまり、ユーザーがトランザクションを実行するのに十分な資金を持っていることを証明できます)。
シンプルさ
簡潔な特性とは、大きなサイズのステートメントから短くて高速に検証可能な証明を生成する ZK の機能を指します。言い換えると、大きなものをコンパクトな形式に圧縮します。ブロックチェーンでは、これは特にロールアップに役立ちます。ZKP を使用すると、L2 の検証者は、L1 の検証者に簡潔な証明を送信することで、トランザクションが正しく実行されたことを主張できます (TB サイズのトランザクションの有効性は、10 ~ 100 KB の証明で表すことができます)。検証者は、すべてのトランザクションを再生する代わりに、簡潔な証明を検証することで、短時間 (つまり、10 ミリ秒から 1 秒) で実行の有効性を簡単に確認できます。
ZKロールアップは素晴らしいが、プライバシーを保証するものではない
上で説明した ZKP の特性は、ZK ロールアップでうまく活用されています。バリデータはプロバイダーから受け取った ZKP から元のトランザクション データを推測することはできませんが、簡潔な証明を検証することで、プロバイダーの主張 (つまり、新しい L2 状態) を効果的に検証できます。とはいえ、現在の ZK ロールアップがゼロ知識と簡潔性の特性に完全に準拠していると主張するのは誤解を招きます。プロバイダーとバリデーター間のやり取りに焦点を当てると、これは真実かもしれませんが、ZK ロールアップにはシーケンサー、プロバイダー、ロールアップ ノードなどの他のコンポーネントがあります。では、それらに対してもゼロ知識原則が保証されているのでしょうか?
あらゆる ZK ロールアップで ZKP を使用して完全なプライバシーを実現するという課題は、一部の部分が ZK によって非公開になり、他の部分が公開されたままになる場合に発生する可能性のある妥協から生じます。 ZK Rollups のトランザクション ライフサイクルについて考えてみましょう。トランザクションがユーザーからシーケンサーに送信されたときにプライバシーは維持されますか? プロバイダーの場合はどうでしょうか? または、L2 バッチが DA レイヤーに送信されたときに個々のアカウント情報のプライバシーは維持されますか? 現在、これらはいずれも当てはまりません。
図4: ZKロールアップにおけるプライバシー漏洩
出典: プレストリサーチ
主流の ZK ロールアップのほとんどでは、シーケンサーまたはプロバイダー (または強力な権限を持つ他の中央集権型エンティティ) は、転送量、アカウント残高の更新、契約の展開と実行などのトランザクションの詳細を明確に確認できます。簡単な例として、ZK ロールアップ ブロック ブラウザーにアクセスすると、言及されているすべての詳細を簡単に確認できます。それだけでなく、中央集権型シーケンサーが何らかの理由でサービスを停止し、別のロールアップ ノードがロールアップ状態の回復を試みる状況を考えてみましょう。ロールアップ ノードは、DA レイヤー (ほとんどの場合、L1 Ethereum) によって公開されている L2 データから情報を抽出し、L2 状態を再構築します。このプロセスでは、DA レイヤーによって保存された L2 トランザクションを再生できるノードは、各ユーザー アカウントの状態に関する情報を回復できます。
そのため、現在のZKロールアップでは「ゼロ知識」という用語が断片的な形で実装されています。これは間違いとは言えませんが、 これは、「ZK は完全なプライバシーと同等のゼロ知識を意味する」という一般的な認識とは明らかに異なります。現在の ZK ロールアップの目新しさは、「ゼロ知識」ではなく「簡潔性」という特性を活用すること、つまり、トランザクションをオフチェーンで実行し、バリデーター向けに簡潔な証明を生成することで、再実行することなく、実行の有効性を迅速かつスケーラブルに検証できるようにすることです。
このため、Starknet などの一部の ZK ロールアップは、混乱を避けるために自らを「Validity Rollups」と呼んでいますが、Aztec などの真の ZK プライバシーを保証する他のロールアップは、自らを ZK-ZK ロールアップと呼んでいます。
ZKロールアップの実用性に関するより深い考察
前述のように、ほとんどの ZK ロールアップは ZK プライバシーを完全に実装していません。では、次の目標は何でしょうか。ロールアップのあらゆる部分に ZK を完全に導入して、完全なトランザクション プライバシーを実現することです。実際、これは簡単な質問ではありません。技術をさらに成熟させるには大幅な技術的進歩が必要であることに加えて、ZK にはイデオロギー (プライベート トランザクションの違法使用など) と実用性 (本当に役立つのかなど) の点で依然として議論の余地のある問題があります。完全なトランザクション プライバシーの倫理的問題について議論することはこの記事の範囲を超えているため、ブロックチェーン プロジェクトで発生する ZK ロールアップの 2 つの実際的な問題に焦点を当てます。
ポイント1: ZKPの生成は高速ファイナリティのボトルネックになる可能性がある
まず、ZK Rollups 自体の実用性について説明します。ZK Rollups の最も魅力的なセールスポイントは、ZKP のおかげでトランザクションのファイナリティが速くなり、資産引き出しのレイテンシが短縮されることです。TPS の向上と取引手数料の低さも追加の利点です。ZK Rollups の特性を最も効果的に活用する分野はゲーム業界です。ゲーム内通貨の入出金が非常に頻繁に行われ、毎秒大量のゲーム内トランザクションが発生するためです。
しかし、ZK Rollups は本当にゲームに最適なテクノロジー スタックと言えるのでしょうか? そのためには、ZK Rollups の高速ファイナリティの概念についてさらに深く考える必要があります。ユーザーが ZK Rollup に基づくテクノロジー スタックで実行されている Web3 ゲームを楽しんでいるところを想像してください。ユーザーはゲーム内アイテムをゲーム コインと交換し、ゲームから資産を引き出そうとします。
資産を引き出すには、ゲーム内トランザクションを確定する必要があります。つまり、トランザクションを新しいロールアップ状態のコミットメントに含め、対応する ZKP を L1 に送信し、トランザクションが元に戻せないことを確認するために L1 イーサリアムでの証明の確定を待つ必要があります。これらのプロセスがすべて瞬時に実行できれば、ZK ロールアップでよく宣伝されている即時トランザクション確認を実現でき、ユーザーはすぐに資産を引き出すことができます。
しかし、現実はこれとは程遠い。 L2beatが提供するさまざまなZKロールアップのファイナリティ時間統計によると 平均すると、zkSync Eraは約2時間、Lineaは3時間、Starknetは約8時間かかります。これは、ZKPの生成に時間がかかり、トランザクション手数料を削減するためにバッチ(つまり、単一の証明)にさらに多くのトランザクションを含めるのにも追加の時間がかかるためです。つまり、証明の生成と送信の速度は、ZKロールアップの高速なファイナリティを実現するための潜在的なボトルネックであり、Web3ゲームでのユーザーエクスペリエンスを低下させる可能性があります。
図5: ZKP生成はZKロールアップの高速な最終化の潜在的なボトルネックとなる可能性がある
出典: imgflip
一方、Ronin(PixelsやAxie InfinityなどのWeb3ゲームを動かす)のようなゲームに最適化されたチェーンは、分散化とセキュリティを犠牲にして、超高速のファイナリティを保証します。RoninはZKやRollupベースのチェーンではありません。PoA(Proof of Authority)+ DPoS(Delegated Proof of Stake)コンセンサスアルゴリズムで実行されるEVMブロックチェーンです。委任されたステークの数に基づいて22のバリデータを選択し、これらのバリデータがPoA方式(つまり、22のバリデータのみによる投票プロセス)でブロックを生成して検証します。その結果、Roninでは、トランザクションは迅速にファイナライズされ、ほとんど遅延なくブロックに含まれ、検証時間が短くなります。Shillinハードフォーク後、平均でわずか10分しかかかりませんでした。 6秒 各トランザクションが完了するまでに時間がかかります。Ronin は、ZKP を必要とせずにこれらすべてを実現します。
もちろん、Ronin にも欠点があります。中央集権型のバリデーターによって管理されているため、51% 攻撃の脅威に対して比較的脆弱です。さらに、決済レイヤーとして Ethereum を使用していないため、Ethereum のセキュリティを継承できません。クロスチェーン ブリッジの使用にもセキュリティ リスクがあります。しかし、ユーザーの観点から見ると、ユーザーはこれらを気にしているでしょうか? 分散型順序付けのない現在の ZK Rollups には、単一障害点 (SPOF) の問題もあります。Ethereum はトランザクション ロールバックの可能性を減らすため、それらに保証を提供しますが、中央集権型のシーケンサーまたはバリデーターが失敗すると、ZK Rollups もフリーズする可能性があります。ZK Rollups の ZK は、実行の正確性の妥当性を検証するためにのみ使用されることに再度注意してください。同じ機能を提供しながら、より高速で安価な別のプロジェクトがある場合、ZK Rollups は、Web3 ゲーム ユーザーや開発者によって推奨されるテクノロジ スタックとは見なされなくなる可能性があります。
ポイント2:リリースステータスの違いは諸刃の剣
もう1つのポイントは、ZKロールアッププロトコルの実装の実用性です。その中でも、ここではZKロールアップでデータの可用性を確保する方法の1つである状態差分公開に焦点を当てます( Dencun アップグレードのロック解除: DA レイヤーのスケーリングの知られざる真実 、ハ・ジェヒョン、24年4月12日)。
Rollups におけるデータの可用性を理解する簡単な方法は、アマチュア登山家がエベレスト登頂を証明し、記録することを想像することです。これを行う最も簡単な方法は、ベースキャンプから山頂までのすべてのステップをビデオで記録することです。ビデオファイルは大きいかもしれませんが、誰でも登山者の登頂を確認し、録画を再生できます。この比喩は、データの可用性を確保するための元のトランザクションデータ公開アプローチと比較できます。楽観的ロールアップは、シーケンサーの状態コミットメントを信頼できないため、個々の挑戦者が正しい実行を再生して検証できるように、このアプローチに従います。ZK ロールアップでは、Polygon zkEVM と Scroll がこのアプローチを採用し、元の L2 トランザクションデータを L1 に圧縮形式で保存して、必要に応じて誰でも L2 トランザクションを再生してロールアップの状態を復元できるようにします。
アマチュア登山家の例に戻ると、別の検証方法としては、有名な登山家がアマチュア登山家と一緒にエベレストに登り、登頂が本当に完了したことを世界に証明するという方法がある。信頼できる人物によって登頂が確認されたので、登山家は記録のために一歩一歩記録する必要がなくなる。スタート地点と山頂で写真を撮るだけで、他の人は登山家が頂上に到達したと信じることができる。この比喩は、 状態差アプローチ データの可用性を確保するために使用されます。ZK Rollups では、zkSync Era と StarkNet がこのアプローチを採用し、L2 トランザクションが L1 で実行される前後の状態の差のみを保存します。これにより、誰でも初期状態からの状態の差を計算し、必要に応じて Rollup の状態を復元できます。
図6: 元のトランザクションリリースとステータス差分リリース
出典: プレストリサーチ
この状態差分方式は、中間トランザクションを保存する手順を省くことができるため、元のトランザクション データ公開方式に比べてコスト効率が間違いなく優れています。これにより、L1 のストレージ コストが削減されます。これは通常問題にはなりませんが、潜在的な欠陥があります。この方法では、完全な L2 トランザクション履歴を回復できないため、一部の DApp では問題になる可能性があります。
たとえば、DeFi レンディング プロトコルである Compound を例にとると、これが状態差分ベースの ZK Rollup スタック上に構築されていると仮定します。これらのプロトコルでは、供給と貸出レートを毎秒計算するために完全なトランザクション履歴が必要です。ただし、ZK Rollup シーケンサーに障害が発生した場合、他の Rollup ノードが最新の状態を復元しようとするとどうなるでしょうか。状態は復元されるかもしれませんが、中間トランザクションではなくバッチ間のスナップショットしか追跡できないため、金利は不正確に復元されます。
結論は
この記事の主な主張は 今日の ZK ロールアップのほとんどには「ZK」が存在せず、DApps では ZKP と ZK 手順を使用することが最善の選択ではない可能性がある場所が多数あります。 ZK 技術自体には何の問題もないので、非難されても無罪だと感じるかもしれませんが、その技術的進歩を活用する過程で、DApps に潜在的なパフォーマンス低下をもたらす可能性があります。ただし、これは ZK 技術が業界にとって役に立たないということではありません。ZKP と ZK ロールアップが最終的に成熟すると、ブロックチェーンのトリレンマに対するより優れたソリューションを確実に提供できます。実際、ZK プライバシーを維持する ZK ベースのプロジェクトはすでに存在しており、ZKP と ZK 畳み込みを効果的に活用するさまざまなタイプの DApps があります。
この記事はインターネットから引用したものです: ZK ロールアップ: 部屋の中の象
関連:香港スポットETFが上場間近。他に注目すべき香港のコンセプトプロジェクトは?
4月24日、公式ニュースによると、中国資産管理(香港)は本日、中国資産管理ビットコインETFと中国資産管理イーサリアムETFが香港証券先物委員会(SFC)の承認を受け、2024年4月29日に発行され、2024年4月30日に香港取引プラットフォームに上場される予定であると発表した。アジア市場でこのような商品が発売されるのは初めてです。これら2種類の商品は、ビットコインとイーサリアムのスポット価格に連動した投資収益を提供するように設計されています。この大きな動きにより、香港コンセプトは再び注目を集めています。今年初め、香港コンセプトのリーダーであるCFXは、2か月でUS$0.19からUS$0.52に上昇しました。…