EVM(イーサリアムバーチャルマシン)とは?【イーサリアムの基礎知識】

Web3
まるお
まるお

また英語の略したやつか・・・

 
かとてん
かとてん
イーサリアムを勉強するならもう英語は必須や・・・
諦めい!!
 
 
 

EVMとは?

EVMとは「イーサリアムバーチャルマシン(Ethereum Virtual Machine)」の頭文字をとったものです。
簡単に言うと、スマートコントラクトの実行に必要な「イーサリアムネットワークの計算エンジン」であり、EVM同士で作るネットワークこそが「イーサリアムネットワーク」となっています。
 
EVMはほとんどの場合、トランザクション(取引データなど)が実行された際に動作します。
というのも、EVMが人間が読みやすいSolidityなどプログラミング言語で書かれたスマートコントラクトをコンピュータが理解できるようにバイトコード(0と1の羅列)に翻訳してくれるためです。
 
つまり、イーサリアムブロックチェーン上にあるすべてのコントラクトはEVMを通じて実行されるということになります。
 
仮想マシン(Virtual Machine)はパソコンの中にソフトウェアで作られたもう1台のパソコンが入っているようなものです。
 
 
 

EVMの動作イメージ

上記で説明した「Solidity言語で書かれたスマートコントラクトをEVMで翻訳してコンピュータに理解させる」という過程を図に示したものが以下になります。
こちらの画像でイメージしていただけるととても分かりやすいかと思います。
 
イーサリアムのネットワークを作っているすべてのノードではEVMが動いているというわけです。
 
 
 
 

次世代EVM「eWASM」

eWASMとは「Ethereum flavored WebAssembly」の略で次世代のEVMになります。
「WebAssembly」はWebブラウザからアセンブリ言語(機械語)を実行できるようにする技術・言語で、eWASMはその「WebAssembly」を基に構築されたものです。
 
イーサリアムコミュニティでは、コントラクトの実行速度向上や開発環境の改善のためにeWASMの開発が進んでおり、予定ではイーサリアム2.0のフェーズ2「Shard Chain」で実装される予定です。
 
スタックマシンという点ではEVMとは大きく変わらないようですが、eWASMが実装されれば別途eWASMの理解が必要になってくることでしょう。
 
 
 

さいごに

EVMの構造やその仕組みを理解するのは難しいですが、とりあえずはこの程度の理解で十分かと思います。
 
「その先を知りたい・・・」
という方はこちらに詳しく書かれているので目を通してみてください。(英語です)
 
 
 
タイトルとURLをコピーしました