
zkSync Boojumアップグレードの詳細:より安全で効率的なzkEVM
TechFlow厳選深潮セレクト

zkSync Boojumアップグレードの詳細:より安全で効率的なzkEVM
我々は、Boojum が zkEVM のより安全でスケーラブルかつ効率的な次の段階であると信じている。
執筆:zkSync
翻訳:TechFlow

TLDR
-
アップグレード:zkSync Eraは、再生成なしで新しいBoojum証明システムへ移行中。
-
パフォーマンス:Boojumは一流の証明性能を発揮し、すでに100 TPS以上を処理可能なzkSync Eraソーターと相補的。
-
分散化:Boojumプローバーは16 GB RAMのみ必要で、将来的な大規模なプローバー分散化が可能。
zkSyncの使命は、誰もが個人の自由を推進できるようにすることです。信頼不要で安全、無許可かつ安価で使いやすく、柔軟性があり無限に拡張可能なブロックチェーンネットワークを構築することで、デジタルな自己所有を普遍的に実現します。
この使命を果たすため、zkSync Eraのアルファ版は3か月以上前に一般公開され、反響は非常に大きかった。ネットワークのハイライト:
-
ロックされた総額(TVL)5.77億ドル(出典:L2Beat);
-
過去30日間で2375万件のトランザクション——すべてのL2の中で最多(出典:L2Beat);
-
9,735件のソースコード検証済みスマートコントラクト。
2023年3月、SNARKベースのzkSync Eraが登場しました。これは実戦で検証された回路フレームワークを利用しており、zkSync Liteではすでにメインネット上で約3年間サポートされています。しかし、これがzkSync Eraの証明システムの最終形ではないことを認識しており、再生成なしに根本的な変更を加えられるよう設計しました。つまり、開発者やユーザーに影響を与えることなく、重要な暗号学的アップグレードを展開できるのです。
裏側では、我々は長期間にわたり暗号学的アップグレードの作業を行ってきました。本日、その最初のアップグレードを発表できることを嬉しく思います。zkSync Eraは、「Boojum」と呼ばれる新たなSTARK証明システムへ移行しています。
Boojumとは
BoojumはRustで開発された算術および制約ライブラリであり、zkSync EraおよびZK Stackのアップグレード版におけるZK回路の実装に使用しています。
Boojumの概要
Boojumの特徴:
-
PLONK型算術化:ゼロ知識プロトコルの文脈において、算術化とは一般的な計算を数学的形式に変換するプロセスです。現在の証明システムと同様に、アップグレード版もPLONKスタイルの算術化を採用しています。このアプローチにより、他の代替形式と比較してZK回路の記述が容易になり、システムの開発・監査・保守・アップグレードが簡素化されます。
-
強力なコミットメント方式:Boojumの中心にはFRIコミットメント方式があり、これは有界多項式へのコミットを行い、その後、提示された(多項式の)オープニングが実際に低次多項式に属することを効率的に証明できるようにする重要なコンポーネントです。
-
システム効率性:証明者のパフォーマンスについて語る際、有効値生成(witness generation)が時折無視されることがあるが、現在の証明システムでは、最適化されたGPUプローバーにより、有効値生成時間と証明生成時間が同等レベルまで到達しています。Boojumでは、依存関係グラフが許す限り自動並列化された有効値生成を提供しつつ、有効値生成関数の定義の簡便性を維持しています。
-
拡張性の高さ:基本的な制約システムの抽象化は非常に簡潔ですが、カスタムゲートタイプをさまざまな方法で追加できるようになっています。例えば、特定の多項式を追加したり、「汎用列」を再利用したりできます。ユーザーが回路の単純な幾何構造を定義した後、拡張インターフェースによってプローバー、バリデーター、再帰バリデーターの自動生成が可能です。これにより非常に効率的な開発が実現します。ユーザーが回路構造を変更したり使用するゲートの種類を変更した場合でも、インターフェースを再度呼び出すだけで鍵を再生成し、正しいプローバーやバリデーターを使用していることを保証できます。
-
シングルスタック:Boojumでは上記すべての機能を、標準的で自然なRust表現のみで実現でき、その型システムの表現力を活用しています。GPUプローバーの計算集約部分はCUDA C++で記述されていますが、Rustバインディングを提供して統合しています。
Boojumはデフォルトでサイズが 2^64 - 2^32 + 1 の素数体(「ゴールディロックス体」として知られる)を使用し、Poseidon2ハッシュ関数などのフィールドバインドプリミティブの実装を提供しています。また、テーブル参照に基づくより標準的な暗号プリミティブ(SHA256、Keccak256、Blake2sなど)も実装されています。
重要なことに、最後のステップとして、非透過的なペアリングベースのSNARKを使用してSTARK証明をラップし、イーサリアム上でこのSNARKを検証します。この証明ははるかに小さく、検証コストも低いため、証明システム全体のコストが下がり、結果としてトランザクション自体のコストも低下します。
なぜBoojumなのか?
Boojumの設計においては、二つの重要な要素が意思決定の背景にあります。(1)世界トップクラスの証明パフォーマンス、および(2)分散化のハードウェア要件の低減です。
世界トップクラスのパフォーマンス
現在のSNARKベースのシステムは現時点では有効ですが、ZK Stack内の高トランザクション量、ほぼリアルタイムの取引へはスケーリングできません。zkSync Eraが将来Hyperchainとして動作する目標は、今後数年以内にこうしたシステムをサポートすることです。我々のビジョンでは、証明が安価かつ迅速に生成・検証可能になり、高速な最終性とHyperchain間の相互運用性が実現されるべきです。
証明システムのパフォーマンスは、ユーザーが自身のトランザクションに支払う手数料に直接影響します。長期的にはこれらのコストがゼロに近づく必要があります。現在の証明システムはzkEVMの構築に十分効率的であり、わずか数か月で数百万件のトランザクションを処理できますが、Boojumを使えばさらに改善できます!
ネットワークの証明生成時間(および他の主要なパフォーマンス指標)を測定するため、Celerチームと協力しました。Celerは複数の証明システムのベンチマークと分析において豊富な経験を持っています。以下の画像から、Boojumが大多数のパフォーマンス評価対象システムで優れた結果を示していることがわかります。結果は明らかです。我々の実装は世界トップクラスの証明パフォーマンスを示しており、現時点で実用化されている中で最も高速な証明システムであると考えられます。
公平な比較を行うため、CelerはCPUベースのプローバー上でこれらのベンチマークテストを実施しましたが、我々のメインネットシステムではGPUベースのプローバーを使用しており、さらに高速です。

