メインコンテンツまでスキップ

ゼロ知識証明、ロールアップ、そしてzkEVMという、ブロックチェーン技術の状況を急速に再定義している概念の興味深い世界へようこそ。この概要は、これらの高度な技術的構造を、その影響と可能性を理解しやすいように、分かりやすく解説しながら旅にご案内するものです。

私たちの目的は、これらの先進技術の理論的側面と実践的側面との間のギャップを埋め、現実世界での応用と潜在的な影響について包括的な理解を提供することです。したがって、あなたがこの分野の愛好家であろうと専門家であろうと、この概要がブロックチェーン技術におけるこれらの変革的な概念への包括的なガイドとなることを願っています。

zkEVM ロールアップ

ZKとは?

「ゼロ知識」とは、通常、暗号学における「ゼロ知識証明」として知られる概念を指します。これは、ある当事者(証明者)が、別の当事者(検証者)に対して、値xを知っているという事実以外のいかなる情報も伝えることなく、その値xを知っていることを証明できる方法です。

この用語は、検証者が主張の有効性以外の証明の詳細についてゼロの知識しか得られないという事実に由来しています。例えば、アカウントのパスワードを知っていることを証明しようとする場合、ゼロ知識証明は、パスワードが実際に何であるかを明かすことなく、あなたがパスワードを知っていることを確認できます。

ゼロ知識証明のアイデアは、プライバシー強化技術において重要です。例えば、これは一部の暗号通貨や、検証の必要性とプライバシーの必要性のバランスが不可欠な他のシステムにおける基本的な構成要素です。

ZKにおける証明

コンピューターサイエンスと暗号学の文脈において、証明とは、余分な情報を開示することなく、主張の有効性を確認するプロセスまたは方法です。その主張は、パスワードが何であるかを明かすことなく、パスワードを知っていることを証明するような単純なものでも構いません。

  • ZK-SNARK(ゼロ知識簡潔非対話型知識の引数):これは、計算と保存または送信が必要なデータ量の点で特に効率的なゼロ知識証明の一種です。「簡潔(Succinct)」とは、証明が小さく、検証が速いことを意味し、「非対話型(Non-interactive)」とは、やり取りの通信が不要であることを意味します。ZK-SNARKは、Zcashのようなプライバシー保護型ブロックチェーンシステムで使用されています。

  • ZK-STARK(ゼロ知識スケーラブル透過型知識の引数):これはゼロ知識証明のもう一つの形式です。これらも効率性を提供しますが、ZK-STARKはトラステッドセットアップを必要としないという追加の利点を提供します(これが頭字語の「透過型(Transparent)」の部分です)。ただし、ZK-STARKはZK-SNARKよりも計算負荷が高く、より大きな証明を生成します。ZK-STARKはFractal、SuperSonic、StarkWare、Polygon Midenなどで使用されています。

なぜブロックチェーンにZKが必要なのか?

ビットコインやイーサリアムのようなブロックチェーンネットワークの人気が高まるにつれて、これらのネットワークで処理されるトランザクションの数が劇的に増加しました。これは採用の肯定的な兆候ですが、いくつかの課題も伴います。ブロックチェーンは、その設計上、本質的にスケーラブルではないため、トランザクション時間の遅延や高額な手数料といった問題を引き起こします。

なぜスケーリングが必要なのでしょうか?

  1. 限られたトランザクションスループット:ブロックチェーンの各ブロックには容量の制限があり、数分ごとに新しいブロックが生成されます(2021年の最終更新時点では、ビットコインで約10分、イーサリアムで約15秒)。これにより、1秒間に処理できるトランザクションの数が制限されます。例えば、ビットコインは1秒あたり約3〜7トランザクション(tps)、イーサリアムは1秒あたり約15tpsを処理できます。これは、Visaのような従来のシステムが処理できる数千tpsよりもはるかに少ないです。

  2. 高額な手数料:ネットワークが混雑している場合、ユーザーはトランザクションを優先させるためにより高い手数料を支払う必要があることがよくあります。

  3. 遅い確認:需要が高い時期には、ネットワークが迅速に処理できるトランザクション数よりも多くのトランザクションがあるため、トランザクションの確認に長い時間がかかることがあります。

