Scrollの背後にある理念:コミュニティ主導、堅牢性、そして分散化
執筆:張烨、Scroll共同創設者
紹介
zkEVMは過去2年間非常に人気のあるトピックです。これは、イーサリアムのスケーリングの標準技術ソリューションとなりつつあります --- Layer 2での実装だけでなく、Layer 1でも --- 「最終的にはイーサリアム自体をSNARK化する」ことです。私たちは最初からプライバシーとスケーリング研究(PSE、Privacy and Scaling Explorations)チームと共にこの野心的な夢を推進しており、今後も共に構築することに尽力しています。
この記事では、zkEVMを構築する際に得た経験と、異なるトレードオフをどのように考慮しているかを共有したいと思います。私たちはエコシステム内の他のプロジェクトとは異なるアプローチを採用しており、これによりユニークな立場にあります。
コミュニティ主導の開発
Scrollは基本的にオープンソースのソリューションに支えられています。私たちはZcashの証明スタックを使用しており、初日からPSEチームと共にzkEVM回路を構築しています。コミュニティの努力と、構築中のすべてのツールに感謝しています。オープンソースの精神に則り、私たちの重要な理念の一つは、できるだけ多くのことをコミュニティに還元し、よりオープンで協力的な方法でコミュニティと共に構築し続けることです。これにより、私たちの価値観は他のプロジェクトとは異なります。具体的には、Scrollの開発をコミュニティ主導にするために以下のことを行いました:
広範な公共教育。私たちのアーキテクチャを理解してもらうために、世界中で多くの講演やイベントを開催しました。Devconnect、SBC、Devconなどで私たちを見つけることができます。より深く学びたい方のために、0xPARCで私たちの証明スタックに関する講義を行い、スタンフォードやバークレーでも私たちの研究成果についての講演を行いました。監査人向けには、私たちのコードベースに関する監査人会議を主催しました。また、一般的なゼロ知識証明やイーサリアムコミュニティのために教育リソースを頻繁に作成しています --- 毎週更新されるゼロ知識証明アプリケーション研究シリーズを開催し、ゼロ知識証明技術やイーサリアムに関する技術ブログを共有しました。
コミュニティと共に成長。初日から、私たちのzkEVMは完全にコミュニティ主導で開発されています。私たちのチームやPSEチームに加えて、多くのコミュニティメンバーがzkEVMの異なる部分に貢献しています(例えば、多くのオペコード回路は異なるコミュニティメンバーによって並行して実装され、keccak回路やsnark検証者に対しても優れた最適化が行われています)。私たちは、基盤となる検証スタックを改善するために、2週間ごとにコミュニティ電話会議を主導しています。私たちは驚くべき進展を遂げています --- 例えば、Halo2は現在GoldilocksとFRIをサポートしており、コミュニティの努力によって共有セキュリティと共有監査を実現するための堅実な基盤が築かれています!
コミュニティ主導の構築の利点は明らかです。私たちは多くの人々とアイデアを出し合い、より多くの創造性を得ることができます。また、すべてのPRは他のコミュニティメンバーからのより多くのコメントを受けるため、より安全であるとも言えます。一部の公共部分はプロジェクトを超えて共有されることもあります ------ 例えば、Axiomはペアリング回路を実装しており、これはzkEVMのプリコンパイルの最も難しい部分の一つです。
しかし、オープンな環境での構築には当然トレードオフもあります。多くの人々の中で調整することが難しくなり(コミュニケーションだけでなく、優先順位の面でも)、開発速度が遅くなることがあります。多くのPRがレビューを必要とし、合併基準が高くなるからです。
私たちのzkEVMのユニークな点は、イーサリアムがそのconsensus-specやexecution-specのために行っているように、Pythonバージョンの仕様を維持していることです。この仕様を維持することで、RustやHalo2に不慣れな人々が回路の論理を理解できるようになります。私の知る限り、他のzkEVM実装はこの作業に時間をかけておらず、主ネットをより早くリリースするためにそれを省略しています。
Scrollでは、このコミュニティ主導の方法でzkEVM全体を開発しています。私たちは、最初からコミュニティと共に構築することが正しい方法であると信じています。 「コミュニティ主導の開発」は単にオープンソースを意味するものではありません。これは、プライベートに構築し、ある日突然すべてのコードをオープンソースにすることを意味するものではありません。外部の貢献者の数や、プロジェクトが時間とともにどのように発展しているかによって測定されるべきです。私たちは初期段階での遅さを受け入れていますが、コミュニティが拡大するにつれて、後期のコミュニティ主導の開発の力を信じています。
イーサリアムはそのビジョンと価値を実現するために「引き算をする」という類似の戦略を採用しています。この考え方はシンプルです --- 彼らはすべてを自分たちで構築するのではなく、できるだけコミュニティをサポートします。これは、彼らが正しいバランスを求め、彼らにとって本当に重要なことに集中するのを助けました。私たちはまさに同じことをしています。私たちは自問します、「私たちはコミュニティが開発するのを助けるためにどのようなサポートを提供できるか?」私たちは、コミュニティ指向の方法が私たちをこの分野でユニークな立場に導くと信じています。
この理念は、他の競合他社とは異なるものにしています。後者は多くの人員を持ち、複数の内部ソリューションを構築し、さまざまな方向に狂ったようにマーケティングを行っています。一方、私たちは最も重要な部分を提供し、正しい方向を導くことに集中しています。
安全性を確保し、安定したリリースを行う
他のalt L1と比較して、安全性は人々がLayer 2を信じる最大の理由です ------ あなたはイーサリアムから安全性を引き継ぐことができ、Layer 2のオペレーターを信頼する必要はありません。しかし、すべての既存のLayer 2プロジェクトは、異なる程度の補助輪を持っており、まだその基準には達していません。例えば、optimistic rollupsに関しては、多くがすでにメインネットにオンラインになっていますが、依然としてアップグレード可能なキーが必要であり、無許可の詐欺証明をサポートしていません。
zkEVMにとっても、これは大きな問題です ------ 各プレイヤーは長いレースを行っており、メインネットをどのように実装するかに関わらず、何度も反復が必要です。 zkEVMに関するいくつかの基本的な問題はまだ解決されていません。例えば、証明者のコストは実行コストとは異なり、これがLayer 2のガス価格に影響を与えるか、セキュリティの脆弱性を引き起こす可能性があります。
私たちは安全性の問題を常に考慮し、最良の決定を下すよう努めています。以下に、いくつかの決定を挙げます:
EVM互換のアプローチを採用。このアプローチを採用する重要な理由の一つは、より良い開発者体験をもたらすことですが、もう一つの深い理由は、実戦で検証されたEVMモデルの安全性を引き継ぐことです。私たちは、Gethのようなインフラを再利用し、イーサリアムとの違いを最小限に抑えています。これにより、私たちのLayer 2のオーダーラーはLayer 1ノードの動作と完全に同じになるため、安全性が最大限に高まります。
コミュニティ指向のアプローチ。前述のように、外部のコミュニティレビュアーからのレビューを受けることで、コードの安全性をより強力に保証できます。ツールや証明スタックもプロジェクト間で共有されているため、現在のコードベースに対する関心が高まります。良い指標は「あなたのコードベースにどれだけの人が精通しているか?」、「どれだけの人が実際にそれを使用しているか?」です。
監査、監査、再監査。テスト、テスト、再テスト。私たちは監査人会議を開催し、監査人に私たちの開発スタックを紹介し、zkEVM回路のために業界最高の監査人を雇いましたが、外部監査だけでは不十分です。内部では、標準のEVMテストベクトルを統合し、メインネットブロックを証明するために多くのシミュレーションを行いました。さらに、私たちはzkEVMの形式検証やファジングテストを探索するための資金を提供しています。
内部セキュリティチームの設立。私たちのユニークな点は、非常に強力な内部セキュリティチームを持ち、私たちのコードベースに密接に注目していることです。最良のアプローチは、監査人による監査だけではなく、フルタイムのチームが私たちのコードの安全性に注目することです。私たち自身の安全性に加えて、他のプロジェクトを支援しています。例えば、私たちはAztecの回路エラーやConsensysのzkEVM証明者に対するセキュリティ攻撃を発見しました。
補助輪に関する研究。内部では、補助輪を削除するためのさまざまなソリューションや、私たちのzkEVMの[2FA](https://ethresear.ch/t/2fa-zk-rollups-using-sgx/14462)または3FAを確保する方法について研究を行っています。私たちは、これは最も重要なことだと信じていますが、より派手な新機能のマーケティングの声量よりも小さいです。進展があれば、私たちは常に成果を共有し、コミュニティと議論を行います。
高い安全基準を維持するために、私たちは各バージョンをより安定させ、既存のバージョンを反復して堅牢性と性能を向上させることを選択しています。 私たちはTwitterの毎週の更新のすべてをより透明にします。
私たちの安全第一の理念は、私たちのロードマップの最初の決定要因です。これは、どの方向に進むべきかを決定するのを助け、次の質問に答えることができます:
「今、EVM互換を目指すべきか、それともイーサリアム互換を目指すべきか?」
「私たちはまず分散型証明者を目指すべきか、それともオーダーラーを目指すべきか?」
「私たちは新機能を追加し続けるべきか、それとも補助輪を取り除くことに集中すべきか?」
これらの質問には、今後の投稿で一つずつ回答します。
各層の分散化が重要
イーサリアムの歴史を振り返り、なぜ人々がそれを信頼できる中立的な存在だと考えるのかを考えてみてください。これは単に先進的な技術のためだけではなく、今日の成果を達成するために歩んできた道のりによるものです。イーサリアムは各層で分散化されています(意思決定の透明性、社会的合意など)。同様に、私たちは複数の異なる層の分散化目標を定義し、自らに非常に高い基準を設定しました:
分散型証明者。私たちは分散型証明ネットワークのアイデアを最初に提案した者です。これは、完全な分散化を実現し、高い信頼性を確保するために実現する最初の技術的な道筋です。最適化の目標の一つは、証明コストを削減することで、より多くの人が証明者を運営できるようにし、さらなる分散化を促進することです。私たちは「最も早い証明者が常に勝つ」というジレンマを避けるよう意識的に努力しており、人々が高価なカスタムハードウェアに依存する必要がないようにしています。
分散型オーダーラー。分散型オーダーラーは、検閲に対抗するための重要なステップであり、私たちはこれに取り組んでいます。私たちは、これを実現するためのいくつかの内部提案を持っており、これらのアイデアをより広範な議論のために公開する予定です。私たちがまず分散型証明者を目指す理由は多くあります(例えば、バグのないzkEVMに対する懸念や、証明者とオーダーラーの間のより複雑な相互作用とインセンティブなど)。長期的には、プロトコルレベルでイーサリアムとオーダーラーの整合性を保つ方法を考えています。
発展とガバナンス。zkEVMの開発は、オープンソースの貢献者コミュニティを通じて分散化された方法で行われています。私たちはzkEVMと証明者コミュニティの電話会議を通じて彼らと調整しています。私たちの開発が進むにつれて、開発とガバナンスをますます透明にしていく予定です(開発決定プロセスを含む、イーサリアムのコア開発者会議に類似)。
エコシステムとコミュニティ。イーサリアムの「Infinite Garden」のビジョンに従い、私たちはエコシステムとコミュニティの持続的な成長を支援したいと考えています。したがって、特定の個別プロジェクトとの「パートナーシップ」を最小限に抑え、より中立的な立場からすべてのインフラをサポートします。私たちはマーケティングの観点から考えるのではなく、メッセージングとコミュニケーションの観点から考えています。私たちは自問します、「私たちはどのようにしてコミュニティに対してより透明性を持つことができるか?」私たちは、このアプローチがより分散化されたエコシステムを構築し、創造性を促進する最良の方法であると信じています。
社会的および文化的多様性。技術やエコシステムに加えて、私たちの目標は社会的および文化的なレベルでの別の層の分散化を実現することです。私たちのチームは複数の大陸(アジア、ヨーロッパ、北アメリカ、南アメリカ、オーストラリア)に分布しています。Scrollのチームメンバーはほぼ世界のどこにでも見つけることができ、地域に分散したコミュニティを構築することができます。私たちは文化的多様性と共に成長し、より深い社会的合意を得ることを目指しています。
Scrollだけでなく、イーサリアムのために構築する
スケーリングソリューションを構築する際、私たちはイーサリアムと高度に整合しています。イーサリアムには「すべてをzk-SNARK化する」という野心的な最終目標があります --- イーサリアムと同等のzkEVMを構築し、メインネットブロックを証明するために使用します。いつの日か、検証者がLayer 1のブロックを再実行する必要がなく、簡潔なゼロ知識証明を検証するだけで済むことを想像してみてください。いつの日か、あなたは一つの証明でイーサリアムの全歴史を検証できるかもしれません。これは非常に刺激的ではありませんか?
これがまさにPSEチームの目標です!同じコードベースで約2年間開発してきた共同構築者として、私たちはこの野心的な目標を直接推進しています。
現在、さまざまなタイプのzkEVMを分類するためのいくつかの基準が提案されています。しかし、これは最終的な結果がどのようであるべきかを説明するより高次の規範のようなものです。イーサリアムと同等のzkEVMを推進する主要な貢献者の一人として、私たちは目標と実現のための実際の道筋を区別するためにいくつかの異なるものを提案したいと考えています。 以下は、私たちがSANRKイーサリアムを実現するための道筋です:
信頼できるゼロ知識証明を使用してバイトコードレベルで互換性のあるzkEVMを実現する
Layer 1とzkEVMの発展を調整する関連施策を展開する
コミュニティ基準を達成し、最終目標を実現するためにイーサリアムを改善するEIPを提案する
現在、私たちは製品が完備されたバイトコード互換のzkEVMを展開する第一段階にあり、コミュニティ全体と共にイーサリアムの未来を構築することに尽力しています。高性能で十分に安全なイーサリアムと同等のzkEVMを構築するには数年かかる可能性があり、証明システムのアップグレード、新しい回路設計、ソフトウェアとハードウェアの加速に関する革新が必要です。しかし、より重要なのは、Layer 1レベルでそれを採用するために、イーサリアム自体がいくつかの変更を行う必要があることです。最終目標を実現する前に、イーサリアムのすべての重要なアップグレードはzkEVMを考慮する必要があります。
現在の主流の考え方は、Layer 2がLayer 1の変化に一方向に適応することです。しかし、rollupsが成熟するにつれて、私たちはもはやそうあるべきではないと考えています。RollupsはLayer 1の変化を推進する役割を果たすべきであり、RollupチームはLayer 1のインフラにおいてより重要な役割を果たすべきです(4844、Danksharing、Verkleツリー、PBS、1559など)。私たちは後方互換性の影響に注意を払う必要がありますが、歴史的な負担が未来の発展を制限すべきではありません。エコシステム全体が調和して、より良いイーサリアムを構築する必要があります。
結論
私たちは最初からコミュニティ主導の方法でzkEVMを開発し、より協力的な方法で構築し続け、コミュニティに還元することに尽力しています。私たちは安全性と分散化を非常に重視しており、これらの目標を実現する具体的なアプローチに集中しています。私たちの安全性の理念から、私たちは高い基準を設定し、各バージョンをより安全で安定させることを目指しています。私たちの分散化の理念から、私たちは技術スタック、開発プロセス、エコシステム、コミュニティ、社会的多様性を含むすべての異なる層の分散化を追求しています。
私たちは可能な限りブロックチェーンのオープン性と抗検閲性を推進したいと考えています。私たちは最初からユニークな道を選びました。私たちはLayer 2を構築するだけでなく、SNARKを通じてイーサリアム全体を実現するという野心的な目標を推進しています。私たちの理念は、イーサリアムのように機能し、infinite gardenの同じ未来に尽力することです!
関連リンク
0xPARC講演 http://learn.0xparc.org/materials/halo2/learning-group-1/cost-model/ Devconnect: https://twitter.com/ScrollZKP/status/1521677531438628864 バークレーイベント https://www.youtube.com/watch?v=Ct6H5GcnA0A\&t=2395s ゼロ知識証明アプリケーション研究シリーズ https://youtube.com/playlist?list=PLrzRr7okCcmbAlgYpuFjzUJv8tAyowDQY 監査人会議: https://www.youtube.com/playlist?list=PLrzRr7okCcmZmDrVozX5hhBQlsrpZdsij Twitter毎週更新 https://twitter.com/ScrollZKP/status/1621573571259793408 python-specs https://github.com/privacy-scaling-explorations/zkevm-specs