【Ethereum】イーサリアムって?EVMとは?

目次

solidityを学ぶ上で、EVMについて学習した記録


イーサリアム(Ethereum)とは


ethereum

これからsolidityを使って、dappを開発するにあたって、改めてイーサリアム(Ethereum)についに調べてみました。
イーサリアムと聞くと、「仮想通貨」や「暗号資産」といったイメージがあると思いますが、具体的には、ブロックチェーン技術を活用したdapps(分散型アプリケーション)を開発するためのプラットフォームです。
dappsについては別記事でアウトプットします。
イーサリアムに関しては、以下のドキュメントが日本語で非常に分かりやすく解説されてあります。
↓↓
Ethereum入門

Ethereum(イーサリアム)は分散アプリケーションのためのプラットフォームであり、2013年12月以降からオープンソースプロジェクトとして開発が進められているものです。2016年3月14日に最初の安定版(Homestead)リリースがされました。


イーサリアムのプラットフォーム上でアプリケーションを開発する場合に、solidityを使って構築していくイメージです。
そもそもこのsolidityってバックエンド側の技術だけど、具体的に書かれたコードがどうやって動いているのか、理解する必要があると思います。
こちらの記事にsolidityの詳細を書いています。
【solidity】そもそもsolidityとは


EVMとは


EVMとは、Ethereum Virtual Machineの略で、直訳すると「イーサリアム仮想マシン」です。
Javaなどの言語でも似たような仕組みがあります。
solidityは静的型付け言語のため、記述した処理を実行するためには、コンパイルをする必要があります。
私たちが記述したソースコードはコンピュータ側からすると理解ができません。
コンピュータ側が理解し、処理できるようコードを変換することをコンパイルと言います。
EVMを簡単に言うと、solidityで書いたコードを翻訳して実行してくれるやつということです。
以下の図が分かり易かったので転載させてもらいます。

EVM ※出典(Cryptpixの記事より)(https://vicryptopix.com/ethereum-evm/)


プログラムを書くうえでは、どのようなロジックでコードが実行されていくのか理解することがとても大切だと思いますし、理解のスピードも上がると思います。