どのようにスケーリングするのか?

ブロックチェーンのスケーリングには、一般的に2つのアプローチがあります。レイヤー1(オンチェーン)スケーリングとレイヤー2(オフチェーン)スケーリングです。

  1. レイヤー1スケーリングは、ブロックチェーンプロトコル自体への変更を伴います。これには、ブロックサイズの増加(各ブロックがより多くのトランザクションを保持できるようにする)、ブロック時間の短縮、またはシャーディング(ネットワークをより小さな部分、つまり「シャード」に分割し、それぞれが独自のトランザクションとスマートコントラクトを処理できるようにする)の実装が含まれる場合があります。

  2. レイヤー2スケーリングは、既存のブロックチェーンの上に二次的なレイヤーを構築することを伴います。トランザクションはオフチェーンで処理され、その後オンチェーンで決済されます。レイヤー2ソリューションの例には、**ステートチャネル、プラズマチェーン、およびロールアップ(オプティミスティック・ロールアップとZK-ロールアップ)**があります。これらのソリューションは、本質的にほとんどのトランザクションをメインチェーンから移動させ、混雑を軽減します。

ブロックチェーンのスケーリングは、その分散型性質(一部のレイヤー1ソリューションによって損なわれる可能性がある)を維持することと、より多くのトランザクションを迅速かつ安価に処理する能力を高めることの間のバランスです。異なるブロックチェーンは、特定の目標と制約に基づいて、異なるスケーリングソリューションを選択する場合があります。

ZK技術は、ロールアップスケーリングソリューションに適用されます。

ロールアップとは?

「ロールアップ」は、イーサリアムのようなブロックチェーンのスループットを向上させるために設計されたレイヤー2ソリューションであり、その基盤となるプロトコルや「レイヤー1」を変更する必要はありません。これらは、多くのブロックチェーンが人気が高まるにつれて直面するスケーラビリティの問題を解決することを目的としています。

その仕組みを簡単に理解する方法は次のとおりです。

  1. オフチェーン集約:トランザクションは、メインチェーンから離れた「サイドチェーン」または「ロールアップチェーン」で収集および処理されます。この集約は、メインチェーンの混雑を避けるためにオフチェーンで行われます。

  2. 計算とストレージ:これらのトランザクションに関連するデータは、オフチェーンで処理および保存されます。これにより、メインチェーンの計算負荷が軽減されます。

  3. メインチェーンへの提出:トランザクションのロールアップが準備されると、集約されたトランザクションの証明(これはSNARKやSTARKのような暗号学的証明、または単にデータのハッシュである場合があります)がメインチェーンに提出されます。この証明は、個々のトランザクションの完全なリストよりもはるかにサイズが小さくなります。

  4. 検証:メインチェーンのバリデーターがこの証明を検証します。検証されると、バンドルされたトランザクションは確認済みと見なされます。

ロールアップには、主に2つのタイプがあります。オプティミスティック・ロールアップとZK-ロールアップです。

  1. オプティミスティック・ロールアップ:これらは「不正証明」のシステムに依存しています。本質的に、誰かが不正であると証明しない限り、トランザクションのロールアップは正しいと仮定します。

  2. ZK-ロールアップ:これらはゼロ知識証明を使用して、各トランザクションのロールアップの正確性を検証します。ZK-ロールアップは、不正証明に依存しないため、確認のための待機期間を必要としないという利点があります。

どちらのソリューションも、ブロックチェーン上で1秒あたりに処理できるトランザクション数を増やすのに役立ち、スケーラビリティの向上につながります。以下にそれらの違いを示します。

