zkSync Era の目標は、EVM の同等性を追求するのではなく、最適化のためにカスタム VM を使用することでプルーフをより速く生成することです。強力な LLVM コンパイラーを通じて Solidity、Vyper、Yul、Zinc (ロールアップの内部プログラミング言語) をサポートし、ほとんどのスマート コントラクト機能を実装します。自社開発の VM により、zkSync Era はネイティブ アカウント抽象化をサポートしているため、どのアカウントでも任意のトークンを使用して支払いを行うことができます。
zkEVM ロールアップ: テクノロジー ビジョンとプロジェクトの間のギャップ
ブロックチェーン レイヤ 1 ネットワークの拡張問題を解決するために、ロールアップ ソリューションが登場しました。 ZK テクノロジーと組み合わせることで、ZK Rollup はレイヤー 2 トラックの新しい人気者になりました。ただし、ほとんどの人にとって、ZK、ロールアップ、EVM などの関連概念には、ある程度の理解の限界があるかもしれません。したがって、この研究レポートの目的は、zkEVM Rollup の一連の概念を簡潔でわかりやすい言語で体系的に整理し、zkEVM Rollup 技術の進化と開発状況を深く分析し、主要な生態学的概念を解釈することです。これは、zkEVM ロールアップ トラックの開発傾向を完全に理解し、判断できるように設計されています。
パート 1 ZK を理解する
ZK (または ZKP)、正式名は Zero-Knowledge Proof、つまりゼロ知識証明です。暗号化において、ゼロ知識証明またはゼロ知識プロトコルは、一方の当事者 (証明者) が暗号化に提出できる方法です。相手方(検証証明者)が、事実の具体的な情報を開示することなく、事実を証明すること、つまり、一方の当事者(証明者)は、事実の「具体的な情報」を開示することなく、相手方に事実が正しいかどうかを知らせることができます。つまり、ZK テクノロジーはプライバシーの中で使用できるということです。保護の分野では、私たちに想像力の余地がたくさんあります。
もちろん、ZK テクノロジーがもたらすプライバシー保護の利点に加えて、ZK ロールアップでは、「検証が難しい」という問題を解決するために ZK テクノロジーがより重要です。ブロックチェーンにとって「検証」のプロセスは非常に重要であり、イーサリアムの計算プロセスのほとんどは検証の要件を満たすためのものですが、ZK Rollupはノードネットワーク全体の検証に費やす時間を大幅に削減できます。たとえば、ブロックが生成されたときにネットワーク全体のルールを満たしているかどうかを検証するのに長い時間がかかる場合、最初に検証してこのブロックの計算結果の「証明」を生成する証明者が 1 人存在する可能性があります。以降 膨大な計算量を要する元のブロックの代わりに、この「証明」を素早く検証することで、ブロック検証の目的は達成されます。
簡単な ZK プロトコルは、鍵の生成、証明、検証のステップに分かれており、それらを 1 つずつ逆アセンブルしていきます。
01 鍵の生成、証明、検証
ZKでは検証したい問題を数式に変換し、さらに多項式に変換して演算回路の形で表現する必要があります。プログラムを演算回路に変換すると、加算や減算などの基本的な算術演算からなる各ステップに分解されます。出力される関数としては、次の回路図に変換できます (図 1 を参照)。
図 1 回路図の例では、回路内のすべての操作が最も単純な基本操作に分割されていることがわかります | 出典
この回路といくつかの乱数を入力として使用すると、後続の検証プロセスのための証明鍵 (pk、証明鍵) と検証鍵 (vk、検証鍵) を生成できます。その概略図を図 2 に示します。
図2 「公開パラメータ」の生成
私たちの証明システムには、証明を生成するための証明キーとともに、プライベートとパブリックの 2 種類の入力も必要です。このうち、非公開入力(証人)は隠したい秘密であり、公開入力は公開してもよい情報です。たとえば、方程式 X+Y*Z=OUT では、X と OUT はパブリック入力ですが、Y と Z にはバリデーターに公開したくない値が含まれています。 Y*Z の値は公開情報に基づいて推定できますが、Y と Z の具体的な値はまだ不明です。
図3 ZK-SNARKsの証明プロセスと検証プロセス
検証者は証明を受け取ると、公開入力、証明、および検証キーを使用して証明を検証し、検証結果 (つまり、検証が成功したかどうか) を返します。
上記のプロセスを理解した後、この技術をブロック検証に適用して、図 3 に示すような小規模な ZK-SNARK を実現できます。ゼロ知識証明を実現するためのプロトコルや手法は数多くありますが、SNARK は比較的理解しやすく、現段階ではほとんどのプロジェクトで選択されています。 「ZK-SNARKからZK-STARKへ」の段落では、SNARKの長所と短所について説明します。
02 ちょっとスパークしてみよう
実践例として、アカウントのステータスを記録するマークル ツリーのゼロ知識証明を取り上げてみましょう。マークル ツリーには、口座の住所と残高が記録されます。マークル ツリーを更新する必要がある新しいトランザクションがある場合は、次の操作を実行する必要があります。
トランザクションの送信者と受信者がツリーのリーフ ノード上にあることを確認します。
送信者の署名を確認します。
送金側と受取側の残高を更新します。
マークル ツリーのルート ノード (つまりマークル ルート) を更新し、それを最終出力として使用します。
ゼロ知識証明がない場合、検証者は計算の精度を確保するためにこれらの手順を繰り返す必要があります。しかし、ゼロ知識証明を使用した後は状況が異なります。まず、2 種類の入力を特定する必要があります。
このプロセスでは、新しいトランザクション情報、元のマークル ルート、および更新されたマークル ルートのみがパブリック入力となります。
マークル ツリー自体は証人 (証人) として機能し、検証者が読み取ったり処理したりする必要はありません。
次に、キーを生成し、回路を計算する必要があります。マークルツリーの更新やアドレス検証の入出力などの計算処理を計算回路に構築し、証明鍵と検証鍵を取得します。マークルツリーの計算方法は固定されているため、この回路は入力されたトランザクション情報や既存のマークルルートとは何の関係もありません。
プルーフを生成する段階では、2 つのマークル ツリーとトランザクション情報を入力として受け取ります。検証者段階では、検証者はマークルツリーを取得することなく、つまりアカウント情報を知らなくても更新の信頼性を確保することができる。回路は固体のブラックボックスのようなもので、入力が正しい限り、正しい出力が得られます。
ゼロ知識証明を使用すると、他の検証者はマークル ツリーの生成プロセスが信頼できるものであることを迅速に検証できるため、ネットワーク上で繰り返し検証する時間が短縮され、マークル ツリーの情報を検証者に開示する必要がなくなります。
03 ZK-SNARK から ZK-STARK へ
上記の証明プロトコルは ZK-SNARK です。 SNARK は、知識の簡潔な非対話型の引数を表します。ここで、簡潔とはこの手法の単純さを指し、非対話型は他の証明手法と比較したことを指します。SNARK は非対話型の証明です。つまり、検証者は次のことを行うだけで済みます。生成された証明は検証結果を得ることができます。ただし、ZK-SNARK にはいくつかの問題があります。鍵の生成段階では、回路と乱数が初期公開パラメータのセットに相当し、この公開パラメータの生成プロセスには集中化の問題が避けられません。
ZK-STARK は SNARK に基づく異なるアプローチを採用しています。「s」はスケーラビリティを表します。これは、生成時間と元の計算時間が準線形であるのに対し、元の計算では検証時間が対数であることを証明しています。データセットが大規模な場合、検証者による検証時間が大幅に短縮されます。
同時に、ZK-SNARKsのアップグレードバージョンとして、ZK-STARKsは検証効率を向上させるだけでなく(理論上の効率は10倍)、楕円曲線や信頼できる設定に依存せず、プロセスを必要としません。初期パブリック パラメータ (文字「T」は透明性を表します) を生成するため、一元的な信頼できるセットアップの必要がなくなります。一部の開発者は、ZK-STARK のハッシュ関数が量子攻撃に対抗できると信じています。
ただし、ZK-STARKs は導入が遅く、現在のテクノロジーは十分に成熟しておらず、ハッシュ関数に依存しているため汎用性が制限されており、ZK-SNARKs は依然として一般的な証明アルゴリズムです。 STARK ベースのアルゴリズムの例には、Fractal、SuperSonic などが含まれ、関連プロジェクトには StarkWare、Polygon Miden などが含まれます。
パート 2 ロールアップについて
ZK に加えて理解する必要があるもう 1 つの概念は Rollup であり、Rollup の重要性はレイヤー 1 ネットワークの輻輳問題を解決することです。
イーサリアムを例に挙げると、現在トランザクションの輻輳が問題となっています。この問題を解決するには2つの方法があります。1つは、シャーディングなどの技術によってブロックチェーンのスループットを拡張するなど、ブロックチェーン自体のトランザクション容量を増やすことです。もう 1 つのアプローチは、ブロックチェーンの使用方法を変更することです。つまり、ほとんどのアクティビティをチェーン上で直接実行するのではなく、第 2 層 (レイヤー 2、以下 L2 と呼びます) で実行することです。この場合、多くの場合、スマート コントラクトがチェーン上に展開され、入出金の処理のみを担当し、さまざまな方法を使用してオフチェーン データを読み取り、オフチェーンで発生するすべてのことがルールに従っていることを確認します。これは、渋滞問題を解決するために、小さな道路の隣に高速道路を建設する、つまりL2拡張によって高速道路を建設するのと同じです。
現在、L2 拡張の主なタイプまたはソリューションは、ステート チャネル、プラズマ、ロールアップの 3 つです。これらは 3 つの異なるパラダイムであり、それぞれに長所と短所があります。すべての L2 拡張機能は大まかにこれら 3 つのカテゴリに分類できます (ただし、validium など、命名についてはいくつかの議論があります)。その中でも Rollup には独自の利点があります。
ロールアップとデータの利用可能性
他の拡張ソリューションと比較すると、ロールアップには特定の利点があります。より直感的な利点の 1 つは、プラズマ データの可用性の問題 (ダレン氏の記事の「データの可用性」の章で言及されています) を解決できることです。補足。
データがオンチェーンにあるという事実は非常に重要です (注: IPFS は、特定のデータが利用可能であるという保証がないというコンセンサスレベルの検証を提供しないため、データを「IPFS 上に」置くことは機能しません。つまり、データはブロックに格納されます)。プラズマと以前のチャネルの 2 つの拡張スキームでは、データと計算は完全に第 2 層ネットワークに配置され、第 2 層ネットワークがイーサリアムと対話する場合、第 2 層チェーン上のすべてのトランザクション データは含まれません。状態 マシンの観点から見ると、プラズマ チェーンのすべての状態変化は含まれません。これにより、イーサリアムがプラズマなどの第 2 層ネットワークから分離されると、以前の状態変化を復元できなくなるため、イーサリアム データの可用性はプラズマ データの保護に大きく依存します。
ロールアップ機構
データの可用性を確保するために、市場はロールアップを選択します。では、ロールアップはどのように機能するのでしょうか?
図 4 L1 コントラクトのステート ルート | ソース
ロールアップ設計では、メイン チェーンにロールアップ コントラクトがあり、これに状態ルートが保存されます。このステート ルートは、アカウント残高 (つまり、一種のステート)、契約コード、その他の情報を保存するマークル ツリーのマークル ルートのアップグレード バージョンとみなすことができます。図 4 は、ロールアップ コントラクトに格納されているステート ルートを示しています。
L2 ノードには 3 つの主な機能があります。まず、どのトランザクションを最初にパッケージ化するかを決定します (通常、このタイプのノードまたはクライアントはシーケンサー Sequencer と呼ばれます)。次に、パッケージ化されたデータごとに証明を提供し、最後にそれを送信する必要があります。 L1 ロールアップ契約はこの契約によって検証されます。図 5 は、L2 におけるシーケンサーの役割を示しています。
図 5 バッチの順序付け、証明、送信が L2 フェーズの主な機能 | 出典
具体的には、L2 はデータのバッチ (バッチ) を L1 に転送できます。これらのデータは、高度に圧縮されたトランザクション コレクションまたはコントラクト実行後の状態変更である可能性があり、また、L1 コントラクトに保存されている状態ルートと新しいポスト状態ルート (ポストステートルート) L2 がデータを処理した後に取得されます。コントラクトは、これらのデータに基づいて、ポストステートのルートが正しいことを検証します。検証に合格すると、データのバッチが L1 層で確認され、L2 から L1 へのオンチェーン プロセスが完了します。
ポストステート ルート (ポストステート ルート) は元のデータから計算されます。送信されたデータ内の新しいポストステート ルートが正しいことを確認するには、L1 に 1 回再計算させるのが最も簡単な方法です。しかし、そうすることでL1に大きなプレッシャーがかかることは間違いない。この重大な問題を解決するには、オプティミスティック ロールアップと ZK ロールアップという 2 つのまったく異なる最適化スキームがあります。
ZK ロールアップとオプティミスティック ロールアップ
ZK ロールアップは、ZK-SNARK や ZK-STARK などの暗号化プロトコル証明を使用して、バッチ実行後のポストステート ルートの正確性を検証します。 L2 の計算量に関係なく、ZK Rollup は L1 チェーン上で迅速に検証できます。
別のタイプの証明は、不正証明を使用するオプティミスティック ロールアップです。これは、息子の宿題を頻繁にチェックしない母親のようなものですが、宿題を一度でも完了しない限り、厳しい罰を受けることになります。このメカニズムの下では、ロールアップ コントラクトは、各バッチの状態ルートとハッシュの完全な履歴を追跡します。誰かがバッチに不正なポストステートルートがあることを発見した場合、バッチが正しく計算されていないという証拠を公開できます。他のノードは一緒に証明を検証し、バッチと後続のすべてのバッチを復元します。
図 6 は、オプティミスティック ロールアップと ZK ロールアップの長所と短所の比較をまとめたものです。ここで、ZK Rollup は TPS に優れており、返金サイクルにおいても大きな利点があることに注意することが重要です。ただし、EVM の互換性と L2 レイヤーでの計算量の消費がデメリットとなります。
Optimism や Arbitrum などの Optimistic Rollup プロジェクトは、それぞれ OVM と AVM を使用し、仮想環境は基本的に EVM と同じであるため、L1 コントラクトを L2 に直接移行して展開できます。ただし、ZK Rollup では、EVM が ZK 証明計算の数学的要件に従って開発されていないため、ZK-SNARK を使用して一般的な EVM 実行を証明することは非常に困難であるため、特定の種類の EVM クライアントを変換して使用する必要があります。トランザクションと契約操作を検証するための ZK テクノロジー。
同時に、対応する変換後でも、ZK 操作には依然として多くの計算能力入力が必要であるため、ZK ロールアップは L2 層の効率においてオプティミスティック ロールアップほど効率的ではありません。
ZK ロールアップはオプティミスティック ロールアップよりも優れたデータ圧縮を提供するため、L1 でより小さなデータを送信できます。
ZK の証明検証プロセスは高速であり、バッチ密度が高いため、ZK Rollup は L1 層の計算消費量が少なくなります。 L2 でのノード支払いにより、L1 ノードの要件が大幅に軽減され、それによって L1 層のスケーラビリティが大幅に向上することがわかります。
図 6 2 つのロールアップ メソッドの比較 | 出典:
**ZK ロールアップまたは zkEVM ロールアップ? **
ZK Rollup は魅力的に見えますが、実際の導入には多くの困難があります。現時点では、ZK ロールアップにはまだかなりの制限がありますが、オプティミスティック ロールアップが依然として主流のソリューションです。実装されている ZK ロールアップのほとんどは、特定のアプリケーション向けにカスタムメイドされています。
カスタマイズされた ZK ロールアップを理解するにはどうすればよいですか?開発者は、特定のタイプの支払い、トークン交換、または NFT キャスティングをサポートする、Loopring、StarkEx ロールアップ、zkSync 1.0 などのさまざまな DApp 向けにアプリケーション固有の回路 (「ASIC」) を構築します。技術的な知識があり、開発者のエクスペリエンスが低下します。特定の種類の支払いデータを例にとると、ノードはトランザクション データをシーケンサーに送信し、シーケンサーはそれをバッチにパックして、公開入力、証明プロセス、および契約として証明を送信するノードに送信します。仮想マシン上での実行プロセスは何もする必要はなく、ZK は特定の実行結果のロールアップ計算と圧縮プロセスを証明することのみを担当します。
また、zkEVM Rollup は、仮想マシンの実行結果をロールアップする機能を表します。 L2層で汎用スマートコントラクトを実行する場合、コントラクト実行前後の状態遷移の正当性を証明する必要があり、ZKアルゴリズムの動作をサポートする仮想環境が必要です。したがって、コントラクトを実行し、最終状態を出力し、コントラクト実行プロセスの正当性を証明し、トランザクション記録、アカウント記録、状態変更記録データをまとめてロールアップで提出することがzkEVMの意味となります。 L1 層は証明を迅速に検証するだけで済み、オーバーヘッドは小さく、コントラクトを再度実行する必要はありません 図 7 は、zkVM の役割を明確に示しています。なお、zkEVMは実際にはL2層で動作するEVM風の仮想マシンなので、より正確な用語はゼロナレッジ仮想マシン、zkVMですが、誰もがイーサリアムと互換性があることを強調してzkEVMと呼んでいます。
図 7 zkVM | ソースを示す図
既存のプロジェクトでは、特定のアプリケーションに対する最適化を段階的に放棄し、汎用コントラクト、つまり zkEVM Rollup の実行をサポートするようにアップグレードすることも検討しています。したがって、zkEVM Rollup は ZK Rollup の下位概念ですが、ほとんどの場合、ZK Rollup という場合は zkEVM Rollup を指します。
パート 4 zkEVM ロールアップ プロジェクトの概要
2023 年上半期にはさまざまな zkEVM プロジェクトが急増しますが、筆者はこれらのプロジェクトに主に以下の点に注目します。
現在のプロジェクトの進捗状況: 現在のプロジェクトの段階、テスト ネットワークとメイン ネットワークの予想開始時期、開発ロードマップと一致しているかどうかなど。
プロジェクトの実際のインタラクション:テスト(メイン)ネットワークとのインタラクションなどを通じて、ネットワークのTPSや1トランザクションの確認時間などを主観的に感じ、ネットワークのパフォーマンスを直感的に感じます。
zkEVM の互換性: これは最も核心的な技術ポイントであり、判断が最も困難です。たとえ一部のプロジェクトがオープンソースであっても、VM レベルのテクノロジーは最も難しく、より多くの ZK プロトコルが関係します。具体的には、ZKプロトコル、VMのセキュリティ、互換性などに注意する必要があります。
zkEVM ロールアップ アーキテクチャ: zkEVM と比較すると、一般的なプロジェクトはホワイト ペーパーやその他の技術文書でロールアップ アーキテクチャを公開しており、全体的な違いは小さくなりますが、全体的な分散度に注意を払う必要があります。
エコロジカルな運用: プロジェクトのユーザー数、活動の度合い、チェーン上のアプリケーションエコロジーの運用と育成、開発者コミュニティの維持は、プロジェクトの運用をソフトに反映する指標です。
投融資の状況
この記事では、最初の 4 つのポイントの観点からプロジェクトをより検討し、技術レベルから zkEVM Rollup の全体的なアーキテクチャにさらに注意を払います。
スクロール
2021 年に設立された Scroll チームは、イーサリアムをスケーリングするための ZK ロールアップに相当する EVM の開発に取り組んでいます。2 年近くにわたり、Scroll はプライバシーおよびスケーリング探査チームやその他のオープンソース貢献者と協力して、バイトコード互換のロールアップを公開して構築してきました。 .zkEVM。 2 月末に Scroll は、アルファ テスト ネットワークが Goerli 上で稼動していることを発表しました。すべてのユーザーが許可なく技術テストに参加できます。テスト ネットワークの平均ブロック時間は 3 秒です。すでに 2,000 万件以上のトランザクションがあり、 150 万以上のブロック、400 万以上のインタラクティブ アドレス。同時に、スクロールはウェブサイトのエコシステムインターフェースも4月11日にオープンした。
最近の情報公開から判断すると、Scroll は Type 2 EVM 相当の道を常に前進しています。 Scroll では最近、すべての EVM オペコードの互換性開発を完了し、監査中ですが、同時に次の目標は EIP2718 トランザクションとの互換性です。
技術的なアーキテクチャに関しては、Scroll のアーキテクチャは比較的伝統的なものであるため、ここで詳しく紹介します。図 8 に示すように、これは主に 2 つの部分に分かれています: コア部分は zkEVM で、L2 での EVM 実行の正しさを証明するために使用されますが、zkEVM をイーサリアム上の完全な ZK ロールアップにするには、完全な L2 が必要です。 zkEVM アーキテクチャを中心に構築されます。具体的には、既存の Scroll Alpha テストネットは、Scroll Node、Bridge Contract、および Rollup Contract で構成されます。
図 8 スクロール ロールアップの全体的なアーキテクチャ | ソース
a) シーケンサー、いわゆるシーケンサーは、JSON-RPC をユーザーとアプリケーションに開き、トランザクション プール内のトランザクションを読み取り、L2 ブロックとステート ルートを生成します。現段階では、Scroll のシーケンサー ノードは集中化されていますが、将来のアップグレードでは徐々に分散化される予定です。
b) コーディネーターはローラーとスクロール ノード間の通信を担当し、シーケンサーで新しいブロックが生成されると、プルーフ生成のためにプール内のローラーがランダムに選択されます。
c) リレイヤーは、イーサリアムおよびスクロール チェーン上のブリッジ コントラクトとロールアップ コントラクトを監視します。ロールアップ コントラクトは、L1 レベルでの L2 データのデータ可用性を保証し、L2 ブロックが L1 層で復元できることを保証します。L2 層によって送信されたブロックが L1 層のロールアップ コントラクトによって検証されると、ブロックはは L2 層でファイナリティに達します。ブリッジ コントラクトは、チェーンを横断する際のデュアル チェーン コントラクト間の通信、双方向への任意のメッセージの送信、またはチェーンを横断する際の資産のプレッジおよび引き出し操作の完了を担当します。
図 9 2. ローラー ネットワーク | ソース
a) Roller はまず、コーディネーターから受信したアクション トレース (つまり、コントラクトが実行した特定の操作と関係するアドレス) をサーキット ウィットネスに変換します。
b) 各 zkEVM 回線のプルーフを生成し、最終的に複数の ZK 回線からこれらのプルーフを集約します。
スターウェア
StarkWare は、L2 セキュリティ、速度、シームレスなユーザー エクスペリエンスを保証する STARK ベースのスケーリング ソリューションを提供します。複数のデータ可用性モードをサポートします。 StarkNet は L2 ネットワークであり、StarkEx は企業ユーザー向けのロールアップ検証サービスであり、DApps は StarkEx サービス上に構築できます。ただし、現在、特定の DApp 用に作成できるのはカスタマイズされた回路のみであり、一般的な zkEVM ロールアップについては作成できません。 StarkEx は、NFT の鋳造と取引、デリバティブ取引などを含む一連のプラグアンドプレイ サービスをサポートしています。エコロジーの観点から見ると、分散型先物取引プラットフォーム DYDX は StarkWare の忠実なユーザーです。
StarkNet は、厳密に言えば zkVM であり、イーサリアムのオペコード用に ZK 回路を作成する代わりに、より ZK に優しいアセンブリ言語、AIR (Algebraic Intermediate Representation)、および高級言語 Cairo のセットを作成しました。 StarkNet自体はEVMと互換性がありませんが、Kakarotを含む他の方法を通じてイーサリアムと互換性を保つことができます(Kakarotはカイロで書かれたzkEVMであり、バイトコードがEVMと同等のzkEVMです)。私の理解では、StarkNet は比較的集中的なプロジェクトであり、その 1 つはイーサリアムのセキュリティ強化と同期できないため、セキュリティ上の欠点を補い開発と開発をフォローするために研究開発人員を集中させる必要があるということです。 ETHの適応、新しい協定。
StarkNet は証明システムとして STARK を使用していますが、SNARK と比較して、STARK には多くの革新性があります。 SNARK のような「信頼できる設定」に依存する必要はありません。さらに、より単純な暗号の仮定を持ち、楕円曲線、ペアリング、指数知識の仮定の必要性を回避し、純粋にハッシュと情報理論に依存するため、量子攻撃に対する耐性が高くなります。全体として、STARK は SNARK よりも安全です。拡張機能の点では、STARK の限界効果は大きく、プルーフが大きくなるほど総コストは低くなります。
ただし、アーキテクチャの観点から見ると、現在、システム内には StarkWare によって制御される Sequencer (シーケンサー) が 1 つだけあり、Prover (つまり、ZK Proof を生成する証明者) も 1 つだけあり、ZK Proof の証明を生成するだけではありません。 StarkNet だけでなく、単独でも実行されます。StarkEx ロールアップ上の他のすべてのアプリの生成証明。
ZK ロールアップのバリアント: Validium と Volitions
Validium は、ZK Rollup などの計算証明を使用してトランザクション プロセスの整合性を強制する L2 スケーリング ソリューションでもあります。 ZK Rollup とは異なり、Validium はトランザクション データをイーサリアム メインネットに保存しません。オンチェーン データの可用性を犠牲にすることは、スケーラビリティの大幅な向上につながる可能性があるトレードオフであり、最も直接的なポイントは、Validium が 1 秒あたり約 9,000 トランザクションを処理できることです。
しかし、著者の目には、Validium は厳密な ZK ロールアップとは見なされません。このソリューションは Plasma に似ており、L1 層でのデータの可用性を実現しないため、ロールアップとしてカウントできません。 Plasma との違いは、Plasma は L2 層で OP Rollup と同様の「7 日間終了メカニズム」を設定しているのに対し、Validium は L2 層でのデータの検証時間を短縮するために ZK を使用し、データの同期を行わないことです。データをL1に転送します。
StarkWare が開発した Volition を使用すると、ユーザーは ZK Rollup と Validium を簡単に切り替えることができます。たとえば、分散型デリバティブ取引所などの一部のアプリケーションは、Validium により適している可能性がありますが、それでも ZK ロールアップ上のアプリケーションとの相互運用性を必要とする場合、Volition はこの切り替え機能を提供します。
zkSync
StarkNet と同様に、zkSync も常に高級言語に相当する zkVM を選択することにこだわっており、人気とロックアップ量が非常に多く注目を集めています。 zkSync 1.0 (zkSync Lite) は、2020 年 6 月 15 日にイーサリアム メインネット上でリリースされ、約 300 TPS のトランザクション スループットを達成しましたが、EVM とは互換性がありません。そして、zkSync 2.0 (zkSync Era) は 2023 年 3 月 24 日に発売されます。
zkSync Era の目標は、EVM の同等性を追求するのではなく、最適化のためにカスタム VM を使用することでプルーフをより速く生成することです。強力な LLVM コンパイラーを通じて Solidity、Vyper、Yul、Zinc (ロールアップの内部プログラミング言語) をサポートし、ほとんどのスマート コントラクト機能を実装します。自社開発の VM により、zkSync Era はネイティブ アカウント抽象化をサポートしているため、どのアカウントでも任意のトークンを使用して支払いを行うことができます。
さらに、zkPorter プロトコルのアプリケーションと ZK ロールアップおよびフラグメンテーション テクノロジーの組み合わせにより、ネットワーク スループットが飛躍的に向上し、20,000 TPS 以上に達しました (Volitions のデータ可用性スイッチングと同様)。
全体として、zkSync は環境に優しい L2 プロジェクトであり、開発者や投資家の注目を集めています。最近、zkSync でプロジェクトが完全に失敗するケースがいくつかありましたが、開発者が zkVM に相当する高級言語で良好な開発と移行の経験を得ることができるかどうかには依然として疑問があります。現在、開発者レベルでの正確な使用状況レポートが不足しています。開発者が十分な経験を積んでいるなら、EVM に近づけようとする他のタイプの zkVM には何の意味があるのでしょうか?観察するにはまだ時間が必要です。
ポリゴン zkEVM
Polygon は 3 月 27 日に、イーサリアムと同等の仮想マシンでもある zkEVM Rollup メイン ネットワークのベータ版を開始し、すべての zkEVM コードをオープンソース化しました。 zkSync と比較すると、ロックされているポリゴン zkEVM の量ははるかに少ないですが、エコロジーには興味深くダイナミックなプロジェクトも数多くあります。
ロールアップ設計の点で、Polygon は Proof of Efficiency (PoE) モデルを使用してシーケンサーとアグリゲーターに分散化と権限のないバリデーターの課題の一部を解決するよう促すという点でスクロールとは異なります。ソーター・アグリゲーターの許可不要の 2 段階モデルでは、どのソーターもパッケージング料金を得るためにバッチのパッケージングの申請を送信できますが、L1 層のガス料金を支払い、一定量のトークンをデポジットする必要があります。 ; 同時に、集約トークンは、各プルーフ生成で保証される利益を最大化するために独自の目標を設定する必要があります。さらに、Polygon モードと Volition (ZK Rollup および Validium) モードには、ユーザーにさまざまなレベルのサービスを提供するための、深い互換性のあるデータ可用性モデルもあります。
また、Polygon は ZK プロトコルにも多大な労力を注ぎ、その効果も顕著であり、ドキュメントでは主に以下の点を含む技術的利点をまとめています。
互換性の向上: Polygon は、開発者が dApp を移行するコストを削減するために、EVM と同等の zkVM を使用することを常に主張してきました。同時に、Polygon Miden は ZK-STARK プロトコルを採用していますが、依然として Solidity コントラクトの実行をサポートしています。
検証の容易化: ZK ロールアップがしばしば批判される理由は、有効性の証明を生成するには、ベンダーが実行する高価な専用ハードウェアが必要であり、そのコストをユーザーに転嫁するためです。 Polygon ZK Rollup (Polygon Zero と同様) は、証明スキームを簡素化し、下位レベルのデバイスが参加できるようにすることを目的としています。たとえば、消費者向け PC での Plonky2 証明生成テストです。
プルーフ生成と検証プロセスの高速化: Polygon Zero は 45kb のプルーフを 170 ミリ秒で生成できます。
パート 5 理論上のテクノロジーと実際のプロジェクトの間のギャップ
この研究レポートは、主にZKテクノロジーの科学普及とロールアップメカニズムの導入を実施し、データの可用性の重要性を強調し、ZKまたはzkEVMロールアップの問題について一定の区別を行いました。さらに、zkVM と zkEVM の区別に基づいて、3 つのタイプの zkEVM と、さまざまなタイプおよび関連する ZK トラックの違いも詳細に整理します。最後に、いくつかの有利なプロジェクトと組み合わせて、それぞれの技術的枠組みと既存の生態系を見直しました。
ただし、特定のプロジェクトに関しては、同等の高級言語を選択したプロジェクトが市場の主流の地位を占めており、StarkWare のような集中化が本格化した一部の製品も市場の支持を得る可能性があります。理論研究で言及されている最初のタイプの VM には強い制限があるにもかかわらず、限られた市場顧客の下では「汎用性」が負担に感じられ、「効率的な拡張」がどの問題を突破したか区別できず、理論を超えた効果を実感。もちろん、実際には多くの人が技術的な機能に注意を払っていないため、これはあまり Web3 らしくないように見えますが、非常に Web3 らしくも見えます。
ロールアップテクノロジーの目的は、ブロックチェーンの価値をさらに活用することですが、市場で「革新的なコンセプト」になることが緊急に必要であるため、多くの場合、「後戻り」して中央集権に戻るという現象が発生します。これが現在の市場の問題です。
ブロックチェーンの価値は簡単にわかります。永遠に使えるコンピューターを持ちたくない人はいないでしょう。しかし、中心的な問題は、このコンピュータの実行能力が周囲のどのサーバーよりもはるかに低く、たとえ使用価値が投入コストよりもはるかに低い場合でも、「公共製品」として多大なリソース投資が必要になることです。 、まだです 皆さんも参加できますか?
すでに多くの国、社会、さらには個人から製品が提供されているにもかかわらず、どのような状況下で、高い使用コストを無視して「常にオンライン、常に正しい」という結果を追求するのでしょうか?これはブロックチェーン業界が今日考える必要があることだと思います。ロールアップ テクノロジはこの問題を技術的に改善できますが、解決を衝動的な市場に委ねる必要がある問題がまだ数多くあります。