EVMとはEthereum Virtual Machineの略称で、中国語直訳ではイーサリアム仮想マシンと呼ばれます。ソフトウェア開発に慣れていないユーザーにとって、EVM は曖昧で理解しにくいように思えるかもしれません。しかし、最初に Java 仮想マシンとは何かを類推すると、理解しやすくなるかもしれません。

1. 簡単な例え: EVM は Ethereum に相当し、Java 仮想マシンは Java 言語に相当します。

$BTC $ETH

開発前に、プログラマは Java コードをバイトコードにコンパイルする必要がありますが、コンピュータはそのバイトコードを認識できません。Java 仮想マシンの機能は、バイトコードをコンピュータ システムが認識できるマシン コード命令にコンパイルし、コンピュータ上で実行することです。 。 走る。同様に、EVM はプログラマーが Solidity で書かれたコントラクト コードをイーサリアム環境で実行できるようにするために存在します。

イーサリアムはコンピューター環境に相当し、EVM はコントラクト コードをイーサリアムが認識して実行できるマシン コードにコンパイルする役割を担っていることがわかります。ネットワークがより繁栄しているとき、つまり開発者によるアプリケーション構築の需要が比較的強いときは、毎日、あるいは毎時間、何万もの新しいコードがイーサリアム ネットワークに書き込まれるでしょう。ただし、これらの契約コードをシステムが認識できる言語信号にコンパイルできない場合、特定の命令やプログラムに変換することはできません。したがって、EVMはイーサリアムエコシステムで最も重要なリソースコンバーターであると考えることができます。彼がいなければ、開発者が熱心にプログラミング言語を書いたとしても、イーサリアム上のコードは機能しません。それは更新を停止するのと同じことです。プログラムのコードが更新されなくなると、そのプログラムは終了することに注意してください。さらに、EVM がなければ、システムに書き込むコードはバグだらけになるため、誰もイーサリアム プロトコルでプログラム ソフトウェアを実行できません。

読者の EVM の概念をさらに強化するために、最初に仮想マシンとチューリング完全性という 2 つの概念を明確にすることをお勧めします。

2. 仮想マシンとチューリング完全性という 2 つの最も重要な概念を理解する

まず、仮想マシン (Virtual Machine) とは、ソフトウェアによってシミュレートされ、完全に分離された環境で実行される完全なハードウェア システム機能を備えた完全なコンピューター システムを指します。

つまり、物理コンピューター上で実行できる作業はすべて、仮想マシン上でも実行できます。既存のオペレーティング システムの新しい仮想イメージを生成することにより、仮想マシンは Windows システムとまったく同じ機能を持ちますが、独立して動作し、実システムには影響を与えません。

したがって、イーサリアム仮想マシン (EVM) はイーサリアム スマート コントラクトの動作環境であり、システム内のノードは EVM を使用して独自の DAPP を実行できることがわかります。また、イーサリアム仮想マシンの実行環境はメインチェーンから完全に分離されているため、当然テスト環境となります。この種のテスト環境は、ブロックチェーン技術の経験のない多くの開発者に、エラーコードがイーサリアムスマートコントラクトにまったく影響を与えないため、大胆に試行錯誤する機会を与えます。

次に、チューリング完全とは、今日のコンピューターの前身である最初のチューリング マシンを発明した英国の数学者アラン チューリングにちなんで名付けられた専門用語です。その後、コンピューター業界は、あらゆるレベルの複雑さを処理できる計算を指すためにチューリング完全性を使用しました。理論的には、イーサリアムはあらゆるタイプと機能のコンピューター プログラムを展開できますが、これらのプログラムは分散されており、通常見られるように集中化されておらず、これらすべては EVM の基礎となる設計に起因するものであると考える必要があります。この観点から見ると、ビットコインは単なる分散台帳であり、アプリケーションを実行できないため、チューリングは完全ではありません。

最後に、これら 2 つの概念を組み合わせると、EVM はあらゆる複雑な計算を実行できる完全に仮想化されたコンピューター システムであることがわかります。この観点から見ると、EVM はイーサリアムの頭脳のようなものです。

3. EVM 実行プロセスの主要モジュール

EVM の運用は、イーサリアムの生態系を中心に密接に展開されます。したがって、私たちに曖昧だが親しみを感じさせる多くのイーサリアム用語は、実際には EVM と密接に関連しています。

1 つ目はオペコードです。 EVM は、Solidity によって記述された命令をオペコードを通じて解釈および変換します。現在、EVM には 140 を超える異なるオペコードがあり、これらは EVM によって直接発行される命令に似ています。たとえば、CREAT オペコードはスマート コントラクトの作成に対応し、STOP オペコードは実行中のコントラクトの一時停止を意味します。

次にガソリン代です。ガス料金は、EVM 環境でコードを実行するためのリソースであり、「gwei」(イーサの単位)で測定されます。具体的には、携帯電話にダウンロードするアプリケーションが電力とメモリを必要とするのと同じように、トランザクションを実行するにはコンピューティング リソースとストレージ スペースを消費する必要があります。暗黙的な消費のこの部分は、チェーン上の明示的なガスコストに直観的に変換されます。 EVM とガス料金の関係は、車とガソリンのようなものです。EVM が命令を実行するたびに、対応する量のガス料金が消費されます。

