ZKPとZK-Rollupsがスケーラビリティの問題を解決するのにどのように役立つか

中級4/8/2024, 3:54:44 AM
この記事では、Zero-knowledge proof技術と、人気のあるブロックチェーンであるzkSyncについて説明し、zkSyncでのトランザクションの動作方法やEthereum Virtual Machine(EVM)との主な違いについて説明します。

*オリジナルタイトル『ZKPとZK-Rollupsがスケーラビリティ問題の解決にどのように役立つか:zkSyncブロックチェーンのレビュー』を転送します

この記事では、ゼロ知識証明技術とは何かを説明し、人気のあるブロックチェーンであるzkSyncについて話します:zkSyncでのトランザクションの動作方法とイーサリアム仮想マシン(EVM)との主な違い。また、有望な将来があると考えているこのブロックチェーンの利点と欠点についても議論します。

ZkSyncは、Ethereumのための第2レベルのブロックチェーン(Layer 2 — L2)であり、Ethereumネットワーク上の高い手数料と限られたスループット(Transactions Per Second — TPS)の問題に対処するために設計されています。このプラットフォームは、ゼロ知識証明(ZKP)を使用して複数の取引をメインネットワーク(L1)からバッチ処理するZK-Rollup技術を採用しています。取引の正当性の暗号証明とその圧縮データのみがL1に送信され、効率が向上しコストが削減されています。

開発されましたマターラボ, zkSyncは、コミュニティによって管理される完全なオープンソース(100%オープンソース)製品として発表されました。によると、暗号通貨ランキング、プロジェクトはすでに注目を集め、4億5800万ドルの投資を集めています。長期的には、Matter Labsは包括的なエコシステムを構築することを目指しています。現在、2つのブロックチェーンが稼働しています:ETHおよびERC20トークンで支払いを処理するzkSync Liteと、完全なスマートコントラクトをサポートするzkSync Era。将来の計画には、高いセキュリティを確保するハイパーチェーンシステム(L3)の立ち上げが含まれます。Matter Labsの目標は、次の10億人のブロックチェーンユーザーを引き付けるレベルまで技術をスケーリングすることです。

背景

ZkSyncは、拡張性の問題を解決する新しいアプローチを表していますブロックチェーンの三位一体. このプロジェクトは、他のLayer 2(L2)ソリューションと同様に、ブロックチェーンネットワークにおいてセキュリティ、スケーラビリティ、分散化のバランスを見つけようとしています。

  1. スケーラビリティ:システムがパフォーマンスとセキュリティを失うことなく、増加する取引量やデータを効率的に処理する能力。
  2. ブロックチェーンセキュリティ:データの信頼性と保護を不正アクセス、改ざん、または変更から確保すること。
  3. 中央集権化:中央集権的な統制構造の不在。分散型システムでは、管理および意思決定はすべてのネットワーク参加者に民主的に分散されています。

Ethereumはセキュリティと分散化に焦点を当て、世界中に分散されたノードを持つピア・ツー・ピア・プロトコルとしての地位を強調しています。ノードの分布の最新情報については、参照してくださいNodeWatch.

ネットワーク内の分散を維持するためには、各ノードがすべての取引を検証する必要があります。これにより、ネットワークの速度が遅くなります。さらに、ネットワーク負荷が高いと、取引が非常に高額になり、処理にかなりの時間がかかる場合があります。

レイヤー2

イーサリアムネットワークのTPSを増やす主要な課題は、ノードへの負荷を増やさずに導入することでした。シャーディングPoS(ステークの証明)コンセンサスへの移行と組み合わせています。これには、バリデータをサブグループに分割してネットワークの別々のセグメントを処理し、全体の負荷を減らし、スループットを増やすというプロセスが含まれています。しかし、コミュニティは、迅速な開発を考慮して、Layer 2のソリューションに焦点を当てています。

EthereumにShardingを実装するというアイデアに加えて、他のスケーラビリティソリューションが登場しています。

  • 支払いとステートチャネル
  • サイドチェーン
  • プラズマ
  • オプティミスティックロールアップ

ゼロ知識証明(ZKP)に基づく技術、および次のものを含む

  • バリディウム
  • zkRollup
  • 意志

詳細な情報はこちらで見つけることができます ここ.

シャーディングはまだ開発中ですが、Dencunハードフォークは2024年初頭に予定されており、実装される予定です プロトダンクシャーディングこの中間ステップは、レイヤー2のソリューションの改善を目指しており、L1上でのデータストレージをより経済的にします。したがって、Proto-Dankshardingは、L2上でのトランザクションコストを削減することを約束し、完全なShardingソリューションに向けた一歩となります。

一見すると、L2ブロックチェーンは類似しているように思えるかもしれません。彼らの主な任務は、L1の外での取引の数を増やし、セキュリティ保証者の役割をL1に委任することです。このようなブロックチェーンの開発者は、しばしば自分たちのソリューションが最も速く、信頼性が高く、最もシンプルであると主張しています。実際には、スケーリングへの各アプローチにはそれぞれニュアンスがあり、取引速度、セキュリティレベル、または分散度合いに関する妥協が避けられません。完全に中央集権化されたソリューションも一般的です。これらすべての側面は、ブロックチェーントリレンマの基本的な問題に私たちを戻します。

In この記事, レイヤー2ソリューションで使用されるプロトコルを評価するための主要な基準が提案されています。それらには、次のものが含まれます:

  • セキュリティ、
  • パフォーマンスと経済効率,
  • 使いやすさ
  • スマートコントラクトのサポート、EVMバイトコードの互換性、およびプライバシーオプションなどの追加の側面。

重要です!この記事はMatter Labsによって書かれており、私の意見では、zkRollupを有利にするためにいくつかのことが「引き延ばされて」いると思います(利益相反が明白なので)、しかし、それはそんなに重要ではありません、重要なことはLayer-2プロトコルの間にどんな違いがあるかを見ることです。

以下では、表を提供し、その内容を簡単に説明します。

