元のタイトル:「zkEVM の比較」
オリジナルコンピレーション: Kxp、BlockBeats
オリジナルコンピレーション: Kxp、BlockBeats
「zkEVM戦争」が激化するにつれて、さまざまなzkEVMの利点について多くの公的議論が行われました。しかし、誤った情報もいくつかあるため、Polygon zkEVM に関するいくつかの事実と、他のプロジェクトとの比較を明らかにしたいと思います。
Polygon の従業員として、私は偏見を持っていますが、比較的偏見を持たないよう努めます。私は主に Polygon の zkEVM と zkSync Era に焦点を当てています。これらはすでに運用環境で使用されており、他の zkEVM プロジェクトについてはあまり知りません。
EVMの互換性
EVMの互換性
Polygon zkEVM は EVM バイトコードを直接実行します。 Vitalik の分類によれば、これはタイプ 3 zkEVM です。すぐにタイプ 2 になりますが、現在 4 つのプリコンパイルが不足しています。 Scroll は、タイプ 2 zkEVM の開発にも取り組んでいます。
対照的に、zkSync Era は、Solidity をサポートするコンパイラーを提供することで、異なるバイトコード形式を使用します。これにより、タイプ 4 zkEVM になります。Solidity はサポートされますが、EVM バイトコード自体はサポートされません。 Hardhat などのツールは直接使用できませんが、zkSync のプラグインは利用可能です。
パフォーマンス
パフォーマンス
Polygon ではパフォーマンスが常に重視されており、zkEVM は非常に効率的です。 CPU で証明者を実行すると、トランザクションあたり約 0.000084 ドルかかります。
副題
ドメインの選択
いくつかの代替案を検討した結果、私たちはいわゆるゴルディロックス場、つまり 2 次 2^64 - 2^32 + 1 の巨大な素数の場に落ち着きました。その小さなサイズと美しいバイナリ構造により、最新の CPU では乗算に 2 サイクル未満しかかからず、非常に高速なフィールド演算が可能になります。
zkSync は、alt-bn 128 曲線に基づく SNARK を使用する、より伝統的なアプローチを採用しています。基礎となるフィールドのサイズは約 254 ビットで、フィールドの乗算には CPU で約 80 サイクルかかります。
この大きな違いの影響を感じるために、Celer の SHA 2 ベンチマークを見てみましょう。そこでは、当社の STARK 証明器は、楕円曲線ベースの証明器より 5 ~ 50 倍高速です。
副題
算術
違いはそれだけではありません。私たちの zkEVM は STARK に基づいて構築されていますが、最新の変更が加えられています。 CPU 用のメイン STARK (サイクルごとに 1 行) と、算術、ハッシュなど用の他の STARK があります。 RapidUp で説明したように、これらのテーブルを結合できます。これは、レンダリング、暗号化、ML 推論などの集中的な操作を高速化するためのコプロセッサーを備えていることが多い物理 CPU に似ています。
ケチャックを例に挙げてみましょう。 EVM アプリケーションで広く使用されているため、ここで文書化するいくつかの新しいトリックを使用して、専用の STARK を設計しました。このようなカスタム算術演算の設計には多くの作業が必要でしたが、その甲斐あって、1 秒あたり数百のケチャック順列を証明できるようになりました。
zkSync は、いわゆる伝統的なアプローチを採用しています。彼らは PLONK ベースの証明器を使用しており、カスタム ゲートをサポートしていますが、zkEVM はあまり使用されておらず、ほとんどの計算は SelectorOptimizedWidth 4 MainGateWithDNext と呼ばれる汎用ゲートを使用して実行されます。バニラの PLONK ゲートよりもわずかに強力であるように見えますが、それでもまだ mul-add のような単純な操作に限定されています。
安全性
安全性
Polygon はセキュリティを非常に重視しており、zkEVM は 2 つの独立した監査を受けています。1 つは Spearbit による監査、もう 1 つは Hexens による監査です。どちらのレポートもここで一般公開されています。デプロイメントを検証するための手順も公開します。
zkSync の zkEVM が公的監査を受けているかどうかはわかりません。 zkSync の Web サイトにはブリッジ契約の監査がリストされていますが、zkEVM 自体はリストされていません。
最初のレベルのタイトル
L1データ
Polygon zkEVM は、すべてのトランザクション データを L1 にパブリッシュします。これについては Twitter 上で混乱が生じています。これについては、ガス料金に関する Edu の記事を参照してください。現在、平均トランザクション サイズは約 120 バイトであるため、トランザクションあたりのガス料金は約 120*16 = 1920 ガスになります。
zkSync は状態の違いを公開します。悪意のあるシリアライザーはトランザクション データを隠蔽する可能性がありますが、zkSync はトライの現在の状態を保持していればセキュリティには十分であると考えています。一般にトランザクション データは利用可能であることが期待されており、一部のアプリケーションはトランザクション データに依存しているため、これには議論の余地があるようです。
修正されたデータを確認すると、zkEVM と zkSync のトランザクションごとのガス料金がほぼ同じであることがわかります。これらの数値は、各チェーンで発生するトランザクション タイプの組み合わせによって時間の経過とともに変化する可能性がありますが、現時点では、違いによってガスが節約されるわけではなく、両方のシステムがトランザクションごとに約 120 バイトを L1 に送信します。
元のリンク


