This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
zkSync アーキテクチャと OP-Stack との類似点と相違点の詳細な説明
著者: xpara、Four Pillars、翻訳: Jinse Finance xiaozou
キーポイント:
zkSync の開発会社である Matterlabs は、独自の zkEVM の開発と優れた製品の開発に取り組んでいます。
現在、zkSync 時代は、その優れた指標とプロジェクト全体にわたる開発展開によって証明されるように、成長を示しています。
zkSync アーキテクチャは、zkSync の 3 つの主要な層 (実行層、決済層、データ可用性層) を通じて理解できます。
ZK-Stack (zkSync の基礎となるコードベース) と OP-Stack は同様の哲学を持っている可能性があります。それでも、dapp開発者、コア開発者、事業者の観点から見ると明らかな違いがあります。
1**、zkSync の開発**** 歴史**
1.1 zkSync の簡単な歴史
zkSync の開発は 2019 年に EthCC で始まりました。当時、zkSync はまだ zkSNARK との共同開発と Rollup の展開に専念する小さなチームでした。彼らは 2019 年 1 月に、zkSNARK を使用してイーサリアムでサイドチェーンを運用する概念実証を開始しました。それ以来、彼らは地方分権を中心原則に据えてきました。彼らはすべてのトランザクション データをイーサリアムに保存することに重点を置き、ソーター分散モデルを処理するマルチオペレーター モデルを考案しました。
2020 年 6 月、チームは zkSync v1 メインネットの立ち上げで大きな進歩を遂げました。 zkSync v1 は、zkSync の開発における重要なマイルストーンであり、その元のコンセプトをより大規模に実際に実装することを表します。 1 年後の 2021 年 6 月に、彼らはさらなる進歩を遂げ、Era としても知られる zkSync 2.0 テストネットをリリースしました。
2023 年 3 月までに、zkSync の完全なメインネットが正常にリリースされ、チームにとって大きな成果となりました。この開発は、プラットフォームが高いレベルの成熟度に達し、より広範に採用する準備ができていることを示しています。これは、イーサリアム ロールアップ エコシステムにデプロイされた最初のメインネット zkEVM のリリースです。
現在、チームは zkSync のオープンソース化に取り組んでいます。これにより、ZK スタック内から zk ロールアップ チェーンを個別に展開できるようになり、チームが独自のカスタム ロールアップを起動できるようになります。このエキサイティングな開発に関するさらなる詳細は、間もなく発表される予定です。
*** **** *' *** **
zkSync の開発チームである Matterlabs は、その使命を推進するために多額の資金を調達しました。 2022年11月の最新のシリーズCラウンドでは、資金総額は4億5,800万ドルになりました。これには、複数のラウンドと専用のエコシステムファンドが含まれます。たとえば、別途2億ドルの専用エコシステムファンド、Aが2億ドルのシリーズC、5,000万ドルのシリーズBが含まれます。 a16z が主導し、シリーズ A とシードラウンドで 800 万ドルを獲得しました。
· シード ラウンド: シード ラウンドで、Matterlabs は PlaceholderVC、Hashed、その他の投資家から 200 万ドルの資金を受けました。この初期の財政刺激は、zkSync プロジェクトを開始するための作業に必要な基盤を提供しました。
シリーズ A: シードラウンドに続き、Matterlabs はシリーズ A でさらに 600 万ドルを調達しました。この新たな資本の流入は、研究開発を推進し、zkSync を最終目標に近づける推進力となります。
シリーズ B: Matterlabs は、主に a16z がリードしたシリーズ B ラウンドで 5,000 万ドルを調達することに成功し、勢いを増しています。
· シリーズ C: Matterlabs の C ラウンドの資金調達は 2 億ドルです。
最後に、上記の投資ラウンドに加えて、Matterlabs は 2 億ドルの専用エコシステム ファンドを立ち上げました。この基金は、より広範な zkSync エコシステムの成長と発展を促進することに専念しています。
これらのリソースはすべて、zkSync の使命を推進し、開発のペースを加速し、より広範なエコシステムの成長を促進するために必要な財政的支援を Matterlabs に提供します。全体として、Matterlabs は重要なブロックチェーン プロジェクトに多額の資金を提供しています。
2**、現在の zkSync エコシステムのステータス**
2.1 全体的なステータス
長年にわたり、zkSync は開発を大きく進めてきました。 zkSync v1 (現在は zkSync Lite) は、2020 年 12 月に開発マイルストーンに達し、Total Value Locked (TVL) が 100 万ドルを超えました。それ以来、zkSync エコシステムの TVL は飛躍的に成長しました。現時点で、zkSync の TVL は 6 億 5,000 万ドルを超えており、イーサリアム エコシステムで 3 番目に大きい L2 ロールアップとなっています。
今年の 6 月までに、zkSync にはいくつかの印象的な主要な指標が追加されました。 zkSyncは6月にはArbitrumに若干劣ったものの、TPSでは1位となった。 TVL の成長率が最も速く、Tier 1 の総手数料支払額でトップを走っています。
さらに、独自のウォレットの数も増加しており、ユーザーの採用が増加していることを示しています。同時に、zkSyncにブリッジされるETHの量も増加しています。
2.2 主な項目
2.2.1 シルバー
Argent は、イーサリアムベースの暗号通貨用の非保管型モバイル ウォレットであり、デジタル資産を管理するための安全でユーザー フレンドリーなエクスペリエンスを提供します。
Argent は独自のセキュリティ モード設計を備えており、ユーザーの携帯電話が紛失または盗難された場合でも、ユーザーの資産を保護することもできます。セキュリティ モデルには、生体認証、ソーシャル リカバリ、オンチェーン スマート コントラクト ウォレットなどの機能が含まれています。イーサリアムの創設者であるVゴッド氏も、Argentはマルチシグネチャセキュリティとソーシャルリカバリ機能を備えたウォレットであると述べています。
2.2.2 同期スワップ
SyncSwap は、zkSync 時代で最大の DeFi プロトコルです。これは、AMM 設計におけるさまざまな重要な機能を提供する AMM ベースの DEX です。さまざまなトークンに AMM プールを提供します。重要なプロパティは次のとおりです。
Stableswap: マルチプールにより、SyncSwap は複数の異なるプール モデルを集約し、それぞれが独自の最適なシナリオを持ち、トランザクションを効率化できます。最初に実装されるプールモデルはステーブルプールであり、汎用のクラシックプールと比較して効率的なステーブルコイン取引をサポートするため、シンクスワップは大規模ステーブルコイン市場への参入が可能となります。
· スマートルーター: さまざまな流動性プールとさまざまなプールモデルを集約し、最良の価格を簡単に提供する流動性集約プラットフォームとして機能します。マルチホップとパスの分割を提供します。
動的手数料: SyncSwap は DEX に動的手数料を導入し、ユーザーが市場状況やコミュニティの好みに基づいて取引手数料をカスタマイズできるようにしました。変動手数料、対象手数料、手数料割引、手数料委託を含みます。これらの機能は、ユーザーに柔軟性と適応性を提供し、取引戦略を最適化し、絶えず変化する市場やコミュニティに合わせ続けることができます。
2.2.3 テバエラ
Tevaera のゲーム エコシステムは、冒険とテクノロジーのユニークな融合をゲームの世界にもたらします。 Teva Games は、自然環境を舞台とし、ガーディアンのキャラクターの中心的なストーリーでつながる、さまざまなジャンルのゲームを提供しています。最初のマルチプレイヤー ゲームは Tevaera 2.0 のリリースとともにデビューし、暗号をテーマにしたアップグレードや複数のゲーム モードを含むエキサイティングなゲームプレイを提供します。
Teva Core、Teva Chain、Teva Dex、Teva Market で構成されるオンチェーン ゲーム インフラストラクチャは、エコシステムをさらに強化します。
· Teva Core は、高度なマルチプレイヤー ゲーム フレームワークです。
· Teva Chain は、フルチェーン ゲームへの移行を容易にする第 3 層のゲーム ハイパーチェーンです。
· Teva DEX は、自動ゲーム デックスを通じて持続可能なプレイ エコノミーに貢献します。
· Teva Marketでは、ユニークなNFTキャラクターの鋳造と取引が可能です。
3**、zkSync アーキテクチャ**
zkSync Era は、ゼロ知識 (ZK) ロールアップ構造を使用して、イーサリアムのスケーラビリティ問題を解決するために設計された L2 プロトコルです。 Matter Labs によって開発された、ユーザーのニーズに焦点を当てた zk-rollup プラットフォームです。このプラットフォームは、カスタム仮想マシンのイーサリアム仮想マシン (EVM) と広範な互換性を持つように設計されており、ゼロ知識証明用に最適化されています。
zkSync ロールアップの操作は次の段階に要約できます。
(1) 最初に、トランザクションまたは優先アクションはユーザーによって生成されます。
(2) その後、運営者はユーザーの要求を処理する責任を負います。処理が成功した後、オペレーターはロールアップ操作を作成し、それをブロックに組み込みます。
(3) ブロックが完了したら、オペレーターはそれをブロック送信の形式で zkSync スマート コントラクトに送信します。スマート コントラクトは、特定のロールアップが実行するロジックの一部を検証することは注目に値します。
(4) 最後に、ブロックの証明が zkSync スマート コントラクトに提供され、このステップがブロック検証です。バリデーターコントラクトは、検証が成功したとみなした場合、新しい状態を最終的な状態として検証します。これは、zkSync ロールアップの運用ライフ サイクルです。
このセクションでは、次の 3 つの基本レイヤーに焦点を当てて、zkSync がどのように機能するかを詳しく説明します。
(1) 実行層: 実行層は、ブロックチェーンの状態の変更または遷移につながるプロセスを指します。簡単に言えば、トランザクションを受信して前の状態に適用する場所です。
(2) 決済層: 決済層はプルーフ システムを使用して、実行フェーズ中に行われた変更がシステム全体の状態を正確に反映していることを確認します。
(3) データ可用性層: データ可用性層は、システムの記録を保持する部分です。すべてのトランザクション データ (入力)、システム更新 (出力)、および証明が保存される場所です。その目的は、必要なときにシステムの現在の状態を常に最初から再作成できるようにすることです。
3.1 実行層
3.1.1 仮想マシンレベルの実行層
これは、type4 zkEVM 上で実行されます。つまり、高級言語 (Solidity、Vyper など) で書かれたスマート コントラクト コードを受け取り、それを zk-SNARK フレンドリーな言語にコンパイルします。
さらに、zkSync Era のユニークな機能は、LLVM ベースのコンパイラーを使用していることであり、最終的には開発者が C++、Rust、その他の一般的な言語でスマート コントラクトを作成できるようになります。
LLVM フレームワークは、スマート コントラクト言語ツールチェーンを構築するためのコンパイラーです。その高レベルの中間表現 (IR) により、開発者は広範な LLVM エコシステムを同時に利用しながら、効率的な言語固有の機能を設計、展開、改善することができます。
確立されたツールチェーンでは、LLVM は LLVM IR を処理し、完全な最適化を導入し、最後に最適化された IR を zkEVM バックエンド コード ジェネレーターに渡します。
3.1.2 実行層の概要
zkSync では、Core App (コア アプリケーション) が実行層の管理において重要な役割を果たします。
その主な役割は、L1 スマート コントラクトの預金または優先操作を追跡することです。 Ethereum ネットワークから開始されたすべての変更は監視され、zkSync レイヤ 2 (L2) 環境に反映される必要があるため、このメカニズムは zkSync と Ethereum ネットワークのシームレスな統合を確保するために重要です。
コア アプリは、受信トランザクションを収集するメモリ プール (mempool) の管理も担当します。このトランザクションのコレクションは、処理されるキューに置かれ、トランザクションが確認されてブロックに追加される前の待機領域として効果的に機能します。
コア アプリの役割には、メモリプールからトランザクションを取得し、それらを仮想マシン (VM) で実行し、必要に応じて状態を調整することも含まれます。基本的にはトランザクションを取得して処理し、その結果をシステムに反映するという流れになります。
トランザクションの実行後、コア アプリはチェーン ブロックを生成します。これらのブロックは、実行および検証されたトランザクションのバンドルで構成されます。次に、コア アプリはこれらのブロックと証明を L1 スマート コントラクトに送信します。このプロセスにより、L1 Ethereum チェーンの状態が L2 zkSync チェーンと確実に同期されます。
Ethereum ベースのアプリケーション間のシームレスな対話をサポートするために、Ethereum 互換の Web3 API を提供します。これにより、イーサリアムエコシステムに精通した開発者やユーザーにとって、zkSync はよりアクセスしやすく、ユーザーフレンドリーになります。
3.2 居住層
決済層は、zkSync 状態遷移の整合性を確保する責任があります。この検証プロセスは、イーサリアム上にデプロイされたスマート コントラクトで実行されます。このプロセスには 2 つの重要な契約があります。
(1) Executor コントラクト: このコントラクトは、バリデータからブロック データを取得し、zkSync の状態遷移の zk 証明を取得します。
(2) 検証者契約: これは、システムが執行者契約によって提供されるブロック データと zk プルーフを検証できるようにする論理契約です。
3.2.1 執行者契約
proveBlocks 関数は、zkSync システムの整合性とセキュリティを確保する上で中心的な役割を果たします。その主な役割は、送信されたブロックの zk-SNARK 証明を検証することです。その仕組みを簡単に説明します。
まず、proveBlocks は、ブロックが正しい順序で検証されていることを確認します。これは、受信した以前のブロックが、ブロックチェーン シーケンス内で検証する必要がある次のブロックであるかどうかをチェックすることによって行われます。
· 次に、関数は送信された各ブロックの反復を開始します。これらのブロックのハッシュが、ブロックチェーン内の特定の場所で期待される値と一致するかどうかをチェックします。これにより、検証中のブロックが実際に正しいブロックであることが保証されます。
次に関数は、proofPublicInput 配列の構築を開始します。これは、zk-SNARK 証明検証プロセスのパブリック入力値になります。コミットされた各ブロックのブロック番号がこの配列に含まれます。
次に、proofPublicInput 配列といくつかの保存されたパラメーターを使用して、関数は zk-SNARK 証明をチェックします。これはパズルを解くのと似ており、すべてのピースが完璧にフィットする必要があります。
· 証明が検証された場合、関数はブロックが検証されたことを反映するようにシステムを更新します。チェックリストの項目の横にチェックを入れるようなものです。
最後に、関数は検証されたブロックごとに、BlockVerification と呼ばれる特別なイベントをトリガーします。ブロック番号、ハッシュ、コミットメントが検証されたという通知を送信するようなものです。
一言で言えば、proveBlocks 関数は警戒心のある門番のように機能し、ブロックが正しい順序で検証されることを保証し、zk-SNARK 証明が正確であることを保証し、それに応じてシステム状態を更新します。その目的は、無効なブロックの実行を防止し、zkSync システム全体のセキュリティと整合性を確保することです。
3.2.2****検証者契約
検証者コントラクトは、上記の検証ロジックを実装する場所です。 zk-SNARK プルーフをチェックしてコミットされたデータを検証することにより、zkSync のガードとして機能します。バリデーターコントラクトは、zkSync に送信されたデータが有効かどうかを検証するために使用されます。
検証者コントラクトには、zk-SNARK 証明を検証するために使用される「検証キー」が保存されます。 zkSync が更新をコミットしたいときは常に、zk-SNARK プルーフを生成し、それをエグゼキュータ コントラクト経由でバリデータ コントラクトに送信します。
次に、バリデーターコントラクトは検証キーを使用して証明が有効であることを確認します。機能する場合は、実際のデータを見なくても、更新が正当であることがわかります。無効な場合、アップデートは拒否されます。
これらの証明を検証することにより、バリデーターコントラクトは、正しく有効なデータのみが zkSync に受信されることを保証します。これはセキュリティにとって重要であり、無効な状態の更新を防止します。
3.3 データ可用性レイヤー
システムのデータ可用性層はアーカイブとして機能し、すべてのトランザクション情報 (入力)、システム変更 (出力)、および証明を保存します。 zkSync は、スマート コントラクト インターフェイスを使用してデータ可用性 (DA) ポリシーを設定します。 zkSync は、コストを削減しプライバシーを保護するために、データの可用性に関する複数のオプションを提供する予定です。
3.3.1 zkポーター
zkSync は、「zkPorter」と呼ばれるオフチェーン データ可用性ソリューションを開始しました。このツールは、zkSync のロールアップ システムと統合するように設計されており、ロールアップと zkPorter アカウント間のやり取りを容易にします。 zkPorter 内のデータのセキュリティを確保するために、「ガーディアン」、つまり zkSync トークンをステークし、ブロックに署名することでデータの可用性を検証する個人が有効になります。
zkPorter は内部コンセンサス プロトコルとして動作し、大規模なトランザクション スループットを促進します。比較すると、zkSync 2.0 の標準 ZK ロールアップ モードは、1 秒あたり約 1,000 ~ 5,000 のトランザクション (TPS) を処理できます。 zkPorter は、トランザクションの複雑さに応じて、20,000 ~ 100,000 TPS を管理できます。
zkPorter を使用する場合のトレードオフは、ユーザーが zkSync の内部合意メカニズムを信頼する必要があることです。これにより、分散性の低いロールアップ ソリューションが実現します。ユーザーが考慮するのは、zkPorter (コストは低いが安全性は低い) か ZK-rollup モード (最も安全性が高い) のどちらかを選択することです。
さらに、zkSync 2.0 は相互運用性を促進し、ZK-rollup アカウントと zkPorter アカウント間のシームレスな交換を可能にします。 zkPorter と Starkware Volition の基本的な違いは、データの可用性の決定です。zkPorter では、この決定はアカウント ベースで行われますが、Volition では、この決定は行われたアカウント内の個々のトランザクション ベースで行われます。
4**、ZKスタックとOPスタック**
最近、Matter Labs は ZK-Stack の今後のリリースを発表しました。 ZK-Stackは、ロールアップをカスタマイズして操作するためのOP-Stackと同様のソフトウェアを提供します。
OP-Stack と ZK-Stack の共通機能は次のとおりです。
無料およびオープンソース: どちらもオープンソース ライセンスに基づいて開発されており、無料アクセスが保証されています。これらは、開発者がソフトウェア上に構築することで貢献することを奨励します。
相互運用性: ZK Stack の Hyperchain ハイパーチェーン コンセプトは、低レイテンシーと共有流動性を備えたトラストレス ネットワークに簡単に接続できます。さらに、OP-Stack は、すべての OP-Stack ベースのチェーンを接続するスーパーチェーンのコンセプトを構想しています。
· 分散化: より分散化されたネットワークとコミュニティを実現するために、OP-Stack と ZK-Stack の両方が最近のロードマップで分散化計画を明確に提案しています。この動きにより、ネットワークの復元力が高まるだけでなく、電力と制御のより公平な分配も保証されます。
概念的な観点からは類似点がありますが、技術的およびビジネスの観点からは違いがあります。このセクションでは、次の視点の違いを詳しく説明します。
(1) Dapp開発者
(2) コア開発者
(3) 事業内容
4.1****Dapp 開発者の視点
4.1.1 EVM の等価性
OP-Stack の EVM 導入: OP-Stack の EVM は、イーサリアムの geth にマイナーな変更を加えることで実装され、システムは EVM とほぼ完全に互換性があります。一方、ZK-Stack には EVM オペコードにいくつかの変更が組み込まれており、一部のオペコードはまだサポートされていません。これらの変更にもかかわらず、影響は最小限に抑えられており、プロジェクトは現実世界で厳密にテストおよび検証されています。
ただし、ZK-Stack の非 EVM 同等性に起因するインシデントが発生しています。注目すべき例は、コントラクトが転送機能を使用しているため、スマート コントラクトにトラップされた 921 ETH です。この問題は効果的に解決されました。
4.1.2 ネイティブアカウントの抽象化
ERC-4337 とは異なり、ZK-Stack のアーキテクチャにはネイティブ アカウント抽象化 (AA) 機能が含まれています。 ERC-4337 のようなシステムでは、ネットワーク内でアカウントの抽象化を可能にするために、UserOps の別個のメモリプールが必要です。
4.1.3 プライバシー サポート
validum を使用することで、機密性の高いデータベースにデータを保存することで、オペレーターがブロック データの機密性を保つことを前提としてプライバシーが確保されます。この機能は企業ユーザーにとって特に有益です。
4.2 コア開発者の視点
4.2.1 インフラストラクチャの操作: OP-Stack はより直感的です
操作: zkSync と OP-Stack はどちらもシーケンサーを使用してトランザクションを調整し、データを Ethereum に保存します。ただし、zkSync が機能するには証明者が必要です。この証明者アプリケーションは、サーバーで生成されたブロックと関連するメタデータを処理して、有効性のゼロ知識証明を構築します。対照的に、OP-Stack は、証明チャレンジ ゲームに参加するために別個の複雑なインフラストラクチャを必要としません。
4.2.2 VM の代替: ZK-Stack はさまざまなオプションを提供する可能性が高くなります
zkSync は、zkEVM バイトコードに変換される LLVM コンパイラーで実行され、C++ などの他の言語を使用して実行環境を作成できる可能性を示しています。
4.2.3 データの可用性: ZK-Stack は複数のオプションを提供します
OP-Stack のデータ可用性レイヤーは主に Ethereum に依存しており、すべてのトランザクション情報と出力状態ルートが保存されます。これにより、OP-Stack チェーンの運用コストが高くなります。ただし、トランザクション データを Celestia DA に保存することでこのコストを相殺する試みが行われてきました。
ZK-Stack は、zkPorter のようなデータ可用性ソリューションに代わるソリューションの研究と開発を熱心に行っています。このアプローチにより、ユーザーはセキュリティの強化またはコストの削減の好みに基づいて、独自のデータの可用性を決定できます。さらに、データ プライバシーを維持したい企業は、侵害されないデータ ストレージをサポートする Validium のようなソリューションを採用できます。
4.3 ビジネスの観点: コストと利益
現在、特に ZK-Stack や OP-Stack のようなオープンソース ソフトウェアが公的に開発および保守されているため、独立したロールアップを起動することは実行可能な選択肢です。さらに、Caldera や Conduit などの Rollup-as-a-Service (RaaS) プラットフォームにより、プロセスが大幅に簡素化されます。
開発者の観点を超えて、ロールアップ操作に関連する潜在的なコストとメリットを現実的に評価することが重要です。ただし、これらの金額の予測は、いくつかの変数により複雑になる場合があります。
最近の Optimism の Bedrock アップグレードに見られるように、コード ベースに対する大幅な改善が定期的に行われているため、ロールアップの実行に関連するコストは急速に減少しています。この力関係により、コストと利益を正確に見積もることが困難になります。また、通常は単一のエンティティがロールアップ全体を管理するため、サーバーとインフラストラクチャに関連する具体的なコストは広く知られていません。最後に、コストは市場センチメントに基づいて変動する可能性があるため、基礎となるトークン (zkSync やオプティミズムの ETH など) の価格の変動により、さらなる不確実性が加わります。
主な費用とメリットは次のとおりです。
4.3.1 コスト
· L1 リリース コスト: トランザクション、状態ルート、証明データを保存するコスト。通常、オプティミスティック ロールアップは、検証のために生のトランザクション データを保存する必要があるため、発行コストが高くなります。一部のロールアップでは、さらなるコストを回避するために、完全な状態データの代わりに状態の差異を公開します。
・L2ソーターのランニングコスト。
証明コスト: zk の場合、証明の生成と検証のコストであり、不正証明の場合、証明チャレンジのコストです。
4.3.2 利点
・L2トランザクション手数料
おそらく MEV ですが、集中化の問題を避けるために、ほとんどの既知の L2 ソーターは MEV を抽出しません。
5。結論
Matterlabs は zkEVM の開発に取り組んでおり、大幅な進歩を遂げています。 EVM との完全な互換性 (Type4 EVM) はありませんが、LLVM の活用には大きな可能性があるようです。 Matterlabs の計画の次の段階は、開発者がその強固なコードベースを活用して独自のロールアップを作成できるようにするコードベースである ZK-Stack をリリースすることです。このツールは、特にプライバシー保護とスケーラビリティの点で、OP-Stack に比べて明らかな利点を約束します。
ただし、どちらのプロジェクトもまだ初期段階にあり、多くの作業を行う必要があります。導入に関連するコストと利益の構造を徹底的に評価することが重要です。さらに、重要な課題は、これら 2 つのコードベースを中心とした開発者エコシステムの育成にあります。プラットフォームとその関連テクノロジーの持続可能な開発を確実にするためには、詳細な分析と戦略的計画が不可欠です。
私は両方のプロジェクトが成功し、オープンソースの構築と共有ロードマップが Web3 分野で標準になることを願っています。