STARKベースの証明システムへの移行は、パフォーマンスの著しい向上を意味し、zkSync Eraおよび他のZK Stackベースのシステムにおける活動レベルの増加に対する低遅延での最終性サポートを確実にするのに役立ちます。
分散化のハードウェア要件の低減
これらパフォーマンス結果が特に印象的なのは、我々が最適化している指標がこれだけではないからです。パフォーマンスを向上させると同時に、それを動かすハードウェア要件も下げたいと考えています。
現在広く使われている証明システム、すなわち我々の現行システムを含めて、ハードウェア要件が高い傾向があります。我々の現在の証明システムは、それぞれ80GB RAMを持つA100 GPUセット上で動作しています。高価で高性能なマシンが必要なことは、私たちの目標——ユーザー主導の分散型証明生成の未来——にとって大きな障壁となります。この目標を達成するには、証明生成を無許可化するだけでなく、数百GBのRAMを搭載した高価なマシンをユーザーが持つ必要がないようにしなければなりません。
ここでも我々は非常に注目すべき進展を遂げています!Boojum用のGPUプローバーはわずか16GBのRAMしか必要としません。この低いハードルは、我々が描く未来への重要な一歩です。CPUベースの証明は64GB RAM以下でも可能で、さらに32GBまで下げることを目指しており、現代のマルチコアプロセッサを最大限に活用します。
最後に、zkSync EraのRustベースのソーターはすでに毎秒100件以上のトランザクション(TPS)を処理できます。新しい証明システムの導入はパフォーマンスを向上させるだけでなく、ハードウェア要件を下げることで、ソーターとの理想的な組み合わせとなります。Boojumによるパフォーマンス向上により、システムはトランザクションをより速く証明できるようになり、ハードウェア要件の低下はより安価なマシンでもネットワークに参加できるようになり、横方向のスケーラビリティが向上します。
Boojumのメインネット導入までの道のり
チームはこのアップグレードの開発に数か月を費やしており、現在はメインネットでシステムをテストする段階に来ています。これまでのいくつかのエピソードも共有したいと思います。
zkSync Eraのアップグレード
まず第一に、zkSync Eraは各コンポーネントを時間とともにアップグレードできるように設計されており、証明システムも例外ではありません。
イーサリアムと同様に、Merkleツリーというデータ構造を使ってネットワーク状態に関する情報を保存しています。我々はシステム状態に関する声明を証明しているため、これらの情報は証明システムにとって不可欠です。このMerkleツリー(および証明システムとの相互作用方法)に関して、キーデザインの決定の一つとして、代数的でないハッシュ関数、具体的にはBlake2sを使用しました。証明生成の利便性だけを最適化するなら、代数的ハッシュ関数(例:Poseidon2)を使ったでしょう。しかし、そうすると観測可能な状態が証明システムのパラメータ(例:素数体の選択)と結合してしまうことになります。その結果、証明システムのアップグレードごとに状態の完全な再生成が必要になります。
設計からレビューまでのBoojumの旅
約1か月前、我々は新しい証明システムの実装について、完全なエンドツーエンド版の輪郭を徐々に固め始めました。この変更の複雑さとシステムの正確性の重要性を考慮し、内部および外部の監査を開始しました。
当時、zkEVM回路とBoojum算術化ライブラリは依然として積極的に開発中でしたが、外部のセキュリティ監査員と協力し、zkEVM回路とBoojumコンポーネントにおける健全性に関する潜在的な問題を早期に特定することに焦点を当てました。我々は密接に連携し、完全なソースコードとドキュメントへのアクセスを提供し、彼らは自動および手動のテスト手法を用いてzkEVM回路とBoojumのギミックをレビューおよびテストしました。
Boojum:レビューからテストへ
ここから今日へとつながります。我々の次の段階となるフェーズドロールアウト:メインネットシャドウモードです!既存の証明システムと並行して新しい証明システムを実行し始めました。ただし、Boojumは現時点ではテスト段階にとどまっています。すでにメインネットブロックに対して「シャドウ証明」の生成と検証を開始しています。
これらのシャドウ証明はzkSync Eraのメインネット版にとっては必須ではありません。メインネットは引き続き既存の証明システムによって駆動されます。我々はこれらのシャドウ証明を検証し、システムのさらなるテストと最適化を行いますが、その際にzkSync Eraのユーザー活動による実際の本番データを使用しています。
Boojum:テストからメインネットへ
我々が行うすべてのことに共通するのは、常にセキュリティが最優先事項だということです。新システムのテストに完全に満足した時点で初めて移行を検討し、今後数週間から数か月のうちに詳細を共有します。さらに、このエキサイティングなアップグレードを全面展開に近づけるために、さらなる監査とセキュリティ評価を計画しています。そして徐々に現在の証明システムを廃止していく予定です。
我々は、BoojumこそがzkEVMの次の段階として、より安全でスケーラブルかつ効率的なものになると信じています。
TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News