オプティミスティック・ロールアップZK-ロールアップ
スループット推定約500 TPS✅ 2000 TPS以上
資金引き出し期間数週間✅ 数分から数時間
プライバシー高価✅ 安価
EVM互換⚠️ Solidityコードの調整が必要
コスト✅ 低い❌ 高い

ZK-ロールアップ vs. zkEVM

ZK-ロールアップとzkEVMはどちらもイーサリアム向けにゼロ知識証明を使用するレイヤー2スケーリングソリューションですが、異なるレベルの機能性を対象としています。

  1. ZK-ロールアップ:これは、多くのトランザクションを単一のトランザクションにバンドルまたは「ロールアップ」することで、1秒あたりに処理できるトランザクション数を大幅に増加させる特定の種類のレイヤー2ソリューションです。各ZK-ロールアップには、状態遷移と、その遷移が正しいことを示す証明が含まれています。しかし、従来、ZK-ロールアップは処理できる計算の複雑さに限界があり、主に単純な送金に使用されてきました。
  2. zkEVM(zk Ethereum Virtual Machine):これは、ゼロ知識証明の力をイーサリアム仮想マシン(EVM)にもたらす、より最近の開発です。EVMは、イーサリアム上のすべてのスマートコントラクトが実行される環境です。zkEVMは、単純な送金だけでなく、より複雑なスマートコントラクトのインタラクションをゼロ知識証明を使用してロールアップすることを可能にします。言い換えれば、zkEVMは、任意の計算をゼロ知識で検証可能にすることを目指しており、事実上、イーサリアムのスマートコントラクト機能全体をZK-ロールアップを介してスケーリングできるようにします。

zkEVM vs EVM

EVMはイーサリアムにおけるスマートコントラクトのランタイム環境です。これは、開発者がスマートコントラクトの形で複雑なスクリプトを記述し、それらがイーサリアムネットワーク上でトランザクションが発生する際に実行されることを可能にする強力なシステムです。したがって、EVM互換性とは、レイヤー2ソリューションがEVMと同じ方法で同じスマートコントラクトを実行できることを意味します。

互換性の一般的なレベルは次のとおりです。

  1. EVM同等(EVM-Equivalent):これは最高の互換性レベルです。EVM同等のソリューションは、イーサリアムメインチェーンで実行できるスマートコントラクトを、変更なしで実行できます。EVMの機能を完全に再現します。例えば、zkSync 2.0は、ZK-ロールアップでEVM同等の機能を提供すると主張しています。
  2. EVM互換(EVM-Compatible):EVM互換のソリューションは、EVMと同じスマートコントラクトの多くを実行できますが、すべてではありません。レイヤー2ソリューション内で動作させるために、スマートコントラクトにいくつかの調整が必要になる場合があります。
  3. 非EVM互換(Non-EVM-Compatible):非EVM互換のソリューションは、イーサリアムメインチェーンで利用可能なものとは異なる機能を提供します。例えば、単純なトランザクションは処理できますが、複雑なスマートコントラクトは処理できない場合があります。

zkEVMプロジェクトの目標は、完全またはほぼ完全なEVM同等の機能を提供するZK-ロールアップを開発することです。これにより、開発者は分散型アプリケーションを大幅な変更なしにこれらのレイヤー2ソリューションに移植でき、EVMが提供する機能を犠牲にすることなく、向上したスケーラビリティの恩恵を受けることができます。

市場のzkEVMソリューション

Scroll

2021年に設立されたScrollチームは、イーサリアムのスケーリングに向けた継続的な取り組みの一環として、イーサリアムのEVM(Ethereum Virtual Machine)と同等のZKロールアップの開発に尽力してきました。Privacy and Scaling Explorationsチームや他のオープンソース貢献者と協力し、Scrollは過去2年間を費やして、バイトコード互換のzkEVM(ゼロ知識イーサリアム仮想マシン)を公開で構築してきました。

