# EVM:イーサリアムのコアコンポーネントEVMはイーサリアムのコアであり、スマートコントラクトを実行し、取引を処理する役割を担っています。それは計算エンジンであり、計算とストレージの抽象を提供します。これはJava仮想マシンに似ています。EVMは独自のバイトコード命令セットを実行し、通常はSolidityからコンパイルされます。EVMは準チューリング完備の状態機です。"準"は、すべての実行ステップが限られたリソースであるGasを消費するため、可能性のある無限ループによってプラットフォーム全体が停止する事態を避けられるからです。EVMにはスケジューリング機能がなく、イーサリアムの実行モジュールはブロックからトランザクションを取り出し、EVMが順次実行します。実行プロセスでは最新の世界状態が変更され、1つのトランザクションが実行された後に状態が累加され、ブロック完了後の最新の世界状態に達します。次のブロックの実行は、厳密に前のブロックの実行後の世界状態に依存するため、イーサリアムのトランザクションの線形実行プロセスは並列実行の最適化を行うことが困難です。イーサリアムプロトコルは、取引が順番に実行されることを規定しています。順番に実行されることで、取引とスマートコントラクトが確定的な順序で実行され、安全性が保証されますが、高負荷の状況下では、ネットワークの混雑や遅延を引き起こす可能性があります。これが、イーサリアムに性能のボトルネックが存在し、Layer2の拡張が必要な理由でもあります。! [並列EVM:高性能レイヤー1マインドスワッピング](https://img-cdn.gateio.im/social/moments-6a98d1f30d170f1704eb58e313afd15f)# 高性能なレイヤー 1 並列処理ほとんどの高性能Layer1は、イーサリアムが並行処理できない欠陥に基づいて独自の最適化ソリューションを設計しており、主に仮想マシンと並行実行の2つの側面に焦点を当てています。## バーチャルマシンEVMは256ビットの仮想マシンとして設計されており、イーサリアムのハッシュアルゴリズムを処理しやすくすることを目的としています。しかし、EVMを実行するコンピュータは、256ビットのバイトをローカルアーキテクチャにマッピングしてスマートコントラクトを実行する必要があるため、システム全体が非効率的になります。したがって、高性能Layer1はEVMではなく、WASM、eBPFバイトコード、またはMoveバイトコードに基づく仮想マシンをより多く採用しています。WASMは、サイズが小さく、読み込みが速く、ポータブルで、サンドボックスのセキュリティメカニズムに基づくバイトコード形式であり、開発者はさまざまなプログラミング言語を使用してスマートコントラクトを記述し、それをWASMバイトコードにコンパイルして実行できます。多くのブロックチェーンプロジェクトがWASMを標準として採用しており、イーサリアムも将来的にWASMを統合する予定です。eBPFはBPFに由来し、より豊富な命令セットを提供し、ソースコードを変更することなくオペレーティングシステムのカーネルに動的に介入することを可能にします。特定のブロックチェーン上で実行されるスマートコントラクトは、eBPFに基づくバイトコードにコンパイルされて実行されます。Moveは、新しいスマートコントラクトプログラミング言語で、柔軟性、安全性、検証可能性に重点を置いています。Moveは、資産と取引における安全性の問題を解決することを目指しており、資産と取引を厳密に定義し、制御できるようにします。一部のブロックチェーンは、自身のカスタマイズ版Moveを使用してスマートコントラクトを作成しています。! [並列EVM:高性能レイヤー1マインドスワッピング](https://img-cdn.gateio.im/social/moments-bcfdb2b939b4a884797cda14a9bb54c7)## 並列実行ブロックチェーンにおける並行実行は、無関係なトランザクションを同時に処理することを意味します。並行実行を実現するための主な課題は、どのトランザクションが無関係で、どれが独立しているかを特定することです。ほとんどの高性能Layer1は、状態アクセス方式と楽観的並行モデルという2つの方法に依存しています。状態アクセス方法は、各取引がブロックチェーンのどの部分の状態にアクセスできるかを事前に知る必要があり、それによってどの取引が独立しているかを分析します。特定のブロックチェーンのプログラム(スマートコントラクト)は無状態であり、アカウントを使用して状態にアクセスまたは保持する必要があります。取引は、どのアカウントにアクセスするかを指定しなければならず、これにより取引処理の実行時に非重複取引を並行して実行し、データの整合性を保証することができます。楽観的並行モデルは、すべての取引が独立していると仮定し、この仮定を回顧的に検証し、必要に応じて調整します。いくつかのブロックチェーンは、楽観的並行実行を適用するためにブロックソフトウェアトランザクションメモリの方法を使用しています。取引はまず一定の順序で設定され、その後異なる処理スレッド間で分割されて同時に実行されます。システムは各取引の変更のメモリ位置を追跡し、各ラウンドの処理後にすべての取引結果をチェックします。もしある取引が以前の取引の変更のメモリ位置に触れた場合、その結果を消去し、再実行します。! [並列EVM:高性能レイヤー1マインドスワッピング](https://img-cdn.gateio.im/social/moments-a607a7c15ad24fe7ca05d3035536e)# パラレルEVM並行EVMは2021年に提案され、複数のトランザクションを同時に処理することをサポートするEVMを指し、既存のEVMの性能と効率を改善することを目的としています。2023年の年末には、業界で再び並行EVMが言及され、並行実行技術を採用したEVM互換Layer1が注目を集めました。合理的な並行EVM定義には三つのカテゴリーが含まれます:1. 並列実行技術を採用していないEVM互換Layer1の並列実行アップグレード2. EVM対応レイヤー1と並列実行技術3. パラレル実行技術を採用した非EVM互換Layer1のEVM互換ソリューション! [並列EVM:高性能レイヤー1マインドスワッピング](https://img-cdn.gateio.im/social/moments-782a2e55e6ced7eb933b46a291831cf9)いくつかの新興Layer1プロジェクトは楽観的並行モデルを採用しており、効率を向上させるためにブロック内でトランザクションを並行して実行することを許可しています。これらは前のステップの実行が完了する前に新しいトランザクションの実行を開始し、入力/出力を追跡し、一貫性のないトランザクションを再実行します。静的コード解析器は依存関係を予測し、無効な並行性を回避し、不確実な場合は単純モードに戻ります。! [並列EVM:高性能レイヤー1マインドスワッピング](https://img-cdn.gateio.im/social/moments-a1267900376ed2f2cd4bd0ba20d9d4fe)他のプロジェクトはEVMをスマートコントラクトの実行に使用してEVM互換性を実現します。このアプローチでは、EVMのオペコードが特定の仮想マシンのオペコードにシームレスに変換され、Solidityプロジェクトはコードを変更することなく他の仮想マシンの性能とセキュリティの利点を活用できます。! [並列EVM:高性能レイヤー1マインドスワッピング](https://img-cdn.gateio.im/social/moments-78534ff60422145f960d7ca268eea559)# まとめブロックチェーンの並列技術は繰り返し議論されているテーマであり、現在は主に楽観的実行モデルの改造と模倣が行われており、実質的な突破口が不足しています。将来的には、より多くの新興Layer1プロジェクトが並列EVM競争に参加する可能性があり、一部の古いLayer1もEVM並列アップグレードやEVM互換ソリューションを実現するでしょう。高性能EVMに加えて、ブロックチェーン分野ではWASM、SVM、Move VMなどの多様な技術の物語が登場する可能性があり、全体のエコシステムの多様化を促進します。! [パラレルEVM:高性能レイヤー1マインドスワッピング](https://img-cdn.gateio.im/social/moments-0657022b9d55e1412984c85802deff11)
並行EVMの台頭:高性能Layer1がイーサリアムの性能ボトルネックをどのように突破するか
EVM:イーサリアムのコアコンポーネント
EVMはイーサリアムのコアであり、スマートコントラクトを実行し、取引を処理する役割を担っています。それは計算エンジンであり、計算とストレージの抽象を提供します。これはJava仮想マシンに似ています。EVMは独自のバイトコード命令セットを実行し、通常はSolidityからコンパイルされます。
EVMは準チューリング完備の状態機です。"準"は、すべての実行ステップが限られたリソースであるGasを消費するため、可能性のある無限ループによってプラットフォーム全体が停止する事態を避けられるからです。
EVMにはスケジューリング機能がなく、イーサリアムの実行モジュールはブロックからトランザクションを取り出し、EVMが順次実行します。実行プロセスでは最新の世界状態が変更され、1つのトランザクションが実行された後に状態が累加され、ブロック完了後の最新の世界状態に達します。次のブロックの実行は、厳密に前のブロックの実行後の世界状態に依存するため、イーサリアムのトランザクションの線形実行プロセスは並列実行の最適化を行うことが困難です。
イーサリアムプロトコルは、取引が順番に実行されることを規定しています。順番に実行されることで、取引とスマートコントラクトが確定的な順序で実行され、安全性が保証されますが、高負荷の状況下では、ネットワークの混雑や遅延を引き起こす可能性があります。これが、イーサリアムに性能のボトルネックが存在し、Layer2の拡張が必要な理由でもあります。
! 並列EVM:高性能レイヤー1マインドスワッピング
高性能なレイヤー 1 並列処理
ほとんどの高性能Layer1は、イーサリアムが並行処理できない欠陥に基づいて独自の最適化ソリューションを設計しており、主に仮想マシンと並行実行の2つの側面に焦点を当てています。
バーチャルマシン
EVMは256ビットの仮想マシンとして設計されており、イーサリアムのハッシュアルゴリズムを処理しやすくすることを目的としています。しかし、EVMを実行するコンピュータは、256ビットのバイトをローカルアーキテクチャにマッピングしてスマートコントラクトを実行する必要があるため、システム全体が非効率的になります。したがって、高性能Layer1はEVMではなく、WASM、eBPFバイトコード、またはMoveバイトコードに基づく仮想マシンをより多く採用しています。
WASMは、サイズが小さく、読み込みが速く、ポータブルで、サンドボックスのセキュリティメカニズムに基づくバイトコード形式であり、開発者はさまざまなプログラミング言語を使用してスマートコントラクトを記述し、それをWASMバイトコードにコンパイルして実行できます。多くのブロックチェーンプロジェクトがWASMを標準として採用しており、イーサリアムも将来的にWASMを統合する予定です。
eBPFはBPFに由来し、より豊富な命令セットを提供し、ソースコードを変更することなくオペレーティングシステムのカーネルに動的に介入することを可能にします。特定のブロックチェーン上で実行されるスマートコントラクトは、eBPFに基づくバイトコードにコンパイルされて実行されます。
Moveは、新しいスマートコントラクトプログラミング言語で、柔軟性、安全性、検証可能性に重点を置いています。Moveは、資産と取引における安全性の問題を解決することを目指しており、資産と取引を厳密に定義し、制御できるようにします。一部のブロックチェーンは、自身のカスタマイズ版Moveを使用してスマートコントラクトを作成しています。
! 並列EVM:高性能レイヤー1マインドスワッピング
並列実行
ブロックチェーンにおける並行実行は、無関係なトランザクションを同時に処理することを意味します。並行実行を実現するための主な課題は、どのトランザクションが無関係で、どれが独立しているかを特定することです。ほとんどの高性能Layer1は、状態アクセス方式と楽観的並行モデルという2つの方法に依存しています。
状態アクセス方法は、各取引がブロックチェーンのどの部分の状態にアクセスできるかを事前に知る必要があり、それによってどの取引が独立しているかを分析します。特定のブロックチェーンのプログラム(スマートコントラクト)は無状態であり、アカウントを使用して状態にアクセスまたは保持する必要があります。取引は、どのアカウントにアクセスするかを指定しなければならず、これにより取引処理の実行時に非重複取引を並行して実行し、データの整合性を保証することができます。
楽観的並行モデルは、すべての取引が独立していると仮定し、この仮定を回顧的に検証し、必要に応じて調整します。いくつかのブロックチェーンは、楽観的並行実行を適用するためにブロックソフトウェアトランザクションメモリの方法を使用しています。取引はまず一定の順序で設定され、その後異なる処理スレッド間で分割されて同時に実行されます。システムは各取引の変更のメモリ位置を追跡し、各ラウンドの処理後にすべての取引結果をチェックします。もしある取引が以前の取引の変更のメモリ位置に触れた場合、その結果を消去し、再実行します。
! 並列EVM:高性能レイヤー1マインドスワッピング
パラレルEVM
並行EVMは2021年に提案され、複数のトランザクションを同時に処理することをサポートするEVMを指し、既存のEVMの性能と効率を改善することを目的としています。2023年の年末には、業界で再び並行EVMが言及され、並行実行技術を採用したEVM互換Layer1が注目を集めました。
合理的な並行EVM定義には三つのカテゴリーが含まれます:
! 並列EVM:高性能レイヤー1マインドスワッピング
いくつかの新興Layer1プロジェクトは楽観的並行モデルを採用しており、効率を向上させるためにブロック内でトランザクションを並行して実行することを許可しています。これらは前のステップの実行が完了する前に新しいトランザクションの実行を開始し、入力/出力を追跡し、一貫性のないトランザクションを再実行します。静的コード解析器は依存関係を予測し、無効な並行性を回避し、不確実な場合は単純モードに戻ります。
! 並列EVM:高性能レイヤー1マインドスワッピング
他のプロジェクトはEVMをスマートコントラクトの実行に使用してEVM互換性を実現します。このアプローチでは、EVMのオペコードが特定の仮想マシンのオペコードにシームレスに変換され、Solidityプロジェクトはコードを変更することなく他の仮想マシンの性能とセキュリティの利点を活用できます。
! 並列EVM:高性能レイヤー1マインドスワッピング
まとめ
ブロックチェーンの並列技術は繰り返し議論されているテーマであり、現在は主に楽観的実行モデルの改造と模倣が行われており、実質的な突破口が不足しています。将来的には、より多くの新興Layer1プロジェクトが並列EVM競争に参加する可能性があり、一部の古いLayer1もEVM並列アップグレードやEVM互換ソリューションを実現するでしょう。
高性能EVMに加えて、ブロックチェーン分野ではWASM、SVM、Move VMなどの多様な技術の物語が登場する可能性があり、全体のエコシステムの多様化を促進します。
! パラレルEVM:高性能レイヤー1マインドスワッピング