最後に、EVM とすべてのイーサリアム ユーザーが関係できる転送関数があります。 EVM 転送の具体的な手順は次のとおりです。

1) 送金金額や署名の正当性など、誤りがないか確認します。

2) 転送に必要なガス料金を計算し、ガス料金徴収指示を実行します。

3) デジタル資産を指定されたアドレスに転送します。

送金者が十分な手数料を支払っていないことを EVM が検出した場合、送金はロールバックされ、送金手数料は返金されず、マイナーに直接支払われることに注意してください。また、受取人の住所の誤りにより取引が失敗した場合、EVMは送金元本と手数料をそのまま支払者に返還します。

4. EVMパブリックチェーンの概念と重要な傾向の簡単な分析

イーサリアムはパブリック チェーン トラックにおいて確固たる主導的地位を占めており、エコロジー アプリケーションの数とロックアップ総量の点で業界の大部分を占めています。したがって、市場の主流のパブリック チェーンはすべて EVM と互換性を持つことを選択しており、それらは EVM パブリック チェーンとも呼ばれます。

EVM 互換性とは、パブリック チェーン上に構築されたスマート コントラクトがイーサリアム上で迅速、便利、低コストで相互に移行でき、シームレスに転送できるという事実を指します。現在、多くのパブリック チェーンが開発中で、モバイル インターネット ゲームプレイにおけるトラフィック迂回と同様に、イーサリアム波及プロジェクトを実行する能力を最大限に高めるために、EVM 互換機能を意図的に実装しています。したがって、多くのパブリック チェーン プロジェクト関係者は、最大のセールス ポイントおよび魅力として EVM 互換性を実現することになります。

もちろん、現在の市場状況から判断すると、EVM 互換チェーンの最終的な勝者はまだ非常に少数です。 OKC パブリック チェーンは、EVM と互換性があることで次の段階で成功する可能性があります。

2021 年 5 月 10 日、OKC パブリック チェーン メインネットが正式に EVM 互換になり、新しい時代に入りました。 100% オープンソースのパブリック チェーンである OKC は、優れたパフォーマンスで 0.5 秒ごとに新しいブロックを生成します。そのパフォーマンスは、他の EVM 互換パブリック チェーンと比較して、より安定しており、速度がより効率的であり、エコロジー スケールがより強力です。

OKC パブリック チェーンは、グローバル Web3 インフラストラクチャ サービス プロバイダーにアップグレードされた OKX によって支援されています。 OKCのWeb3エコシステムは、世界最大のデジタル資産取引プラットフォーム、世界最高品質の通貨に対応したWeb3デジタルウォレット、最も費用対効果の高いNFT市場などをカバーしてきました。これにより、OKC パブリック チェーンは生態資源の傾斜を安定的に得ることができ、EVM と互換性を持った後、これらの利点は継続的に増幅され、蓄積されます。他の EVM パブリック チェーンと比較して、OKC パブリック チェーンはさらにユニークです。

OKC が EVM と互換性を持った後に発揮できる独自の利点を証明するには、次の例で十分です。

2021 年に OKC パブリック チェーンが開始されると、開発者コミュニティはオリジナルの EVM 仮想マシン コードをオープンソースにして Cosmos コミュニティと共有し、Cosmos ネットワークのイーサリアムとの互換性の問題を解決します。

5. eWASM とは何ですか? EVMとの関係は何ですか?

イーサリアムのエコシステムに精通している友人は、イーサリアム 2.0 が POW to POS メカニズムを実装した後、Web2 インターネット製品に匹敵するほどの高いパフォーマンスですべてのコンピューティング タスクを処理できることを知っています。ただし、EVM の現在の基本的な設計とパフォーマンスによれば、EVM はイーサリアム 2.0 の理想的な状態に適応することができません。その結果、eWASM (WebAssemly の ETH バージョン) が EVM の後継となり、置き換えられました。

説明すると、WebAssemlyはWeb上のアセンブリであり、近年登場したWeb実行環境であり、スタックベースの仮想マシン向けに設計されたバイナリ命令形式です。 JavaScript と比較すると、パフォーマンスが向上し、ストレージ コストが低くなり、実行環境が安全になり、サポートされる言語が増えるという利点があります。

前提によれば、eWASM は EVM よりもパフォーマンスとスケーラビリティが優れており、Solidity、C++、Rust、AssemblyScript などのプログラミング言語をサポートできるため、コントラクトの開発が容易になると考えられます。 eWASM は現在の Web 標準とも互換性があるため、通常のブラウザでの実行が容易になり、ユーザーは拡張機能を必要とせずに DApps にアクセスできます。

さらに、基盤となる実行エンジンとして WASM を使用しているのは Ethereum だけではありません。EOS、Dfinity、Polkadot、Tron、Cardano、Spacemesh などはすべて WASM を採用しているか、現在採用しています。

#ETH #Binance #Web3 $BTC #热门话题 #pyth

Ethereum 2.0 は、PoS、シャーディング、そして最後に eWASM の 3 つの段階に分かれていることは注目に値します。現在、誰もが最も懸念しているPOSの移転、つまり合併はまだ準備段階にある。したがって、まだ時間がかかるeWASMは、コードの更新はそれほど多くありませんが、そのコンセプトは十分に魅力的です。 eWASMが本当に構想通りにイーサリアム2.0全体を活用できるかどうか、今後も注目していきたいと思います。