Scrollは2月末に、そのAlphaテストネットがGoerliネットワークで稼働中であることを発表しました。このAlphaテストネットは、すべてのユーザーが許可なく技術テストに参加でき、平均ブロック時間は3秒です。現在までに、2000万件以上のトランザクションを処理し、150万個以上のブロックを生成し、400万以上のアドレスがインタラクションを行っています。さらに、4月11日には、Scrollはウェブサイトのエコシステムインターフェースを公開しました。

最近の開示によると、Scrollはタイプ2 EVM同等性の道を着実に進んでいます。彼らはすべてのEVMオペレーションコードの互換性開発を成功裏に完了し、現在監査プロセスを受けています。彼らの次の目標は、EIP2718トランザクションとの互換性を確保することです。

技術的な観点から見ると、Scrollのアーキテクチャは比較的伝統的です。その主な焦点はzkEVMであり、レイヤー2(L2)でのEVM実行の正確性を検証する責任を負います。しかし、zkEVMをイーサリアム上の包括的なZKロールアップに変えるには、完全なL2アーキテクチャが必要です。具体的には、既存のScroll Alphaテストネットは、Scrollノード、ブリッジコントラクト、およびロールアップコントラクトで構成されています。

Scrollノードは、シーケンサー、リレイヤー、およびコーディネーターで構成されています。オーダーラーとして知られるシーケンサーは、ユーザーおよびアプリケーションにJSON-RPCを公開し、トランザクションプールからトランザクションを読み取り、L2ブロックとステートルートを生成します。現在、Scrollのシーケンサーノードは集中型ですが、将来のアップグレードで段階的に分散化する計画です。

Scroll アーキテクチャ

コーディネーターは、ローラーとScrollノード間の通信を処理し、シーケンサーで新しいブロックが作成されるたびに、プールからランダムにローラーを選択して証明を生成します。リレイヤーは、イーサリアムチェーンとScrollチェーンの両方でブリッジコントラクトとロールアップコントラクトを監視します。ロールアップコントラクトは、レイヤー1(L1)レベルでのL2データの可用性を保証し、L1レベルでのL2ブロックの回復を確実にします。ブリッジコントラクトは、クロスチェーン操作中のチェーン間通信を担当し、双方向メッセージ送信と資産の担保化および抽出操作を容易にします。

最後に、ローラーネットワークが重要な役割を果たします。zkEVMが組み込まれたローラーは、ネットワーク内で証明者として機能し、ZKロールアップの有効性証明を生成します。ローラーは最初に、コーディネーターから受信した実行トレースを回路証人に変換します。次に、各zkEVM回路の証明を生成し、最終的に複数のZK回路からのこれらの証明を集約します。

この洗練されたアーキテクチャ設計は、zkEVMロールアップを通じてイーサリアムのスケーラビリティを強化するというScrollの揺るぎない献身を示しています。彼らの公開性と透明性のある開発慣行は、オープンソースコミュニティ内での協力がもたらす可能性の輝かしい例です。

StarkWare

StarkWareは、レイヤー2(L2)で安全性、速度、シームレスなユーザーエクスペリエンスを保証するSTARKベースのスケーリングソリューションを提供することで、ブロックチェーン技術の限界を押し広げています。彼らは複数のデータ可用性モードをサポートしており、StarkNetとStarkExなどの製品を提供しています。

StarkNetは彼らのL2ネットワークであり、StarkExはエンタープライズユーザー向けに設計されたロールアップ検証サービスです。DApps(分散型アプリケーション)はStarkExサービスの上に構築できます。ただし、このサービスは現在、特定のDApps向けのカスタム回路記述のみをサポートしており、ユニバーサルなzkEVMロールアップはサポートしていません。StarkExには、NFTのミントと取引、デリバティブ取引など、いくつかのプラグアンドプレイサービスも含まれています。エコシステムの観点から見ると、分散型先物契約取引プラットフォームであるdYdXは、StarkWareの忠実なユーザーです。

