# バリディティロールアップ: イーサリアムのスケーラビリティへの最適な解決策?有効性ロールアップ (VRs)、または zk-rollups は、安全かつ分散型の方法でイーサリアムのスループットを向上させる最も有望なソリューションと見なされています。このスケーリングソリューションの核心は、有効性証明を使用した検証可能な計算です。その動作原理は以下の通りです:オペレーターは、トランザクションの実行をオフチェーン環境(第2レイヤー)に移動して処理します。大量のトランザクションを処理した後、第2レイヤーオペレーターは結果を返し、イーサリアムの状態に適用します。同時に、オフチェーン実行の完全性を検証するための有効性証明を提供します。この証明は、バッチ内のすべてのトランザクションが有効であり、オンチェーン検証者契約によって自動的に検証されることを保証します。これにより、イーサリアムは結果をその状態に適用できます。注意が必要なのは、Validity Rollupsは通常「ゼロ知識ロールアップ」と誤って呼ばれますが、これは正確ではありません。ほとんどのValidity RollupはZKPを使用せず、プライバシーを確保するためにも使用されません。したがって、「Validity Rollup」という用語がより正確です。! [なぜValidity RollupsはEthereumをスケーリングするための最も有望な方法なのですか? ](https://img-cdn.gateio.im/social/moments-153dacb136e22a06d86040ffe5e822e0)## オフチェーン仮想マシン仮想マシン(VM)は、プログラムを実行できる環境で、Mac上でWindowsオペレーティングシステムを実行するのに似ています。特定の入力に対して計算を実行した後、状態間を変換します。イーサリアム仮想マシン(EVM)は、イーサリアムのスマートコントラクトを実行するためのVMです。ゼロ知識仮想マシン(zkVM)は、プログラムの実行環境であり、プログラムが正しく実行されたことを証明するための検証可能な有効性証明を生成することができます。"zkEVM"は通常、イーサリアム仮想マシン(EVM)を利用し、EVMの実行を証明できるものを指します。この用語は誤解を招く可能性があります。なぜなら、EVM自体はこれらの証明を生成しないからです。むしろ、証明はEVMの実行結果を起点とする別の証明メカニズムによって生成されます。さらに、これらの証明は有効性に焦点を当てており、プライバシーではないため、完全なゼロ知識証明ではありません。すべてのValidity Rollupsは有効性証明を利用してイーサリアムを拡張することを目的としていますが、オフチェーン取引を実行するためにVMを選択する際にはそれぞれ異なります。多くのValidity RollupsはEVMの設計をコピーすることを選び、(「zkEVM rollups」と呼ばれ、L2 rollup上でイーサリアムを複製しようとしています。一方、別のアプローチは専用に設計された新しいタイプのVM - Cairo VM )CVM(を使用し、有効性証明の効率を最適化することを目的としています。この2つの方法にはそれぞれ利点と欠点がありますが、zkEVMは性能を犠牲にしてイーサリアムとの互換性を得る一方、Cairo VMは性能を互換性の上に置き、拡張能力を優先します。## zkEVMのアプローチzkEVMは、イーサリアムの体験を完全にLayer-2ブロックチェーンに導入することを目指しています。これの目的は、イーサリアムの開発環境をコピーして集約することです。zkEVMを利用することで、開発者はスマートコントラクトを書く際や、スマートコントラクトをよりスケーラブルなソリューションに移植する際に、コードを変更したり、EVMツール)やスマートコントラクト(を放棄する必要がありません。この方法の主な欠点の一つは、有効性証明の拡張ポテンシャルが低下することです。zkEVMはイーサリアムとの互換性を重視しているため、速度が遅く、リソース集約度が高くなります。CVMとは異なり、EVMは設計時に証明効率を考慮していません。これにより、効率とスケーラビリティを向上させるための最適化の使用が制限され、最終的にはシステム全体の性能に影響を与えます。## EVMのプロバビリティの課題zkEVMメソッドの核心的な課題は、EVMの元々の設計に起因します - それは有効性証明環境での実行のために設計されていません。そのため、その機能を反映する試みは有効性証明の潜在能力を十分に引き出すことができず、効率が悪化します。このような低効率は、最終的にはシステム全体のパフォーマンスに影響を与えます。EVMと有効性証明の互換性は以下の要因に制約されています:1. EVMはスタックベースのモデルを採用しており、有効性証明はレジスタベースのモデルにより適しています。EVMのスタック特性は、その実行の正当性を証明する難易度を増加させ、ネイティブツールチェーンへの直接サポートを提供することをさらに困難にします。2. イーサリアムのストレージレイアウトは、Keccakと大規模なMerkle Patricia Treeに大きく依存しており、これらはどちらも有効性証明には不利であり、大量の証明負担を増加させます。例えば、Keccakはx86アーキテクチャ上で非常に高速に実行されますが、証明するためには90kステップが必要です。それに対して、zkフレンドリーなPedersenハッシュ関数は32ステップしか必要ありません。再帰的圧縮を使用しても、zkEVMでKeccakを使用すると、ユーザーは大量の証明者リソースコストを負担しなければなりません。したがって、さまざまなzkEVMソリューションはイーサリアムツールに異なるレベルのサポートを提供します - zkEVMとイーサリアムの互換性が高いほど、性能は低下します。## Cairo-VMのメソッドzkEVMが「EVMをValidity Rollupsに適応させる」ために多くの開発時間を投入したのとは異なり、Cairo-VMは全く新しい専用の仮想マシン設計を採用し、その上にイーサリアムツールのサポートを追加レイヤーとして加えました。これは2021年11月にリリースされた無許可のValidity Rollup - Starknetが採用した方法です。Starknetは完全に相互運用可能なネットワーク上で汎用スマートコントラクトプラットフォームを提供する最初のValidity Rollupです。StarknetはCairo-VM )CVM(を使用しています。これは同名の高級言語です。Cairo-VMは、プログラム実行の有効性証明を効率的に生成するために設計されたVMです。Cairo)仮想マシンと言語(を使用して、私たちは次のものを得ました:1. 最適化された有効性証明 - 各命令には有効な代数表現があります2. 証明可能なプログラムを書くためのRust系言語3.高度なCairoとCairoアセンブリ)VM命令(の間の中間表現)Sierra(により、Cairoコードの効率的な実行が可能新しい言語を開発することで、特定のニーズに応じてカスタマイズすることができ、以前は満たされていなかった機能を備えることができます。## Cairoとコーディングの多様化Cairo言語は、最初に有効性証明を生成するプロセスを簡素化し、StarkExに機能や複雑なビジネスロジックを追加することを容易にすることを目的としていました。Cairoプログラムは、代数マシンコード - 数字のシーケンス - にコンパイルされ、固定されたVMによって実行されます。Cairoを使用することで、計算を記述する数学的制約の複雑さが抽象化され、固定された制約セット)の合計50未満の制約(で捉えられます。したがって、開発者は基礎となる数学やインフラを理解することなく、有効性証明を利用してアプリケーションを拡張でき、自分が慣れ親しんだ構文でコードを書くことができます。Starknetは革新に重点を置いており、これはその多様なコードアプローチに表れています。CairoはSTARKsを使用して最適なスケーラビリティを得る能力があり、これはCairoで契約を直接書く人々に限られません。開発者は自分に最も適した方法を選択できます:1. Cairoで直接コードを書く: Cairo 1.0のリリースに伴い、開発者は人間工学に基づいた安全なRustのような言語を使用できるようになり、プログラムロジックの記述がより容易で間違いを起こしにくくなりました。2. Solidity互換性:Solidity開発者はCairo VMで使用可能なコードを書くことができます。このアプローチは、イーサリアムに似た開発体験を提供し、SolidityスマートコントラクトをStarknetに移植可能にします。実装方法は2つあります: - トランスパイル: あるプログラミング言語のソースコードを別の言語に変換すること。あるチームがWarpトランスパイラを作成し、SolidityコードをCairoにトランスパイルするために使用される。WarpはSolidityスマートコントラクトをStarknetにポータブルにし、実質的にそれをType 4 zkEVMにする。ごくわずかな変更でDEXコントラクトのトランスパイルとデプロイに使用されている。 - Starknet上のzkEVM: Cairo VMは別のVMの実行を証明するために使用できます。KakarotはCairoで書かれたzkEVMで、Starknet上でイーサリアムスマートコントラクトを実行するために使用できます。Cairo VMとzkEVMは競合するソリューションではなく、私たちはCairo VMとzkEVMを同時に持つことができます!短い期間にもかかわらず、CairoはTVLランキングで4番目に人気のあるスマートコントラクト言語となり、3.5億ドル以上の資金調達を受けています。## まとめzkEVMは、イーサリアム環境をrollupとして複製し、開発者が馴染みのあるイーサリアムツールを使用できるようにすることを目指しています。しかし、このアプローチは、有効性証明の全ての可能性を制限し、資源を多く消費する可能性があります。Cairo VMは有効性証明システムのために設計されており、EVMの制約を受けません。新しい、安全で人間工学に基づいたRust類似のプログラミング言語Cairo 1.0によってサポートされており、STARK証明を使用して最大の効率を実現するために設計された強力なツールを形成します。Cairoの継続的な進展やKakarot zkEVM、Warpなどの多様な開発選択肢の増加は、非常に刺激的です。Cairoベースのアプリケーションが生産段階に入るにつれて、Cairoの強力な機能が示され、将来的にはより野心的なプロジェクトに使用されると信じています。STARK拡張のさまざまな手段と、今後数か月のうちに必ず登場する他の手段のおかげで、開発者は現在、ブロックチェーンの拡張に対して前例のない制御能力を持っています。! [なぜValidity RollupsはEthereumをスケーリングするための最も有望な方法なのですか? ])https://img-cdn.gateio.im/social/moments-12eef6e2fc5e11f187106BDD011fd720(
バリデイティロールアップ:EVMとCairo VMの争いがイーサリアムのスケーリングの新しい方向性を導く
バリディティロールアップ: イーサリアムのスケーラビリティへの最適な解決策?
有効性ロールアップ (VRs)、または zk-rollups は、安全かつ分散型の方法でイーサリアムのスループットを向上させる最も有望なソリューションと見なされています。このスケーリングソリューションの核心は、有効性証明を使用した検証可能な計算です。その動作原理は以下の通りです:
オペレーターは、トランザクションの実行をオフチェーン環境(第2レイヤー)に移動して処理します。大量のトランザクションを処理した後、第2レイヤーオペレーターは結果を返し、イーサリアムの状態に適用します。同時に、オフチェーン実行の完全性を検証するための有効性証明を提供します。この証明は、バッチ内のすべてのトランザクションが有効であり、オンチェーン検証者契約によって自動的に検証されることを保証します。これにより、イーサリアムは結果をその状態に適用できます。
注意が必要なのは、Validity Rollupsは通常「ゼロ知識ロールアップ」と誤って呼ばれますが、これは正確ではありません。ほとんどのValidity RollupはZKPを使用せず、プライバシーを確保するためにも使用されません。したがって、「Validity Rollup」という用語がより正確です。
! なぜValidity RollupsはEthereumをスケーリングするための最も有望な方法なのですか?
オフチェーン仮想マシン
仮想マシン(VM)は、プログラムを実行できる環境で、Mac上でWindowsオペレーティングシステムを実行するのに似ています。特定の入力に対して計算を実行した後、状態間を変換します。イーサリアム仮想マシン(EVM)は、イーサリアムのスマートコントラクトを実行するためのVMです。
ゼロ知識仮想マシン(zkVM)は、プログラムの実行環境であり、プログラムが正しく実行されたことを証明するための検証可能な有効性証明を生成することができます。"zkEVM"は通常、イーサリアム仮想マシン(EVM)を利用し、EVMの実行を証明できるものを指します。この用語は誤解を招く可能性があります。なぜなら、EVM自体はこれらの証明を生成しないからです。むしろ、証明はEVMの実行結果を起点とする別の証明メカニズムによって生成されます。さらに、これらの証明は有効性に焦点を当てており、プライバシーではないため、完全なゼロ知識証明ではありません。
すべてのValidity Rollupsは有効性証明を利用してイーサリアムを拡張することを目的としていますが、オフチェーン取引を実行するためにVMを選択する際にはそれぞれ異なります。多くのValidity RollupsはEVMの設計をコピーすることを選び、(「zkEVM rollups」と呼ばれ、L2 rollup上でイーサリアムを複製しようとしています。一方、別のアプローチは専用に設計された新しいタイプのVM - Cairo VM )CVM(を使用し、有効性証明の効率を最適化することを目的としています。
この2つの方法にはそれぞれ利点と欠点がありますが、zkEVMは性能を犠牲にしてイーサリアムとの互換性を得る一方、Cairo VMは性能を互換性の上に置き、拡張能力を優先します。
zkEVMのアプローチ
zkEVMは、イーサリアムの体験を完全にLayer-2ブロックチェーンに導入することを目指しています。これの目的は、イーサリアムの開発環境をコピーして集約することです。zkEVMを利用することで、開発者はスマートコントラクトを書く際や、スマートコントラクトをよりスケーラブルなソリューションに移植する際に、コードを変更したり、EVMツール)やスマートコントラクト(を放棄する必要がありません。
この方法の主な欠点の一つは、有効性証明の拡張ポテンシャルが低下することです。zkEVMはイーサリアムとの互換性を重視しているため、速度が遅く、リソース集約度が高くなります。CVMとは異なり、EVMは設計時に証明効率を考慮していません。これにより、効率とスケーラビリティを向上させるための最適化の使用が制限され、最終的にはシステム全体の性能に影響を与えます。
EVMのプロバビリティの課題
zkEVMメソッドの核心的な課題は、EVMの元々の設計に起因します - それは有効性証明環境での実行のために設計されていません。そのため、その機能を反映する試みは有効性証明の潜在能力を十分に引き出すことができず、効率が悪化します。このような低効率は、最終的にはシステム全体のパフォーマンスに影響を与えます。EVMと有効性証明の互換性は以下の要因に制約されています:
EVMはスタックベースのモデルを採用しており、有効性証明はレジスタベースのモデルにより適しています。EVMのスタック特性は、その実行の正当性を証明する難易度を増加させ、ネイティブツールチェーンへの直接サポートを提供することをさらに困難にします。
イーサリアムのストレージレイアウトは、Keccakと大規模なMerkle Patricia Treeに大きく依存しており、これらはどちらも有効性証明には不利であり、大量の証明負担を増加させます。例えば、Keccakはx86アーキテクチャ上で非常に高速に実行されますが、証明するためには90kステップが必要です。それに対して、zkフレンドリーなPedersenハッシュ関数は32ステップしか必要ありません。再帰的圧縮を使用しても、zkEVMでKeccakを使用すると、ユーザーは大量の証明者リソースコストを負担しなければなりません。
したがって、さまざまなzkEVMソリューションはイーサリアムツールに異なるレベルのサポートを提供します - zkEVMとイーサリアムの互換性が高いほど、性能は低下します。
Cairo-VMのメソッド
zkEVMが「EVMをValidity Rollupsに適応させる」ために多くの開発時間を投入したのとは異なり、Cairo-VMは全く新しい専用の仮想マシン設計を採用し、その上にイーサリアムツールのサポートを追加レイヤーとして加えました。これは2021年11月にリリースされた無許可のValidity Rollup - Starknetが採用した方法です。Starknetは完全に相互運用可能なネットワーク上で汎用スマートコントラクトプラットフォームを提供する最初のValidity Rollupです。
StarknetはCairo-VM )CVM(を使用しています。これは同名の高級言語です。Cairo-VMは、プログラム実行の有効性証明を効率的に生成するために設計されたVMです。
Cairo)仮想マシンと言語(を使用して、私たちは次のものを得ました:
新しい言語を開発することで、特定のニーズに応じてカスタマイズすることができ、以前は満たされていなかった機能を備えることができます。
Cairoとコーディングの多様化
Cairo言語は、最初に有効性証明を生成するプロセスを簡素化し、StarkExに機能や複雑なビジネスロジックを追加することを容易にすることを目的としていました。Cairoプログラムは、代数マシンコード - 数字のシーケンス - にコンパイルされ、固定されたVMによって実行されます。Cairoを使用することで、計算を記述する数学的制約の複雑さが抽象化され、固定された制約セット)の合計50未満の制約(で捉えられます。したがって、開発者は基礎となる数学やインフラを理解することなく、有効性証明を利用してアプリケーションを拡張でき、自分が慣れ親しんだ構文でコードを書くことができます。
Starknetは革新に重点を置いており、これはその多様なコードアプローチに表れています。CairoはSTARKsを使用して最適なスケーラビリティを得る能力があり、これはCairoで契約を直接書く人々に限られません。開発者は自分に最も適した方法を選択できます:
Cairoで直接コードを書く: Cairo 1.0のリリースに伴い、開発者は人間工学に基づいた安全なRustのような言語を使用できるようになり、プログラムロジックの記述がより容易で間違いを起こしにくくなりました。
Solidity互換性:Solidity開発者はCairo VMで使用可能なコードを書くことができます。このアプローチは、イーサリアムに似た開発体験を提供し、SolidityスマートコントラクトをStarknetに移植可能にします。実装方法は2つあります:
トランスパイル: あるプログラミング言語のソースコードを別の言語に変換すること。あるチームがWarpトランスパイラを作成し、SolidityコードをCairoにトランスパイルするために使用される。WarpはSolidityスマートコントラクトをStarknetにポータブルにし、実質的にそれをType 4 zkEVMにする。ごくわずかな変更でDEXコントラクトのトランスパイルとデプロイに使用されている。
Starknet上のzkEVM: Cairo VMは別のVMの実行を証明するために使用できます。KakarotはCairoで書かれたzkEVMで、Starknet上でイーサリアムスマートコントラクトを実行するために使用できます。Cairo VMとzkEVMは競合するソリューションではなく、私たちはCairo VMとzkEVMを同時に持つことができます!
短い期間にもかかわらず、CairoはTVLランキングで4番目に人気のあるスマートコントラクト言語となり、3.5億ドル以上の資金調達を受けています。
まとめ
zkEVMは、イーサリアム環境をrollupとして複製し、開発者が馴染みのあるイーサリアムツールを使用できるようにすることを目指しています。しかし、このアプローチは、有効性証明の全ての可能性を制限し、資源を多く消費する可能性があります。
Cairo VMは有効性証明システムのために設計されており、EVMの制約を受けません。新しい、安全で人間工学に基づいたRust類似のプログラミング言語Cairo 1.0によってサポートされており、STARK証明を使用して最大の効率を実現するために設計された強力なツールを形成します。
Cairoの継続的な進展やKakarot zkEVM、Warpなどの多様な開発選択肢の増加は、非常に刺激的です。Cairoベースのアプリケーションが生産段階に入るにつれて、Cairoの強力な機能が示され、将来的にはより野心的なプロジェクトに使用されると信じています。
STARK拡張のさまざまな手段と、今後数か月のうちに必ず登場する他の手段のおかげで、開発者は現在、ブロックチェーンの拡張に対して前例のない制御能力を持っています。
! [なぜValidity RollupsはEthereumをスケーリングするための最も有望な方法なのですか? ])https://img-cdn.gateio.im/social/moments-12eef6e2fc5e11f187106BDD011fd720(