Ethereumは「分散型ステートマシン」と呼ばれる。これ、なんか難しそうな言葉だけど、要するに「ゲームの世界を動かすエンジン」みたいなもの。
そのエンジンを動かしてるのが EVM(Ethereum Virtual Machine)。Ethereumの中にある、なんでも計算してくれる頭のいいロボットみたいなものだ。
EVMの役割を簡単に言うと、「Ethereumの世界をルール通りに動かす」こと。ブロックチェーンってただの記録帳みたいに思われがちだけど、Ethereumは違う。ちゃんと状態を管理して、「今どんな状況なのか?」を常に把握している。
例えば、「プレイヤーAが魔法を使ったら、プレイヤーBのHPが回復する」みたいな処理があるとする。これをゲームのルールに従って処理するのがEVMの仕事。
BitcoinとEthereumの違い
ここで、BitcoinとEthereumの違いがわかる。
- Bitcoinはスコア帳 みたいなもので、誰がどれだけ持っているか、取引の履歴を記録していくだけ。
- Ethereumはゲームの世界。状態(ステート)を持っていて、それがブロックごとに変化していく。
つまり、Bitcoinは「この人は今10BTC持っている」と記録するだけだけど、Ethereumは「この人は10ETH持っていて、さらに魔法を使えるアイテムも持っている」とか、より複雑な情報を管理できる。
この「状態が変化する」っていうのが超重要で、Ethereumの最大の強みでもある。
スマートコントラクトとEVMの役割
じゃあEVMってどうやって動いてるの?という話なんだけど、基本的には スマートコントラクト というプログラムを実行する。
スマートコントラクトは、「こういう条件になったら、こういう処理をする」という決まりごとをプログラムにしたもの。例えば、「誰かが10ETHを送ったら、自動的にNFTを発行する」とか、そういうことを勝手にやってくれる。
これがあるおかげで、Ethereumの世界では人の手を介さずに、自動でいろんなルールが動いていく。まさに「分散型ステートマシン」って感じ。
EVMはこのスマートコントラクトをルール通りに実行して、ちゃんと世界が回るようにしてくれる。
EVMがなぜ重要なのか?
ここまで読んで「じゃあEVMって結局何がすごいの?」と思うかもしれないけど、要するに Ethereumの世界が破綻しないように、正しく計算を実行する仕組み ということ。
例えば、ゲームの世界で「プレイヤーが無限にアイテムを増やせるバグ」とかがあったら困るよね? そういうのが起きないように、ちゃんとルール通りに動かしてくれるのがEVM。
もうちょい噛み砕くと、「Ethereumというオンラインゲームの運営チーム」みたいなもの。ルールを決めて、ちゃんとそのルール通りにみんなが遊べるようにしている。
今後、このEVMがどんどんアップデートされて、もっと速く、もっと安く動かせるようになったら、Ethereumの世界はもっと面白くなる。そういう未来があるからこそ、EVMは今めちゃくちゃ重要。
Ethereumはただの仮想通貨じゃなくて、実は「未来のインターネット」を作ろうとしている。そのカギを握っているのがEVMという仕組み。
今後、Ethereumの技術がどこまで進化するのか? EVMがどうなっていくのか? そのあたりの話もまた書いていこうと思う。