厳密に言えば、StarkNetはzkVM(ゼロ知識仮想マシン)として記述できます。イーサリアムのオペコードにZK回路を使用しません。代わりに、よりZKフレンドリーなアセンブリ言語であるAIR(Algebraic Intermediate Representation)と、高水準言語であるCairoを採用しています。StarkNet自体はEVMと互換性がありませんが、Cairoで記述されたzkEVMであり、バイトコード同等のEVMであるKakarotのような方法を通じてイーサリアムとの互換性を実現できます。集中化の特性に関して言えば、StarkNetはやや集中化されており、イーサリアムに沿ってセキュリティをアップグレードすることはできません。したがって、開発者がそのセキュリティ機能を強化し、新しいプロトコルへの適応においてイーサリアムに追いつくためには、集中的な努力が必要です。

StarkNetは、SNARKと比較してより多くの革新をもたらす証明システムとしてSTARKを採用しています。SNARKとは異なり、STARKは「トラステッドセットアップ」に依存しません。さらに、楕円曲線、ペアリング、指数知識の仮定の必要性を排除し、より単純な暗号学的仮定を提供します。代わりに、ハッシュと情報理論のみに依存しており、量子攻撃に対してより耐性があります。全体的に、STARKはSNARKよりも安全です。スケーラビリティの観点から見ると、STARKは実質的な限界効果を持ち、より大きな証明が総コストの低下につながります。

しかし、アーキテクチャ上の懸念があります。現在、システムにはStarkWareによって制御されるシーケンサーが1つと、ZK証明の生成を担当するプロバーが1つしかありません。このプロバーはStarkNetだけでなく、独自のStarkExロールアップで実行されている他のすべてのアプリケーションの証明も生成します。この制御の集中は、長期的には潜在的なリスクをもたらす可能性があります。

結論として、StarkWareはSTARKベースのスケーリングアーキテクチャでL2ソリューションの開発を主導しています。しかし、すべての技術と同様に、その将来の成功は、集中化の問題にどれだけうまく対処し、セキュリティ、速度、ユーザーエクスペリエンスのバランスを維持できるかにかかっています。

zkSync

StarkNetと同様に、zkSyncも高水準言語同等のzkVMを選択することに固執しており、非常に高い注目とロックされた価値を集めています。2020年6月15日にイーサリアムメインネットでローンチされたzkSync 1.0(zkSync Liteとしても知られる)は、約300 TPS(1秒あたりのトランザクション数)のトランザクションスループットを達成しましたが、イーサリアムのEVM(Ethereum Virtual Machine)とは互換性がありませんでした。zkSync 2.0(zkSync Eraとも呼ばれる)は2023年3月24日にローンチされました。

zkSync Eraの目的は、EVM互換性を追求するのではなく、カスタム構築されたVMを最適化することで、より迅速に証明を生成することです。強力なLLVMコンパイラを通じてSolidity、Vyper、Yul、およびZinc(ロールアップの内部プログラミング言語)をサポートし、ほとんどのスマートコントラクト機能を実装しています。自社開発のVMを採用しているため、zkSync Eraはネイティブなアカウント抽象化をサポートしており、任意のアカウントが任意のトークンを使用して手数料を支払うことができます。

さらに、ZKロールアップとシャーディング技術を組み合わせたzkPorterプロトコルの適用により、ネットワークスループットは飛躍的に向上し、20,000 TPSを超えました(Volitionのデータ可用性切り替えと同様)。

全体として、zkSyncは豊富なエコシステムを持つL2プロジェクトとして、開発者と投資家の両方から注目を集めています。最近、zkSync上でプロジェクトが完全に失敗したケースもありますが、開発者が高水準言語同等のzkVMで良好な開発および移行体験を得られるかどうかについては疑問が残ります。現在、開発者からの明確な使用レポートは不足しています。もし開発者体験が良好であれば、zkVMをEVMに合わせるための他の種類の努力の関連性について疑問が生じます。これらの質問に答えるには、さらなる時間と観察が必要です。

