zkSync Era のメインネット バージョンにはシャドウ プルーフは必要ありません。引き続き既存のプルーフ システムを利用します。私たちは、システムをさらにテストして最適化するためにこれらのシャドウ プルーフを検証しているだけですが、zkSync Era のユーザー アクティビティからの実際の運用データを使用しています。
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.
Boojum アップグレードの詳細説明: zkSync Era が STARK プルーフ システムを選択した理由
著者: zkSync、翻訳: Jinse Finance xiaozou
この記事の要点:
アップグレード: zkSync Era は、再生成のない新しい Boojum プルーフ システムに移行しています。
**パフォーマンス: **Boojum は世界クラスの証明パフォーマンスを実証し、すでに 100 TPS 以上を処理できる zkSync Era ソーターのパフォーマンスを支援しています。
**分散化: **Boojum 証明者 (認証者) は 16 GB RAM のみを必要とし、将来の大規模な証明者分散化をサポートします。
**準備完了:**影の証明 (影の証明) がメインネットで開始されました。
ZK Credo マニフェストで明確に述べたように、zkSync の使命は、トラストレス、安全、許可不要、手頃な価格、使いやすく、回復力があり、無限に拡張可能なブロックチェーン ネットワークを構築し、デジタル自己所有権を一般に利用できるようにすることで、すべての人の個人の自由を推進することです。 。
この使命を追求するために、zkSync Era のアルファ版が 3 か月以上前に公開され、驚くべき反響を得ています。この間、ウェブ上で多くの活動が行われてきました。
ネットワークのハイライト:
· ロックされた総額は 5 億 7,700 万ドル (出典: L2Beat)。
過去 30 日間に処理されたトランザクション数は 2,375 万件で、L2 によるトランザクションが最多です (出典: L2Beat)。
· 9735 ソース コードで検証されたスマート コントラクト。
2023 年 3 月に、当社は zkSync Era を開始しました。これは、SNARK ベースのシステムを使用して zkEVM をサポートし、実証済みの回路フレームワークを活用し、メインネットで zkSync Lite をほぼ 3 年間サポートしてきました。ただし、これが zkSync Era プルーフ システムの終わりではないことはわかっています。私たちは、再生成を実行せずに根本的な変更を可能にするシステムを設計しました。これは、開発者やユーザーの作業を中断することなく、重要な暗号化のアップグレードを行うことができることを意味します。
私たちは長年にわたって暗号化のアップグレードに取り組んできました。本日、私たちは最初の暗号化アップグレードを発表できることをうれしく思います。zkSync Era は、新しい STARK** ベースの証明システムに移行していると、「Boojum」向けに発表されました。 **
1. Boojum の紹介
Boojum は、zkSync Era と ZK Stack の ZK 回路のアップグレード バージョンを実装するために使用するアルゴリズムと制約の Rust ベースのライブラリの名前です。 Boojum という名前は、ルイス キャロルの詩「The Hunting of The Snark」からインスピレーションを得たもので、Boojum は最も恐ろしいタイプのスナークを表しています。
**(1) Boojum とは何ですか? **
Boojum のデザインには多くの魅力的な機能があります。
· PLONK** タイプのアルゴリズム: **ゼロ知識プロトコルの場合、アルゴリズム (算術化) は、一般的な計算を数学形式に変換するプロセスです。現在の証明システムに関する限り、アップグレードされたシステムでは引き続き PLONK タイプのアルゴリズムが使用されます。このアプローチを使用すると、ZK 回路は他の代替回路よりも簡単に作成でき、システムの開発、監査、保守、アップグレードが容易になります。
· **強力なコミットメント スキーム: **Boojum の中核は FRI コミットメント スキームです。FRI コミットメントは重要なコンポーネントであり、これにより有界多項式にコミットメントを行い、(多項式の) 要求された開度を効率的に証明することができます。は確かに低次の多項式に属します。
**システムの「boring」部分の効率: **証明者のパフォーマンスについて話すとき、証人生成は無視されることがありますが、現在のバージョンの証明システムでは、GPU 証明者が最適化されています。は非常に効率的であり、証人の生成時間は証明の生成時間に匹敵します。 Boojum を使用すると、(依存関係グラフが許可する場合) 自動化された並列監視生成を提供しながら、|(a, b)| a + b のような監視生成関数を簡単に定義できます。
· 拡張が簡単: 基本的な制約システムの抽象化は非常に浅いですが、これによりユーザーは、特殊な多項式の追加や共通列の再利用など、さまざまな方法でカスタム ゲート制約タイプを追加できます。ユーザーが回路の単純なジオメトリを定義すると、拡張インターフェイスによって証明者、検証者、再帰的検証者を自動的に生成する機能が提供されます。これにより、非常に効率的な開発プロセスが可能になります。ユーザーが回路構造を変更して別のタイプのゲートの使用を選択した場合、インターフェースを再度呼び出すことができ、キーが再生成され、正しい証明者および検証者プログラムを使用していることが確認されます。 。
· シングルスタック: Boojum を使用すると、上記のすべてを標準の慣用的な Rust だけで表現し、その型システムの表現力を使用できます。 GPU 証明者の計算量の多い部分は CUDA C++ で書かれていますが、その構成には Rust バインディングが提供されています。
デフォルトでは、Boojum はサイズ 2^64 - 2^32 + 1 の素数フィールド (「ゴルディロックス フィールド」と呼ばれ、当初 Mike Hamburg によって提案され、Hamish Ivey-Law によって提案された特定のパラメーターを使用) を操作し、対応するフィールドを提供します。 Poseidon2 ハッシュ関数などの暗号化プリミティブのバインディング プリミティブ実装と、SHA256、Keccak256、Blake2s などのルックアップ テーブルに基づくより標準的な暗号化プリミティブの実装です。
重要なのは、デプロイメントの最終ステップでは、不透明なペアリングベースの SNARK (基本的に現在の証明システムのわずかにアップグレードされたバージョン) を使用して STARK 証明をラップし、この SNARK はイーサリアムで利用できるようになります。このような証明ははるかに小さく、検証にかかるコストが大幅に低くなるため、このステップにより証明システムのコストが削減され、ひいてはトランザクション自体のコストが削減されます。
Boojum はコミュニティの多くの人々の貢献から恩恵を受けており、受け取ったさまざまなアイデアに感謝しています。私たちは、STARK、FRI、DEEP-FRI の基礎となる文書、Poseidon と Poseidon2 で提案されたハッシュ関数の進歩、Gabizon、Williamson、Ciobotaru によって提案された PLONK アルゴリズムの開発からインスピレーションを得ています。また、Plonky2 プロジェクト (Farmer、Lubarov、Borgeaud など) の革新的なアプローチ - Poseidon MDS の選択と丸め定数の使用、キャッシュされた商と Eagen、Fiore、Gabizon による多変量ルックアップ研究の新しい洞察、ハベック。これらの貴重な貢献が、Boojum のデザインを形作るのです。
**2. Boojum を選ぶ理由は何ですか? **
Boojum を設計する際、私たちの決定では、(1) 世界クラスの証明パフォーマンス、および (2) 分散化のためのハードウェア要件の削減という 2 つの重要な要素を考慮しました。
(1) 世界クラスのパフォーマンス
現在の SNARK ベースのシステムは、現在は効果的に機能していますが、ZK スタックが今後数年間サポートする予定の大量のほぼリアルタイムのトランザクションに対応することはできません。私たちは、証明を安価かつ迅速に生成および検証でき、ハイパーチェーン間の迅速なファイナリティと相互運用性を可能にする、これらのシステムの将来を構想しています。
プルーフ システムのパフォーマンスは、ユーザーがトランザクションに対して支払う価格に直接影響を与えるため、これらのコストは時間の経過とともにゼロに近づく必要があります。現在のバージョンの証明システムは、わずか数か月で zkEVM を構築して数百万のトランザクションを処理できるほど強力ですが、Boojum を使用するとさらに優れた処理が可能です。
ネットワークのプルーフ生成時間 (およびパフォーマンスに関連するその他の重要な指標) を測定するために、マルチプルーフ システムのベンチマークと分析で豊富な経験を持つチームである Celer と提携しました。以下のグラフから、Boojum がほとんどのシステムよりも大幅に優れていることがわかります。結果はそれ自体を物語っています: **私たちの導入は世界クラスの証明パフォーマンスを実証しており、これは私たちの知る限り、現在使用されている最速の証明システムです。 **
同等の比較のために、Celer は CPU ベースのプルーバーに対してこれらのベンチマークを実行しましたが、当社のメインネット システムはより高速な GPU ベースのプルーバーを使用しています。
STARK ベースのプルーフ システムへの移行により、大幅なパフォーマンスの向上がもたらされ、低レイテンシーの最終結果を保証し、zkSync Era およびその他の ZK Stack ベースのシステムでのアクティビティの増加をサポートするのに役立ちます。
(2) 分散化のためのハードウェア要件を削減
これが私たちが最適化した唯一の指標ではなかったということを考えると、これらのパフォーマンスの結果は特に印象的でした。私たちは、システムを実行するためのハードウェア要件を軽減しながら、システムのパフォーマンスを向上させたいと考えていました。
現在の証明システムを含め、今日の一般的な証明システムは、明らかにハードウェアに対する要求が非常に高いです。現在の検証システムは、それぞれ 80 GB RAM を搭載した A100 GPU のクラスター上で実行されています。この高価で強力なマシンの必要性は、ユーザー主導の分散型プルーフ生成の将来を可能にするという私たちの目標にとって大きな障害となります。この目標を達成するには、プルーフ生成をパーミッションレスにするだけでは十分ではなく、ユーザーは高価なマシンや数百ギガバイトの RAM を必要としない必要があります。
これも私たちが大きな進歩を遂げたもう一つの分野です。 Boojum で使用している GPU 証明者は 16GB RAM のみを必要とします。このような低いしきい値は、将来のビジョンに向けた重要なステップです。 CPU ベースの検証は、64 GB 程度の RAM (32 GB 程度であることが望ましい) でも可能で、最新のマルチコア プロセッサを最大限に活用できます。新しい証明システムに完全に移行した後、その分散化計画に関する詳細情報をリリースする予定です。
最後に、Rust ベースの zkSync Era シーケンサーは、すでに 100 トランザクション/秒 (TPS) を超える処理能力を備えています。新しいプルーフ システムの導入により、パフォーマンスが向上するだけでなく、ハードウェア要件も軽減されるため、仕分け作業者にとって理想的なブースターとなります。 Boojum のパフォーマンスの向上は、システムがトランザクションをより迅速に証明できることも意味し、ハードウェア要件の削減により、ネットワークが低コストのマシンにアクセスできるようになり、水平方向のスケーラビリティが向上します。
3**、Boojum のメインネットへの道**
チームは何ヶ月にもわたってこのアップグレードに取り組んでおり、ついにシステムをメインネットに導入できることに興奮しています。これまでのストーリーもいくつか共有したいと思いました。
(1) zkSync Era のアップグレード
まず、このようなアップグレードを実行する方法について簡単に説明します。まず、zkSync Era の設計により、時間の経過とともに各コンポーネントをアップグレードすることができ、プルーフ システムも例外ではありません。
イーサリアムと同様に、マークル ツリー データ構造を使用してネットワークの状態に関する情報を保存します。システムの状態に関するステートメントを証明しているため、この情報はシステムを証明するために必要です。このマークル ツリー (および証明システムがマークル ツリーと対話する方法) の重要な設計上の決定は、非代数ハッシュ関数、特に Blake2 の使用です。純粋に証明の生成を容易にするために最適化している場合は、代数ハッシュ関数 (Poseidon2 など) を使用することになりますが、この選択では、素体の選択など、観測可能な状態と証明システムのパラメーターが結合されてしまいます。証明システムをアップグレードするには状態を完全に再生成する必要があり、これは zkSync Era のユーザーにとって非常に大きな混乱となるでしょう。証明システムをアップグレードするために必要なのは、回路内に Blake2 を再導入することだけです。
(2) Boojum: 設計からレビューまで
約 1 か月前、私たちは新しい証明システムの完全なエンドツーエンド バージョンの実装に注力し始めました。この更新の複雑さとシステムの正確さの重要性を考慮して、一連の社内および社外のテストを開始しました。監査。
当時、zkEVM 回路と Boojum アルゴリズム ライブラリはまだ積極的に開発中でしたが、私たちは外部のセキュリティ監査人と協力して、メイン回路と Boojum コンポーネントの信頼性に関連する潜在的な問題の早期特定に重点を置きました。私たちは緊密に連携して、彼らが zkEVM 回路と Boojum 関連ツールを (自動と手動の両方の方法を使用して) レビューおよびテストする際に、ソース コードとドキュメントへの完全なアクセスを提供しました。このパートナーシップを通じて、私たちは初期の多くの問題に対処することができました。
(3) Boojum: レビューからテストまで
さて、私たちは計画の次のステップ、メインネット シャドウ モードに入りました。 Boojum はまだベータ版ですが、新しい証明システムを既存の証明システムと並行して実行できることを嬉しく思います。私たちはすでにメインネットブロックの「シャドウプルーフ」を生成し、検証しています。
zkSync Era のメインネット バージョンにはシャドウ プルーフは必要ありません。引き続き既存のプルーフ システムを利用します。私たちは、システムをさらにテストして最適化するためにこれらのシャドウ プルーフを検証しているだけですが、zkSync Era のユーザー アクティビティからの実際の運用データを使用しています。
また、このテストを公開できることにも興奮しています。今後数週間のうちに、既存のプルーフ情報の横にあるブロック エクスプローラーにこれらのシャドウ プルーフに関する情報へのリンクが表示されるようになります。私たちは、誰でも使用できる CLI ツールをオープンソース化しています。新しい証拠を検証します。
私たちは現在、新しいプルーフ システムのテストに特に重点を置いており、イーサリアム上でシャドウ プルーフを検証する予定はまだありません。テスト段階では、シャドウプルーフの検証はオフチェーンで行われ、エッジケースやバグを探し、実装のさらなるレビューを続けます。
また、本日 Boojum コードベースをオープンソース化します。注意してください: コードベースはまだ開発中です。テストが進むにつれて、多数の調整、最適化、修正、ドキュメントの改善も行われる可能性があります。また、更新された回路や GPU 証明者など、さらにいくつかの興味深いリポジトリを今後数週間で公開する予定です。
(4) Boojum: テストから移行まで
安全は私たちが行うすべてのことにおいて最優先事項です。新しいシステムのテストに完全に満足した場合にのみ移行を検討し、今後数週間から数か月以内に詳細を共有します。また、さらなる監査とセキュリティレビューを実施する予定であり、現在の認証システムが廃止されるまでの間、このエキサイティングなアップグレードが完全に実装されようとしています。
私たちは、Boojum が、イノベーションとユーザー第一の設計への取り組みと相まって、より安全で、よりスケーラブルで、より効率的な zkEVM に向けた次のステップであると信じています。