セキュリティ

  • Layer-2の「生存性」または「生存可能性」の仮定。Layer-2の機能を維持するために、Layer-1レベルで常にいくつかの参加者がオンチェーンにいると仮定されています。これらは、L1で一定額の資金を賭けるバリデータ(表では「Bonded」としてマークされています)または報酬のためにプロトコルのセキュリティを確保する第三者です。表に示されているように、ZKP(ValidiumとzkRollupを使用するソリューション)はこの必要性を持っていません。
  • マス・エグジット・プロブレム。セキュリティ上の理由から、L2からL1への全ユーザーによる資金引き出しを開始する必要がある場合に発生する問題。表でわかるように、この問題はプラズマプロトコルにのみ存在し、詳細はこちらで読むことができます。ここ.
  • カストディアンシップ。L2の検証者が一時的にユーザーの資金をブロックしたり没収できるかどうかの問題。
  • 経済的脆弱性。L2のバリデーターへの様々な攻撃、L1マイナーへの賄賂、"シャドウ" DAOの作成、および他の経済的動機に基づく攻撃を含みます。
  • 暗号化。標準と新しい暗号プリミティブとの違い。標準のものはより研究されており、潜在的に脆弱ですが、SNARKやSTARKなどの新しいものはより信頼性が高く、開発者に追加の知識と監査が必要です。

パフォーマンスと経済

パフォーマンスに関しては、わかりやすいです。TPS(秒間取引数)はネットワークのスループットを示し、スケーリングの文脈では、最も重要なパラメータです。

経済的側面:

  • キャピタル効率:この側面は特に支払いチャネルにとって重要です。チャネル内の操作の平均ボリュームに等しい資金を凍結する必要があり、資本投資の観点から効率が低くなります。
  • L1 Transaction for Creating an L2 Account. Also a drawback for payment channels, as in all other solutions an account created in L1 works in L2 by default.
  • トランザクションコスト:TPSと共に、これはスケーラビリティの最も重要な要因の1つであり、ソリューションの経済的魅力を決定するものです。

使いやすさ

  • L2からL1への出金時間:この期間は数分から数週間にわたる場合があります。楽観的ロールアップとプラズマは、資金の引き出しにはより多くの時間が必要であるため、特に不便です。
  • トランザクションの主観的最終性までの時間:外部の観察者の視点から、トランザクションがL1上でいかに速やかに不可逆になるかを決定します。例えば、楽観的ロールアップでは、L1上での最終性を達成するにはイーサリアムでの承認が1回だけ必要ですが、完全なトランザクションの最終性を確定するには約1週間かかります。
  • クライアントコードによる主観的確定性の検証:軽量クライアント(ブラウザ/モバイルウォレット)によって主観的確定性の時間を確認できるかどうかを決定します。楽観的ロールアップの例を続けると、トランザクションの確定性を確認するには、ユーザーは過去1週間の状態ロールアップ全体をダウンロードして検証する必要があります。
  • 即時トランザクション確認。プロトコルは完全な保証で即時トランザクション確認を提供できますか?それともL2コンセンサスレベルでのみ保証されますか。
  • インスタント可視確定性:ほとんどのL2プロトコルの上に実装でき、トランザクションはユーザーインターフェイスで即座に確認されます。 他のプロトコルでは、これらのトランザクションはL1で確認される前の一定時間内にまだ逆転させることができますが、支払いチャネル(ステートチャネル)だけがこれらの確認に対する完全なセキュリティ保証を提供します。

その他の側面

  • スマートコントラクト:L2ソリューションが完全にプログラム可能なスマートコントラクトをサポートしているか、それとも予測を通じた機能の限られたサブセットのみをサポートしているかを検討します。
  • EVMバイトコードとの互換性:既存のEthereum EVMバイトコードスマートコントラクトを大幅に変更せずにL2に移行する可能性を評価します。
  • プライバシーサポート内蔵:特にL2ソリューションにおけるプライバシー保護の効率性、機密取引の可用性およびコスト効果を考慮しています。

以下は、主要なZKPベースのソリューションの比較表です:

ゼロ知識証明(ZKP)の詳細な理解については、を参照することをお勧めしますこの記事私たちの中でブロックチェーン-ウィキ、開発者たちによって作られ、証明と詳細への深い探求を愛する開発者向けのもの。

zkSyncにおけるトランザクションライフサイクル

ZK-Rollupsの動作は、次のように高レベルで表現することができます:

  1. ロールアップ形成:取引がロールアップにパックされます。
  2. ZKPの作成:ゼロ知識証明が形成されます。
  3. Ethereumでの検証:検証プルーフがEthereumスマートコントラクトに送信されます。

zkSyncのアーキテクチャの文脈において、プロセスは次のように見えます:

  1. 内部ブロックのコレクション:zkSyncのバリデータは、数秒ごとにトランザクションから内部ブロックを収集します。
  2. ブロックパッケージの形成:30〜90秒ごとに、内部ブロックからブロックのパッケージが作成されます。
  3. ブロックチェーンの状態コミットメント:検証者はブロックチェーンの現在の状態を記録し、修正されたデータを可能な回復のためのcalldataとしてL1に送信します。
  4. SNARKの計算と提出:バリデータはパッケージのSNARK(ZKP)を計算し、それをイーサリアムのスマートコントラクトに検証のために送信します。検証後、新しいネットワーク状態が最終的になります。


ZK-Rollupsの検証者は、トランザクションをブロックにパッキングし、それらのためにZero-Knowledge Proofsを生成する重要な役割を果たします。システムの特徴は、検証者が物理的に資金を盗むことができないことです。彼らが引き起こすことができる最も重大な潜在的な害は、ネットワークの一時停止です。

注意:zkSync Eraでは、検証者の役割がオペレーターによって実行されます。

zkSyncの開発者は、彼らのアーキテクチャの以下の保証を強調しています:

  1. 資金のセキュリティ: オペレーターは決してネットワークの状態を損なったり、資金を盗んだりすることはできません。これはサイドチェーンと比較しての利点です。
  2. 資金回収の可能性:オペレーターが業務を停止した場合でも、ユーザーは常に資金を引き出すことができます。これはPlasmaシステムとは異なり、データの利用可能性のおかげで可能です。
  3. 監視からの独立:ZKPのおかげで、ユーザーまたは信頼された第三者は、詐欺を防ぐために継続的にRollupブロックを監視する必要がなくなりました。これは、詐欺証明に基づくシステムと比較して、支払いチャネルや楽観的なRollupsなどのシステムに対する利点です。