結論として、zkSyncは高水準言語同等のzkVMへの固執により、イーサリアムのレイヤー2スケーリングソリューションの世界において、エキサイティングな進化を提示しています。プロジェクトが成熟し続けるにつれて、ブロックチェーン開発とユーザーエクスペリエンスへのその影響はより明確になり、レイヤー2技術の未来に対する私たちの理解に貢献するでしょう。

Polygon zkEVM

3月27日、Polygonはイーサリアム同等の仮想マシンであるzkEVMロールアップメインネットのベータ版をローンチし、そのzkEVMコードのすべてをオープンソース化しました。PolygonのzkEVMにおけるロックされた価値はzkSyncと比較して著しく低いものの、そのエコシステム内には多様で興味深く活気のあるプロジェクトが多数存在します。

Polygonは、シーケンサーとアグリゲーターをインセンティブ化するためにプルーフ・オブ・エフィシエンシー(PoE)モデルを採用し、分散化とパーミッションレスバリデーターに関連する課題に取り組む点で、Scrollとは異なるロールアップ設計を採用しています。このパーミッションレスなシーケンサー・アグリゲーターの2段階モデルでは、どのシーケンサーもバッチパッケージングアプリケーションを提案してパッケージング手数料を得ることができますが、レイヤー1(L1)のガス料金を支払い、一定量のトークンを預ける必要があります。同時に、アグリゲーターは証明生成あたりの利益を最大化するために独自の目標を設定する必要があります。さらに、Polygonはデータ可用性モデルにおいてVolition(ZKロールアップとValidiumの融合)との深い互換性を示し、ユーザーに様々なレベルのサービスを提供しています。

PolygonはZKプロトコルにも多大な努力を注ぎ、顕著な成果を上げています。彼らはその技術的利点をドキュメントにまとめており、主に以下のものが含まれます。

  1. 互換性の向上:Polygonは一貫してEVM同等のzkVMにこだわり、分散型アプリケーション(dApps)を移行する開発者のコスト削減を目指しています。Polygon MidenがZK-STARKプロトコルを利用しているにもかかわらず、Solidityコントラクトの実行を依然としてサポートしています。
  2. 検証の容易化:ZKロールアップは、有効性証明を生成するために高価な特殊ハードウェアが必要であるという批判に直面することがよくあります。これらのコストは、ハードウェアを運用するメーカーによってユーザーに転嫁されます。Polygon ZKロールアップ(Polygon Zeroなど)は、証明スキームを簡素化し、低グレードのデバイスでも参加できるようにすることを目指しています。例えば、消費者向けPCで実行されたPlonky2の証明生成テストなどです。
  3. より高速な証明生成と検証プロセス:Polygon Zeroは、170ミリ秒以内に45kbの証明を生成できます。

まとめると、PolygonがzkEVMロールアップメインネットのベータ版をローンチしたことは、イーサリアムのレイヤー2技術の進化における重要な一歩を意味します。その堅牢なエコシステムと、互換性の強化、検証の容易化、および証明生成の高速化への継続的なコミットメントにより、Polygonはブロックチェーン空間で説得力のある物語を確立しています。

まとめ

この概要では、ブロックチェーン技術の主要な側面であるzk、ロールアップ、およびzkEVMを中心に解説しました。また、Scroll、StarkWare、zkSync、Polygonなどが提供するソリューションも比較しました。

しかし、万能薬はありません。zkEVMに関して議論した主な問題には、集中化、高コスト、複雑さがあります。

  • 集中化は主にシーケンサーとプロバーの制御に関連しており、分散化の範囲を制限する可能性があります。
  • 複雑さは、複雑なコーディング要件と、証明を生成および検証するための専門知識の必要性から生じる、もう1つの重要な課題です。
  • zkEVMの高コストは、有効性証明を生成するために必要なかなりのリソースに起因し、しばしばユーザーに転嫁されます。しかし、証明生成を簡素化し、コストを削減するための進歩がなされており、これらの問題に対する潜在的な解決策を示唆しています。