eWASM は本当にイーサリアム 2.0 全体を想像どおりに動かすことができるのでしょうか?
蟹老板的进击之路
2022-06-16 12:31
本文约2755字,阅读全文需要约11分钟
eWASM と EVM の関係は何ですか?

副題

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

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

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

副題

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

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

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

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

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

副題

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

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

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

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

最後は転送関数を実行することで、EVM とすべての Ethereum ユーザーを関連付けることができます。 EVM 転送の具体的な手順は次のとおりです。

1) 送金金額や署名の有効性などに誤りがないか確認します。

2) 転送に必要なガス料金を計算し、ガス料金を請求するコマンドを実行します。

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

副題

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

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

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

副題

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 を採用または使用しています。

今日の共有はここまでです。後で他のトラックの主要プロジェクトの分析をお届けします。興味のある方は注目してみると良いでしょう。また、最先端の相談やプロジェクトのレビューも随時整理し、通貨サークルの同じ志を持ったすべての人々を歓迎し、一緒に探索していきます。

今日の共有はここまでです。後で他のトラックの主要プロジェクトの分析をお届けします。興味のある方は注目してみると良いでしょう。また、最先端の相談やプロジェクトのレビューも随時整理し、通貨サークルの同じ志を持ったすべての人々を歓迎し、一緒に探索していきます。

蟹老板的进击之路
作者文库