zkSync時代の取引は、通常のL1のRollup確認とは異なるいくつかの重要な状態を経ます。

  • 保留中: 取引はオペレーターに受信されましたが、まだ処理されていません。
  • 処理済み: トランザクションはオペレーターによって処理され、次のブロックに含まれる準備が整っています。
  • Committed: トランザクションデータはEthereumに公開され、データの利用が保証されますが、正確な実行は確認されません。
  • 実行されました:取引の妥当性証明(SNARK)がイーサリアムスマートコントラクトによって検証され、取引が最終的になる最終段階。

ブロック番号に加えて、zkSyncの取引にはパッケージ番号も表示されます。元々、block.number、block.timestamp、blockhashなどのパラメータはL1から取得されていました。しかし、その後、更新, これらの値は今後L2から取得されるようになります。 それにもかかわらず、開発者はL1からデータにアクセスする方法を提供する予定です。

zkEVMとEVMの違い

ZKPベースのL2ソリューションとEthereumの互換性は複雑な課題です。これは、Ethereumが元々ZKPとの最適な相互作用のために設計されていなかったためです。その結果、このようなシステムを開発する際には、一方でパフォーマンスとスケーラビリティの潜在性との間で、他方でEthereumとEVMとの互換性との間で妥協点を見つける必要があります。Vitalik Buterinの記事「異なるタイプのZK-EVM」これらの側面について詳しく議論し、異なる互換性のレベルを強調します。

zkSyncは、最も挑戦的な道を選択し、高いパフォーマンスを目指していますが、EthereumとEVMの両方との互換性が限られています。zkEVMと互換性のあるバイトコードを取得するには、LLVMプロジェクトは、独自のコンパイラと最適化ツールスイートと共に使用されます。SolidityとYulの場合、標準のsolcコンパイラの後、コードはzkEVMバイトコードになる前に、さらにいくつかの段階を経ます。以下の図は、このプロセスのすべての段階を示しています(詳細は下記に記載)ここ:)

重要です!zksolcでの最適化がサポートされています。

EVMに特化したバイトコードはzkEVMと互換性がありません。これは、EthereumとzkSyncの同一のスマートコントラクトのアドレスが異なることを意味します。しかし、開発者は将来この問題を解決する予定です。

このアプローチの重要な利点の1つは、特定のプログラミング言語からの独立性です。将来的には、zkSyncの開発者はRustやC++などの言語のサポートを追加することを約束しています。高水準コンパイラ(たとえばsolc)とプラットフォームコンパイラ(たとえばzksolc)の間の更新の遅れや革新の統合が最小限であることが重要です。当初、独自のプログラミング言語であるZincを作成するアイデアがありましたが、現時点では、チームはより人気のあるプログラミング言語のサポートに焦点を当てています。

SolidityおよびVyperスマートコントラクトの既存の開発およびデバッグツールとの互換性に関するzkコンパイラの問題は重要です。Remix、Hardhat、Foundryなどの現在の開発プラットフォームは、zkコンパイラをそのままサポートしていないため、それらとの作業に問題が生じています。ソリューションプロジェクトの移行プロセスと新技術への適応を容易に約束する開発が進行中です。

Vitalik Buterinの記事には、EthereumがプロトコルレベルでZKPとの互換性を改善しようとする可能性が高いと述べられています。同様に、ZKPを使用したL2ソリューションもEthereumとのより良い互換性のために適応します。その結果、これらのシステム間の違いは将来ほとんど気づかれなくなり、開発者にとってよりスムーズな統合と移行が確保されるでしょう。

zkEVMの特徴

重要です!プロトコルは積極的に開発されています。常に最新バージョンのドキュメントを参照してください!

zkEVMはEVMと異なり、開発者がこれらの違いを「裏側で」隠そうとしているにも関わらず、スマートコントラクトを書く際に考慮すべき重要な機能があります。

  1. EVMとの違い: zkEVM用に書かれたSolidityコードの動作は、block.timestampやblock.numberなどの側面で特に異なる場合があります。定期的に確認することが重要です。ドキュメンテーション変更のため。
  2. システム契約: zkSyncでは、ContractDeployerなどのさまざまな機能のためのシステムスマート契約やETHの操作に使用されるMsgValueSimulatorなどのシステムスマート契約があります。システムスマート契約に関する詳細はこちらで確認できます。ドキュメンテーション.
  3. デプロイメント用のプロキシパターン:デプロイメント後の最初の数ヶ月にプロキシパターンを使用して、潜在的なコンパイラエラーを防ぐことをお勧めします。
  4. ガス計算:zkEVMのガス計算モデルは、イーサリアムとは異なり、異なるオペコードのセットとL1に依存するガス価格を含んでいます。詳細はこちらにありますここ.
  5. ローカルテスト:Hardhat NodeやAnvilなどの標準ツールは、zkEVMのローカルテストには適していません。代わりに、特別なオプションフォークモードテストを含む、使用されています。
  6. 署名の検証: アカウントの抽象化の内蔵サポートを使用することをお勧めします。ecrecoverの代わりに
  7. ガス関連のエラーのトラッキング:zkSyncでは、DefaultAccountシステムのスマートコントラクト内での実行の特定のため、ガス不足に関連するエラーをトラッキングすることは不可能です。

zkEVMを使用するための深い理解を得るには、セクションを含むドキュメントを学習することをお勧めします。「セキュリティとベストプラクティス」.

アカウント抽象化

zkSyncのアカウント抽象化は、いくつかの重要な利点を提供しますERC-4337:

  1. 実装レベル:zkSyncでは、アカウントの抽象化はプロトコルレベルに組み込まれており、External Owned Accounts(EOA)を含むすべてのアカウントが、機能的にスマートコントラクトと同様になっています。
  2. トランザクション処理:ERC-4337では、バンドラー用の別々のmempoolを使用しており、2つの異なるトランザクションストリームを作成していますが、zkSync Eraでは単一のmempoolを使用しています。これは、EOAおよびスマートコントラクトから発信されるトランザクションが1つのストリームで処理され、よりスムーズな統合と処理が確保されます。
  3. Support for Paymasters: zkSyncはすべての種類のアカウントでペイマスターをサポートし、任意のアカウントにおいてERC20トークンでガス手数料を設定できます。

zkSyncインフラストラクチャ

zkSyncエラのインフラは急速に勢いを増しており、すでに数十のプロトコルが含まれています: ブリッジ、DeFi、インフラストラクチャプロトコルなど。(現在のリストは閲覧できますここ

もう一つの利点は、MetaMaskやTrustWalletなどのEthereumウォレットとの互換性です。

ハイパーチェーン

zkSyncプロトコルは、zkSync Liteのローンチとともに開発が始まり、イーサとERC-20トークンの送金のみを対象としており、完全なプロトコルの展開機能を持っていませんでした。この段階は開発における重要なステップでしたが、zkSync Eraの登場の前触れに過ぎず、これはイーサリアム向けの完全なL2ソリューションであり、理論的には他のL1ブロックチェーンにも適応できます。ただし、zkSyncの野心はそこに止まらず、開発計画にはいわゆるハイパーチェーンのローンチも含まれています。

ハイパーチェーン、または「フラクタルスケーリング」は、それぞれが独自のブロックと証明を形成するZKPネットワークで構成されています。これらの証明は、それぞれが完全なシステムのコピーであり、「フラクタル」と見なすことができるメインのL1ネットワークに集められ、投稿されます。

ハイパーチェーンのユニークな点は、独立して作成および展開できることです。一貫性と互換性を維持するために、各ハイパーチェーンは共通のzkEVMエンジンを使用する必要があります。これは、ZKスタックの一部であり(zkSync Eraが最初のハイパーチェーンとして機能しています)、ハイパーチェーンにL1からセキュリティを継承させ、信頼性を確保し、追加の信頼とセキュリティ対策の必要性をなくすことを可能にします。

ハイパーチェーンは、ブロックチェーンネットワークのスケーリングを革新的な方法で行い、メインネットワークへの負荷を軽減し、取引処理速度を向上させます。この手法の主要な側面には、次の点が含まれます:

  • プロフェッショナルトランスファービトウィーンハイパーチェーン:ハイパーチェーンはブロックの証明をお互いに転送し、取引がメインのL1ネットワークに到達する前に移動しなければならない距離を増やします。これにより負荷が分散され、ボトルネック問題が回避されます。

  • ユーザー向けの透明性:ユーザーは違いに気づかないでしょう—彼らの取引はハイパーチェーンで処理され、メインネットワークに到達する前に複数のレベルを経ることができ、処理に非同期性を生み出します。
  • 既存のソリューションに対する利点:現行のL2ソリューションとは異なり、速度は速いが取引量に制限があり、セキュリティを犠牲にすることがあるが、ハイパーチェーンははるかに優れたスケーラビリティを約束しています。
  • カスタムブロックチェーンの柔軟性: Hyperchainsを使用すると、さまざまなセキュリティレベルとプライバシーレベルでカスタムブロックチェーンとアカウントを作成できます。セキュリティレベルが低い場合でも、最悪の場合は資金の一時凍結のみが予想されます。

これについての詳細はこちらで見つけることができますここ

zkSyncの利点と欠点

プロ

  1. セキュリティ:L1レベルに近いセキュリティと将来の分散化の可能性。
  2. EVM互換性: EVM互換スマートコントラクトのサポート。
  3. Web3 APIとウォレット:標準のWeb3 APIとMetaMaskなどのEthereumウォレットのサポート。
  4. アカウント抽象化:アカウント抽象化のネイティブサポート。
  5. トランザクションスピード:L2での高速トランザクション処理と、その後のL1での確認。
  6. Low Fees: L1と比較してガス手数料が削減されました。
  7. ERC20 Gas Payments: ERC20トークンでのガス手数料支払いの能力。
  8. 進化するインフラストラクチャ:非常に活発なインフラストラクチャの開発。
  9. スケーラビリティの可能性:大幅なスケーラビリティの向上の機会。

コンス

  1. Limited EVM Compatibility: 競合他社(例:Polygon zkEVM、Scroll)と比較して、EVM互換性が低いです。
  2. スマート契約のエラーのリスク: エラーのリスクが高まり、徹底的なテストと監査が必要となります。
  3. 特定の開発スタックのニーズ:プロトコルの特定の要件に開発スタックを適応させる必要があります。
  4. コアテクノロジーの遅れ:コンパイラやライブラリの更新における革新の採用の遅れ。
  5. ネットワークの中央集権化: 現在、ネットワークは限られた数のオペレータによって管理されています。
  6. 上位可能なスマート契約の必要性: 上記すべてから、プロジェクトの開始時に常にアップグレード可能な契約を作成し、迅速に欠陥や脆弱性を修正できる必要があることがわかります。

結論

zkSyncプロトコルは非常に有望であり、大きなポテンシャルを持っていますが、現時点ではこのブロックチェーンでの展開は検討すべきリスクがいくつかあります。zkSyncの開発は、現在、EVMとEVM開発スタックとより互換性のあるブロックチェーンよりも挑戦的です。しかし、将来的には、この違いが無視できるか、まったく消えるかもしれません。

免責事項:

  1. この記事は[から転載されていますメタランプ]. オリジナルタイトル「ZKPとZK-Rollupsがスケーラビリティ問題を解決するのにどのように役立つか:zkSyncブロックチェーンのレビュー」を転送します。すべての著作権は元の著者[MetaLamp]に帰属します。 この転載に異議がある場合は、お問い合わせくださいGate Learnチームはそれを迅速に処理します。
  2. 責任の免責事項:この記事で表現されている意見は、著者個人のものであり、投資アドバイスを構成するものではありません。
  3. 他の言語への記事の翻訳は、Gate Learnチームによって行われます。特に記載されていない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。

ZKPとZK-Rollupsがスケーラビリティの問題を解決するのにどのように役立つか

中級4/8/2024, 3:54:44 AM
この記事では、Zero-knowledge proof技術と、人気のあるブロックチェーンであるzkSyncについて説明し、zkSyncでのトランザクションの動作方法やEthereum Virtual Machine(EVM)との主な違いについて説明します。

*オリジナルタイトル『ZKPとZK-Rollupsがスケーラビリティ問題の解決にどのように役立つか:zkSyncブロックチェーンのレビュー』を転送します

この記事では、ゼロ知識証明技術とは何かを説明し、人気のあるブロックチェーンであるzkSyncについて話します:zkSyncでのトランザクションの動作方法とイーサリアム仮想マシン(EVM)との主な違い。また、有望な将来があると考えているこのブロックチェーンの利点と欠点についても議論します。

ZkSyncは、Ethereumのための第2レベルのブロックチェーン(Layer 2 — L2)であり、Ethereumネットワーク上の高い手数料と限られたスループット(Transactions Per Second — TPS)の問題に対処するために設計されています。このプラットフォームは、ゼロ知識証明(ZKP)を使用して複数の取引をメインネットワーク(L1)からバッチ処理するZK-Rollup技術を採用しています。取引の正当性の暗号証明とその圧縮データのみがL1に送信され、効率が向上しコストが削減されています。

開発されましたマターラボ, zkSyncは、コミュニティによって管理される完全なオープンソース(100%オープンソース)製品として発表されました。によると、暗号通貨ランキング、プロジェクトはすでに注目を集め、4億5800万ドルの投資を集めています。長期的には、Matter Labsは包括的なエコシステムを構築することを目指しています。現在、2つのブロックチェーンが稼働しています:ETHおよびERC20トークンで支払いを処理するzkSync Liteと、完全なスマートコントラクトをサポートするzkSync Era。将来の計画には、高いセキュリティを確保するハイパーチェーンシステム(L3)の立ち上げが含まれます。Matter Labsの目標は、次の10億人のブロックチェーンユーザーを引き付けるレベルまで技術をスケーリングすることです。

背景

ZkSyncは、拡張性の問題を解決する新しいアプローチを表していますブロックチェーンの三位一体. このプロジェクトは、他のLayer 2(L2)ソリューションと同様に、ブロックチェーンネットワークにおいてセキュリティ、スケーラビリティ、分散化のバランスを見つけようとしています。

  1. スケーラビリティ:システムがパフォーマンスとセキュリティを失うことなく、増加する取引量やデータを効率的に処理する能力。
  2. ブロックチェーンセキュリティ:データの信頼性と保護を不正アクセス、改ざん、または変更から確保すること。
  3. 中央集権化:中央集権的な統制構造の不在。分散型システムでは、管理および意思決定はすべてのネットワーク参加者に民主的に分散されています。

Ethereumはセキュリティと分散化に焦点を当て、世界中に分散されたノードを持つピア・ツー・ピア・プロトコルとしての地位を強調しています。ノードの分布の最新情報については、参照してくださいNodeWatch.

ネットワーク内の分散を維持するためには、各ノードがすべての取引を検証する必要があります。これにより、ネットワークの速度が遅くなります。さらに、ネットワーク負荷が高いと、取引が非常に高額になり、処理にかなりの時間がかかる場合があります。

レイヤー2

イーサリアムネットワークのTPSを増やす主要な課題は、ノードへの負荷を増やさずに導入することでした。シャーディングPoS(ステークの証明)コンセンサスへの移行と組み合わせています。これには、バリデータをサブグループに分割してネットワークの別々のセグメントを処理し、全体の負荷を減らし、スループットを増やすというプロセスが含まれています。しかし、コミュニティは、迅速な開発を考慮して、Layer 2のソリューションに焦点を当てています。

EthereumにShardingを実装するというアイデアに加えて、他のスケーラビリティソリューションが登場しています。

  • 支払いとステートチャネル
  • サイドチェーン
  • プラズマ
  • オプティミスティックロールアップ

ゼロ知識証明(ZKP)に基づく技術、および次のものを含む

  • バリディウム
  • zkRollup
  • 意志

詳細な情報はこちらで見つけることができます ここ.

シャーディングはまだ開発中ですが、Dencunハードフォークは2024年初頭に予定されており、実装される予定です プロトダンクシャーディングこの中間ステップは、レイヤー2のソリューションの改善を目指しており、L1上でのデータストレージをより経済的にします。したがって、Proto-Dankshardingは、L2上でのトランザクションコストを削減することを約束し、完全なShardingソリューションに向けた一歩となります。

一見すると、L2ブロックチェーンは類似しているように思えるかもしれません。彼らの主な任務は、L1の外での取引の数を増やし、セキュリティ保証者の役割をL1に委任することです。このようなブロックチェーンの開発者は、しばしば自分たちのソリューションが最も速く、信頼性が高く、最もシンプルであると主張しています。実際には、スケーリングへの各アプローチにはそれぞれニュアンスがあり、取引速度、セキュリティレベル、または分散度合いに関する妥協が避けられません。完全に中央集権化されたソリューションも一般的です。これらすべての側面は、ブロックチェーントリレンマの基本的な問題に私たちを戻します。

In この記事, レイヤー2ソリューションで使用されるプロトコルを評価するための主要な基準が提案されています。それらには、次のものが含まれます:

  • セキュリティ、
  • パフォーマンスと経済効率,
  • 使いやすさ
  • スマートコントラクトのサポート、EVMバイトコードの互換性、およびプライバシーオプションなどの追加の側面。

重要です!この記事はMatter Labsによって書かれており、私の意見では、zkRollupを有利にするためにいくつかのことが「引き延ばされて」いると思います(利益相反が明白なので)、しかし、それはそんなに重要ではありません、重要なことはLayer-2プロトコルの間にどんな違いがあるかを見ることです。

以下では、表を提供し、その内容を簡単に説明します。

セキュリティ

  • Layer-2の「生存性」または「生存可能性」の仮定。Layer-2の機能を維持するために、Layer-1レベルで常にいくつかの参加者がオンチェーンにいると仮定されています。これらは、L1で一定額の資金を賭けるバリデータ(表では「Bonded」としてマークされています)または報酬のためにプロトコルのセキュリティを確保する第三者です。表に示されているように、ZKP(ValidiumとzkRollupを使用するソリューション)はこの必要性を持っていません。
  • マス・エグジット・プロブレム。セキュリティ上の理由から、L2からL1への全ユーザーによる資金引き出しを開始する必要がある場合に発生する問題。表でわかるように、この問題はプラズマプロトコルにのみ存在し、詳細はこちらで読むことができます。ここ.
  • カストディアンシップ。L2の検証者が一時的にユーザーの資金をブロックしたり没収できるかどうかの問題。
  • 経済的脆弱性。L2のバリデーターへの様々な攻撃、L1マイナーへの賄賂、"シャドウ" DAOの作成、および他の経済的動機に基づく攻撃を含みます。
  • 暗号化。標準と新しい暗号プリミティブとの違い。標準のものはより研究されており、潜在的に脆弱ですが、SNARKやSTARKなどの新しいものはより信頼性が高く、開発者に追加の知識と監査が必要です。

パフォーマンスと経済

パフォーマンスに関しては、わかりやすいです。TPS(秒間取引数)はネットワークのスループットを示し、スケーリングの文脈では、最も重要なパラメータです。

経済的側面:

  • キャピタル効率:この側面は特に支払いチャネルにとって重要です。チャネル内の操作の平均ボリュームに等しい資金を凍結する必要があり、資本投資の観点から効率が低くなります。
  • L1 Transaction for Creating an L2 Account. Also a drawback for payment channels, as in all other solutions an account created in L1 works in L2 by default.
  • トランザクションコスト:TPSと共に、これはスケーラビリティの最も重要な要因の1つであり、ソリューションの経済的魅力を決定するものです。

使いやすさ

  • L2からL1への出金時間:この期間は数分から数週間にわたる場合があります。楽観的ロールアップとプラズマは、資金の引き出しにはより多くの時間が必要であるため、特に不便です。
  • トランザクションの主観的最終性までの時間:外部の観察者の視点から、トランザクションがL1上でいかに速やかに不可逆になるかを決定します。例えば、楽観的ロールアップでは、L1上での最終性を達成するにはイーサリアムでの承認が1回だけ必要ですが、完全なトランザクションの最終性を確定するには約1週間かかります。
  • クライアントコードによる主観的確定性の検証:軽量クライアント(ブラウザ/モバイルウォレット)によって主観的確定性の時間を確認できるかどうかを決定します。楽観的ロールアップの例を続けると、トランザクションの確定性を確認するには、ユーザーは過去1週間の状態ロールアップ全体をダウンロードして検証する必要があります。
  • 即時トランザクション確認。プロトコルは完全な保証で即時トランザクション確認を提供できますか?それともL2コンセンサスレベルでのみ保証されますか。
  • インスタント可視確定性:ほとんどのL2プロトコルの上に実装でき、トランザクションはユーザーインターフェイスで即座に確認されます。 他のプロトコルでは、これらのトランザクションはL1で確認される前の一定時間内にまだ逆転させることができますが、支払いチャネル(ステートチャネル)だけがこれらの確認に対する完全なセキュリティ保証を提供します。

その他の側面

  • スマートコントラクト:L2ソリューションが完全にプログラム可能なスマートコントラクトをサポートしているか、それとも予測を通じた機能の限られたサブセットのみをサポートしているかを検討します。
  • EVMバイトコードとの互換性:既存のEthereum EVMバイトコードスマートコントラクトを大幅に変更せずにL2に移行する可能性を評価します。
  • プライバシーサポート内蔵:特にL2ソリューションにおけるプライバシー保護の効率性、機密取引の可用性およびコスト効果を考慮しています。

以下は、主要なZKPベースのソリューションの比較表です:

ゼロ知識証明(ZKP)の詳細な理解については、を参照することをお勧めしますこの記事私たちの中でブロックチェーン-ウィキ、開発者たちによって作られ、証明と詳細への深い探求を愛する開発者向けのもの。

zkSyncにおけるトランザクションライフサイクル

ZK-Rollupsの動作は、次のように高レベルで表現することができます:

  1. ロールアップ形成:取引がロールアップにパックされます。
  2. ZKPの作成:ゼロ知識証明が形成されます。
  3. Ethereumでの検証:検証プルーフがEthereumスマートコントラクトに送信されます。

zkSyncのアーキテクチャの文脈において、プロセスは次のように見えます:

  1. 内部ブロックのコレクション:zkSyncのバリデータは、数秒ごとにトランザクションから内部ブロックを収集します。
  2. ブロックパッケージの形成:30〜90秒ごとに、内部ブロックからブロックのパッケージが作成されます。
  3. ブロックチェーンの状態コミットメント:検証者はブロックチェーンの現在の状態を記録し、修正されたデータを可能な回復のためのcalldataとしてL1に送信します。
  4. SNARKの計算と提出:バリデータはパッケージのSNARK(ZKP)を計算し、それをイーサリアムのスマートコントラクトに検証のために送信します。検証後、新しいネットワーク状態が最終的になります。


ZK-Rollupsの検証者は、トランザクションをブロックにパッキングし、それらのためにZero-Knowledge Proofsを生成する重要な役割を果たします。システムの特徴は、検証者が物理的に資金を盗むことができないことです。彼らが引き起こすことができる最も重大な潜在的な害は、ネットワークの一時停止です。

注意:zkSync Eraでは、検証者の役割がオペレーターによって実行されます。

zkSyncの開発者は、彼らのアーキテクチャの以下の保証を強調しています:

  1. 資金のセキュリティ: オペレーターは決してネットワークの状態を損なったり、資金を盗んだりすることはできません。これはサイドチェーンと比較しての利点です。
  2. 資金回収の可能性:オペレーターが業務を停止した場合でも、ユーザーは常に資金を引き出すことができます。これはPlasmaシステムとは異なり、データの利用可能性のおかげで可能です。
  3. 監視からの独立:ZKPのおかげで、ユーザーまたは信頼された第三者は、詐欺を防ぐために継続的にRollupブロックを監視する必要がなくなりました。これは、詐欺証明に基づくシステムと比較して、支払いチャネルや楽観的なRollupsなどのシステムに対する利点です。

zkSync時代の取引は、通常のL1のRollup確認とは異なるいくつかの重要な状態を経ます。

  • 保留中: 取引はオペレーターに受信されましたが、まだ処理されていません。
  • 処理済み: トランザクションはオペレーターによって処理され、次のブロックに含まれる準備が整っています。
  • Committed: トランザクションデータはEthereumに公開され、データの利用が保証されますが、正確な実行は確認されません。
  • 実行されました:取引の妥当性証明(SNARK)がイーサリアムスマートコントラクトによって検証され、取引が最終的になる最終段階。

ブロック番号に加えて、zkSyncの取引にはパッケージ番号も表示されます。元々、block.number、block.timestamp、blockhashなどのパラメータはL1から取得されていました。しかし、その後、更新, これらの値は今後L2から取得されるようになります。 それにもかかわらず、開発者はL1からデータにアクセスする方法を提供する予定です。

zkEVMとEVMの違い

ZKPベースのL2ソリューションとEthereumの互換性は複雑な課題です。これは、Ethereumが元々ZKPとの最適な相互作用のために設計されていなかったためです。その結果、このようなシステムを開発する際には、一方でパフォーマンスとスケーラビリティの潜在性との間で、他方でEthereumとEVMとの互換性との間で妥協点を見つける必要があります。Vitalik Buterinの記事「異なるタイプのZK-EVM」これらの側面について詳しく議論し、異なる互換性のレベルを強調します。

zkSyncは、最も挑戦的な道を選択し、高いパフォーマンスを目指していますが、EthereumとEVMの両方との互換性が限られています。zkEVMと互換性のあるバイトコードを取得するには、LLVMプロジェクトは、独自のコンパイラと最適化ツールスイートと共に使用されます。SolidityとYulの場合、標準のsolcコンパイラの後、コードはzkEVMバイトコードになる前に、さらにいくつかの段階を経ます。以下の図は、このプロセスのすべての段階を示しています(詳細は下記に記載)ここ:)

重要です!zksolcでの最適化がサポートされています。

EVMに特化したバイトコードはzkEVMと互換性がありません。これは、EthereumとzkSyncの同一のスマートコントラクトのアドレスが異なることを意味します。しかし、開発者は将来この問題を解決する予定です。

このアプローチの重要な利点の1つは、特定のプログラミング言語からの独立性です。将来的には、zkSyncの開発者はRustやC++などの言語のサポートを追加することを約束しています。高水準コンパイラ(たとえばsolc)とプラットフォームコンパイラ(たとえばzksolc)の間の更新の遅れや革新の統合が最小限であることが重要です。当初、独自のプログラミング言語であるZincを作成するアイデアがありましたが、現時点では、チームはより人気のあるプログラミング言語のサポートに焦点を当てています。

SolidityおよびVyperスマートコントラクトの既存の開発およびデバッグツールとの互換性に関するzkコンパイラの問題は重要です。Remix、Hardhat、Foundryなどの現在の開発プラットフォームは、zkコンパイラをそのままサポートしていないため、それらとの作業に問題が生じています。ソリューションプロジェクトの移行プロセスと新技術への適応を容易に約束する開発が進行中です。

Vitalik Buterinの記事には、EthereumがプロトコルレベルでZKPとの互換性を改善しようとする可能性が高いと述べられています。同様に、ZKPを使用したL2ソリューションもEthereumとのより良い互換性のために適応します。その結果、これらのシステム間の違いは将来ほとんど気づかれなくなり、開発者にとってよりスムーズな統合と移行が確保されるでしょう。

zkEVMの特徴

重要です!プロトコルは積極的に開発されています。常に最新バージョンのドキュメントを参照してください!

zkEVMはEVMと異なり、開発者がこれらの違いを「裏側で」隠そうとしているにも関わらず、スマートコントラクトを書く際に考慮すべき重要な機能があります。

  1. EVMとの違い: zkEVM用に書かれたSolidityコードの動作は、block.timestampやblock.numberなどの側面で特に異なる場合があります。定期的に確認することが重要です。ドキュメンテーション変更のため。
  2. システム契約: zkSyncでは、ContractDeployerなどのさまざまな機能のためのシステムスマート契約やETHの操作に使用されるMsgValueSimulatorなどのシステムスマート契約があります。システムスマート契約に関する詳細はこちらで確認できます。ドキュメンテーション.
  3. デプロイメント用のプロキシパターン:デプロイメント後の最初の数ヶ月にプロキシパターンを使用して、潜在的なコンパイラエラーを防ぐことをお勧めします。
  4. ガス計算:zkEVMのガス計算モデルは、イーサリアムとは異なり、異なるオペコードのセットとL1に依存するガス価格を含んでいます。詳細はこちらにありますここ.
  5. ローカルテスト:Hardhat NodeやAnvilなどの標準ツールは、zkEVMのローカルテストには適していません。代わりに、特別なオプションフォークモードテストを含む、使用されています。
  6. 署名の検証: アカウントの抽象化の内蔵サポートを使用することをお勧めします。ecrecoverの代わりに
  7. ガス関連のエラーのトラッキング:zkSyncでは、DefaultAccountシステムのスマートコントラクト内での実行の特定のため、ガス不足に関連するエラーをトラッキングすることは不可能です。

zkEVMを使用するための深い理解を得るには、セクションを含むドキュメントを学習することをお勧めします。「セキュリティとベストプラクティス」.

アカウント抽象化

zkSyncのアカウント抽象化は、いくつかの重要な利点を提供しますERC-4337:

  1. 実装レベル:zkSyncでは、アカウントの抽象化はプロトコルレベルに組み込まれており、External Owned Accounts(EOA)を含むすべてのアカウントが、機能的にスマートコントラクトと同様になっています。
  2. トランザクション処理:ERC-4337では、バンドラー用の別々のmempoolを使用しており、2つの異なるトランザクションストリームを作成していますが、zkSync Eraでは単一のmempoolを使用しています。これは、EOAおよびスマートコントラクトから発信されるトランザクションが1つのストリームで処理され、よりスムーズな統合と処理が確保されます。
  3. Support for Paymasters: zkSyncはすべての種類のアカウントでペイマスターをサポートし、任意のアカウントにおいてERC20トークンでガス手数料を設定できます。

zkSyncインフラストラクチャ

zkSyncエラのインフラは急速に勢いを増しており、すでに数十のプロトコルが含まれています: ブリッジ、DeFi、インフラストラクチャプロトコルなど。(現在のリストは閲覧できますここ

もう一つの利点は、MetaMaskやTrustWalletなどのEthereumウォレットとの互換性です。

ハイパーチェーン

zkSyncプロトコルは、zkSync Liteのローンチとともに開発が始まり、イーサとERC-20トークンの送金のみを対象としており、完全なプロトコルの展開機能を持っていませんでした。この段階は開発における重要なステップでしたが、zkSync Eraの登場の前触れに過ぎず、これはイーサリアム向けの完全なL2ソリューションであり、理論的には他のL1ブロックチェーンにも適応できます。ただし、zkSyncの野心はそこに止まらず、開発計画にはいわゆるハイパーチェーンのローンチも含まれています。

ハイパーチェーン、または「フラクタルスケーリング」は、それぞれが独自のブロックと証明を形成するZKPネットワークで構成されています。これらの証明は、それぞれが完全なシステムのコピーであり、「フラクタル」と見なすことができるメインのL1ネットワークに集められ、投稿されます。

ハイパーチェーンのユニークな点は、独立して作成および展開できることです。一貫性と互換性を維持するために、各ハイパーチェーンは共通のzkEVMエンジンを使用する必要があります。これは、ZKスタックの一部であり(zkSync Eraが最初のハイパーチェーンとして機能しています)、ハイパーチェーンにL1からセキュリティを継承させ、信頼性を確保し、追加の信頼とセキュリティ対策の必要性をなくすことを可能にします。

ハイパーチェーンは、ブロックチェーンネットワークのスケーリングを革新的な方法で行い、メインネットワークへの負荷を軽減し、取引処理速度を向上させます。この手法の主要な側面には、次の点が含まれます:

  • プロフェッショナルトランスファービトウィーンハイパーチェーン:ハイパーチェーンはブロックの証明をお互いに転送し、取引がメインのL1ネットワークに到達する前に移動しなければならない距離を増やします。これにより負荷が分散され、ボトルネック問題が回避されます。

  • ユーザー向けの透明性:ユーザーは違いに気づかないでしょう—彼らの取引はハイパーチェーンで処理され、メインネットワークに到達する前に複数のレベルを経ることができ、処理に非同期性を生み出します。
  • 既存のソリューションに対する利点:現行のL2ソリューションとは異なり、速度は速いが取引量に制限があり、セキュリティを犠牲にすることがあるが、ハイパーチェーンははるかに優れたスケーラビリティを約束しています。
  • カスタムブロックチェーンの柔軟性: Hyperchainsを使用すると、さまざまなセキュリティレベルとプライバシーレベルでカスタムブロックチェーンとアカウントを作成できます。セキュリティレベルが低い場合でも、最悪の場合は資金の一時凍結のみが予想されます。

これについての詳細はこちらで見つけることができますここ

zkSyncの利点と欠点

プロ

  1. セキュリティ:L1レベルに近いセキュリティと将来の分散化の可能性。
  2. EVM互換性: EVM互換スマートコントラクトのサポート。
  3. Web3 APIとウォレット:標準のWeb3 APIとMetaMaskなどのEthereumウォレットのサポート。
  4. アカウント抽象化:アカウント抽象化のネイティブサポート。
  5. トランザクションスピード:L2での高速トランザクション処理と、その後のL1での確認。
  6. Low Fees: L1と比較してガス手数料が削減されました。
  7. ERC20 Gas Payments: ERC20トークンでのガス手数料支払いの能力。
  8. 進化するインフラストラクチャ:非常に活発なインフラストラクチャの開発。
  9. スケーラビリティの可能性:大幅なスケーラビリティの向上の機会。

コンス

  1. Limited EVM Compatibility: 競合他社(例:Polygon zkEVM、Scroll)と比較して、EVM互換性が低いです。
  2. スマート契約のエラーのリスク: エラーのリスクが高まり、徹底的なテストと監査が必要となります。
  3. 特定の開発スタックのニーズ:プロトコルの特定の要件に開発スタックを適応させる必要があります。
  4. コアテクノロジーの遅れ:コンパイラやライブラリの更新における革新の採用の遅れ。
  5. ネットワークの中央集権化: 現在、ネットワークは限られた数のオペレータによって管理されています。
  6. 上位可能なスマート契約の必要性: 上記すべてから、プロジェクトの開始時に常にアップグレード可能な契約を作成し、迅速に欠陥や脆弱性を修正できる必要があることがわかります。

結論

zkSyncプロトコルは非常に有望であり、大きなポテンシャルを持っていますが、現時点ではこのブロックチェーンでの展開は検討すべきリスクがいくつかあります。zkSyncの開発は、現在、EVMとEVM開発スタックとより互換性のあるブロックチェーンよりも挑戦的です。しかし、将来的には、この違いが無視できるか、まったく消えるかもしれません。

免責事項:

  1. この記事は[から転載されていますメタランプ]. オリジナルタイトル「ZKPとZK-Rollupsがスケーラビリティ問題を解決するのにどのように役立つか:zkSyncブロックチェーンのレビュー」を転送します。すべての著作権は元の著者[MetaLamp]に帰属します。 この転載に異議がある場合は、お問い合わせくださいGate Learnチームはそれを迅速に処理します。
  2. 責任の免責事項:この記事で表現されている意見は、著者個人のものであり、投資アドバイスを構成するものではありません。
  3. 他の言語への記事の翻訳は、Gate Learnチームによって行われます。特に記載されていない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。
Start Now
Sign up and get a
$100
Voucher!
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Thailand, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.