本ページはプロモーションが含まれています
このページでは、イーサリアムの仕組みについて、初心者の方や非エンジニアの方にも分かりやすく説明をします。
イーサリアムは2013年に考えられ、そこからずっと開発が続けられており、進化し続けています。ビットコインの次に有名な仮想通貨で、イーサリアムはいずれビットコインを超えるのでは、とも言われるほどです。
そのイーサリアムについて、仕組みがどのようになっているのか、非エンジニアの方にもわかりやすく解説をしていきます。
〜イーサリアムの概要について紹介したページはこちら〜
イーサリアム(Ethereum)とは?初心者にわかりやすく、歴史・今後・仕組みを解説した入門ページ
目次
イーサリアムとは
まず、イーサリアムがどのようなものかよくわからない方へ、そもそもイーサリアムとは何か?を解説します。(すでにご存知の方は飛ばしてください)
イーサリアムは、ビットコインが生み出した「ブロックチェーン」という技術を基盤にして、2013年、ヴィタリック・ブテリン氏(Vitalik Buterin)というカナダ人プログラマーによって考えられた「色々なサービスを作成・開発できるプラットホーム」です。
日本人の多くが持っている「イーサリアム=仮想通貨・暗号資産」というイメージは正しくありません。「イーサリアム」は仮想通貨という機能だけではなく、サービスを作成・開発するプラットホームです。
イーサリアムというプラットホーム内で使える通貨「イーサ(ether、ETH)」が仮想通貨です。
わかりやすく例えるのであれば、イーサリアムは「日本」、イーサが「日本円」のようなイメージです。日本という国(プラットホーム)で様々なサービス(会社)があるように、イーサリアムというプラットホームで様々なサービスを開発することができます。
つまりイーサリアムとは?という答えは「イーサリアムは、ブロックチェーンを利用したプラットホーム。イーサが、仮想通貨。」となります。
イーサリアムでできること
イーサリアムは色々なサービスを作成できるプラットホーム、と言いましたが、どのような機能を作成できるのでしょうか?イーサリアムでは例えば、以下のような機能(サービス)を作成することができます。
・独自トークン発行 例)自分の仮想通貨を作って配る
・証明書の発行 例)自分の権利を他人に証明する
・金融市場の形成 例)誰かにイーサを貸して、利息を受け取る
・予測市場の形成 例)賭けをして、負けたら相手にイーサを支払う
などです。これらのような機能(サービス:「Dapps」と呼ばれます)を、イーサリアムプラットホーム内では誰でも作成できます。
※上記機能の詳細については、イーサリアムで作成・開発できるDapps(分散型アプリ)とは?実例も合わせて紹介で詳しく解説をしています。興味のある方はご覧ください。
しかし、上に挙げたイーサリアムで開発できるサービス、ネット社会の今ではどれも既にありそうなものばかり。というか、イーサリアム上で作成する意味が正直あまり分かりませんよね?だって、そんなサービス(アプリなど)を作って公開できる場所がアプリストアで、既に世界的に普及しているのですから。
確かに、どれも既に実在しそうなサービスです。しかし、イーサリアムには、他にはない革新的な特徴があります。それは、イーサリアムやイーサリアム上で作られたサービスは特定の運営者なしで稼働することができるというところです。
今、世の中に普及しているアプリとアプリストア。例えばアップルのアプリストアはアップルという会社が運営しています。そのアップルの許可が無ければ、アプリを公開することはできません。また、その作成されたアプリは、その作成した人(もしくはその権利を持つ人)が稼働をずっとチェックしていなければなりません。アプリ自体にも、アプリストアにも特定の運営者がいます。
それに対し、イーサリアムは特定の運営者がいないのに稼働し続けることができ、さらにイーサリアムプラットホームで作られたサービスも特定の運営者がいないのに稼働します。それによって、誰でもサービスを作成・開発できたり、運営者がいないため余計な仲介料が取られたりしない、というメリットが生まれます。
このような特徴を持ったサービス開発プラットホームがイーサリアムなのです。
イーサリアムの仕組み
さて、イーサリアムとは何か、そしてイーサリアム上ではどのようなサービスが開発できるかについて説明をしました。それではここから、イーサリアムの仕組みについて詳しく説明していきます。
イーサリアムの全体像
イーサリアムは既に述べたように「特定の運営者がいなくても稼働する、ブロックチェーン技術を利用したプラットホーム」です。
しかしここで、少し不思議に思いませんか?なぜ考えた人や開発した人がいるのに、「特定の運営者がいない」のか。
イーサリアムの全体像を知れば、この疑問は解決します。イーサリアムやビットコインは、稼働に特定の運営者を必要とはしないのですが、稼働するためには不特定の参加者が必要です。開発する人、動かす人、サービスを作る人、イーサを送る人…などのいわば「イーサリアム参加者」がいないと稼働し続けることはないのです。「特定の運営者」はいらないのですが、「不特定の参加者」がいなければ稼働し続けることはできません。世界中のどこからでも、ネット環境さえあれば誰でも参加者になることができるのです。
イーサリアムを創案したヴィタリック・ブテリン氏でさえも、イーサリアムの中では一人の開発者という立場です。(ただ、イーサリアムコミュニティ内の影響力は絶大で、他の開発者と同じかと言われれば議論の余地はあります)
イーサリアムを動かす参加者は、ビットコインと現在はほぼ同じです。
・イーサリアムの開発者
・不正を検閲する、取引を記録する人(マイナーと呼ばれます)
・イーサを送る人、受け取る人
これらに加え、ビットコインにはあまり登場しない参加者がいます。
それは
・イーサリアム上でサービスを開発する人
・イーサリアム上のサービスを利用する人
です。
これら不特定多数の人がイーサリアムを稼働しています。ビットコインについて知識があまり深くない方は、ビットコインについて一度学ぶと理解が進みやすいでしょう。
さて、ビットコインにはあまり登場しない参加者がいる、と今述べましたがこれこそがイーサリアムの最大の特徴を表しています。というのも、ビットコインはビットコインという仮想通貨を送ったり受け取ったりすることを主として考えられたシステムですが、イーサリアムはイーサリアム上でサービスを開発・作成することを主として考えられたシステム、という違いがあるからです。
イーサリアムの大まかな構造
イーサリアムの全体像がなんとなく理解できた後は、イーサリアムの大まかな構造を解説していきます。細かく説明すると難しくなってしまうので、イメージとして理解できるよう、おおまかに解説していきます。
イーサリアムは、ブロックチェーンと呼ばれる技術を基盤として作成されています。
ブロックチェーンとは、いわばルーズリーフをファイルで綴じたようなもの。記録をルーズリーフ1枚1枚に記載していき、ファイルに閉じていく=記録をブロックに記載していき、チェーン状につなげていく、という形で記録を残していきます。イーサリアムもビットコインなどと同様に、ブロックに記録を残し、それをチェーン状につなげていくことで、膨大なデータを蓄積・管理していきます。
例えば「イーサという仮想通貨がAさんからBさんへ送られた」や「イーサリアム上で作られたCというサービスをDさんが使った」などのデータがブロックへ記録されていきます。イーサリアムではこのようにブロックチェーン上に処理の記録、また作成されたサービスの情報などが記録されます。
イーサリアムには特定の運営者がおらず、そのブロックチェーンを公開し参加者が不正はないか確認することで、正常な処理を続けます。参加者はイーサによって報酬をもらうので、イーサリアムが正常に動かなければイーサの価値が下がってしまう、というインセンティブが働き、必ず不正をはじいていく、と言う仕組みになっています。
イーサリアムでは、このブロックチェーン技術を基盤に、イーサという仮想通貨のやり取り、そしてエンジニアがイーサリアム上にサービスを開発できる機能が備わっています。イーサリアムはビットコインとは異なり、イーサリアム上でサービスを開発しやすいプログラミング言語があったり、そのプログラムを動かす仮想マシン(パソコンで言うCPUのような存在)が入っていたりするため、ビットコインよりも自由な発想でイーサリアム上のサービスを開発することができるのです。
ここまでを復習すると、以下のような構造になります。
イーサリアムはプラットホームで、特定の運営者なしで参加者によって稼働しています。イーサリアムはブロックチェーンという処理を記録する技術が基盤となっており、それが公開されています。そのブロックチェーンへ記載された処理記録に不正が無いか、参加者がチェックします。参加者はイーサというイーサリアムの仮想通貨で報酬をもらっているため、イーサリアムの信頼性が失われてしまうとイーサの価値がなくなってしまうため、不正があればはじく、という行動を取ります。
その不正のないブロックチェーンを確認したユーザーはイーサリアムを信頼し、イーサをお金の代わりにやり取りしたり、エンジニアはイーサリアム上でサービスを開発します。それにより、イーサリアム自体やイーサリアム上のサービスがより便利なものになること、また、なりそうだな…という期待でイーサの価格が上下します。投資家たちはその価格の上下に目をつけて、売買を行うのです。
イーサリアムの大まかな仕組みはこのようになっており、これが稼働から長く続いているのです。
少しはイメージがついたでしょうか?
さて、続いてはこのイーサリアムを動かしている仕組み一つ一つについて少し深く解説をしていきます。
仕組み1 スマートコントラクト
イーサリアムでサービス(Dapps)を開発できるのは、「スマートコントラクト」と呼ばれる機能がイーサリアムにはあるからです。
スマートコントラクトを最も簡単に、そしてわかりやすく言うと、「自動的に執行される仕組み」と言えます。コントラクトの日本語訳は「契約」ですが、私たちが一般的に使う契約とは意味が少し異なるので注意が必要です。
スマートコントラクトという言葉は、イーサリアムのホワイトペーパー(設計書)に記載されており、それにより広く認知されたため、イーサリアムで誕生したと思われていますがそうではありません。1990年代には既に作られていた用語です。
スマートコントラクトは、イーサリアムプラットホームで実行されるプログラムとしてイーサリアムのブロックチェーンに埋め込むことができます。
プログラムとは、例えば「Aと入力したらBと返す」とコンピューターに与える指示のようなもの。つまり、そのプログラムをイーサリアムブロックチェーンへ埋め込んで、自動的に「Aと入力したらBと返す」を実行してくれる仕組みや、そのプログラム自体がスマートコントラクトと呼ばれます。
イーサリアムのスマートコントラクトは普通のプログラムとは違い、
・一度埋め込んだら変更をすることができない
・イーサリアムプラットホームのルールに則り、入力が同じなら同じものを返す
などの特徴があります。
「Aさんが3ETHをBさんへ送ったら、Bさんは4ETHをCさんへ送る」というスマートコントラクトを、イーサリアムに埋め込むとします。そして、このスマートコントラクトを利用して、Aさんが3ETHをBさんへ送ります。するとBさんが何もしなくても、自動的にBさんの4ETHがCさんへ送られるのです。
このようなスマートコントラクトの機能を応用することで、イーサリアム上で様々なサービス(Dapps)を作成・開発することができるのです。
スマートコントラクトを使用してサービスを作成できる仮想通貨プラットホームはイーサリアムだけではないので、スマートコントラクトに興味がある方は、色々と他の仮想通貨プラットホームも調べてみるといいでしょう。ただし、現状で最も多くサービス(Dapps)が開発されているのはイーサリアムです。そのため、多くのスマートコントラクトが使用できるプラットホームはイーサリアムの二番煎じのような存在です。初心者の方は、まずは有名なイーサリアムやビットコインについて理解を深めるのをおすすめします。
〜スマートコントラクトについてもっと知りたい方はこちら〜
イーサリアムのスマートコントラクトをわかりやすく解説!実例も紹介
仕組み2 イーサ(ETH)
イーサリアムには「イーサ(ETH)」と呼ばれる仮想通貨がある、と既に述べました。この仮想通貨はイーサリアムの中で、とても重要な役割を持ちます。イーサは参加者の報酬となる他、イーサリアム上でサービスが処理される際の手数料にもなります。
つまり、イーサリアムが動く時には必ずイーサが使われている(動いている)のです。
イーサが参加者の報酬となることで、参加者はイーサリアムの信頼性を上げるため、イーサリアムに誤った処理をさせないこと、そしてイーサリアムが間違った方向へ進まないことなどに注意を払うようになります。つまり経済的インセンティブとしての役割があります。
イーサがサービス処理の手数料となることのメリットは、例えばイーサリアムの中でループ処理攻撃(無限に処理させる攻撃)を起こしイーサリアムの容量をいっぱいにして崩壊を目論む攻撃者へ、一定の防御壁となります。イーサがなければ処理されないため、無限に処理させる攻撃をしようと思えば、無限のイーサが必要になるからです。
このようにイーサリアム自身やイーサリアムを守る人、そしてイーサリアムを使う人にとって、イーサという仮想通貨はとても重要な役割を果たしているのです。
このイーサは価格が日本円やドルなどの法定通貨で表され(1ETH=20万円、など)、投資家の投資対象になります。イーサリアムの開発状況などでも価格は左右されるため、イーサの値段が上がっている=イーサリアムに期待が高まっている、と言い換えることができるでしょう。
スポンサー
仕組み3 PoW・PoS
イーサリアムなどの「特定の運営者がいない仮想通貨(プラットホーム)」には、不正なく処理が行われているかを確認する参加者が存在します。この参加者には、インターネット環境や特定の設備があれば、誰でもなることができます。
処理が記録されたブロック毎に、毎回参加者の中から一人が選ばれて、その人が不正チェックを行います。どのように参加者の中から一人の確認者が選出されるか、については、今のイーサリアムでは「最も電気代を多くかけてコンピューターによる演算を行った人」が確認者になる、というルールになっています。このルールは「プルーフ・オブ・ワーク(PoW)」と呼ばれています。
確認者として選出された人が報酬(イーサ)をもらえることになっているため、参加者は選出されるためにより多くの電力を消費して演算を行います。
電気代という資金をたくさん支払っている人が確認者として選出されるルールであれば、「不正な処理を許可してしまうとシステムの信頼性がなくなり、もらった報酬の価値が低くなってしまう。そうなるとすでに支払った電気代が回収できない。それは困る。」ということを考えて「不正は必ずはじいて、イーサリアムを正常に保たなければ。」というインセンティブが生まれます。そのようなインセンティブを生むことで、イーサリアムは稼働が開始された2015年から今まで、不正のない処理を実現しています。
しかし、一方でこのルールは参加者が報酬を得るためにこぞって多くの電力消費をしてしまうこと、処理スピードを早めるのに限界があること、などのデメリットが存在します。イーサリアムで既に不正なく処理が続いている、という一定の成功を収めたこのルールですが、世界中で利用されるようになったイーサリアムでは膨大な処理を行わなければならず、もはや処理が追いつかない所まで来ているため、このルールには限界が来ている、とされているのです。
そこで、イーサリアムは今後「最もイーサを保有している人」の中から処理の確認者を選ぶ、というルールに切り替えようとしています。このルールは「プルーフ・オブ・ステーク(PoS)」と呼ばれます。また、このルールにプラスして、違反者には罰則を付与する、というルールもイーサリアムでは検討されています。
このルールを適用することで、処理スピードを向上しながら不正のない処理を続けることができるとされています。また、コンピューターによる演算が少なくなるため、電力消費が限定的なものになり、環境にも優しくイーサリアムの持続可能性が高まる、とされています。
これらのルール変更により、持続可能性を高め、安全に早く処理を進めることがイーサリアムでは目指されています。
〜プルーフ・オブ・ステークについて詳しくはこちら〜
プルーフ・オブ・ステーク(PoS)とは?特徴や問題点、ステーキングについて初心者にもわかりやすく解説!
仕組み4 Solidity
イーサリアムでサービス(Dapps)を開発する時、最もよく使用されるのが「Solidity」と呼ばれるプログラミング言語です。この言語はイーサリアム創設期にイーサリアムの開発を行い、現在は「ポルカドット」というブロックチェーンプラットホームを開発しているギャビン・ウッド(Gavin・Wood)氏によって作られました。
JavaScriptと呼ばれる、現在普及しているプログラミング言語などと似ていると言われています。イーサリアム以外のブロックチェーンプラットホームでも、Solidityは採用されています。イーサリアム上やその他プラットホームでサービス(Dapps)を開発したい方は、学ぶといいでしょう。
仕組み5 EVM(Ethereum Virtual Machine)
イーサリアムにはEVM(Ethereum Virtual Machine:イーサリアム仮想マシン)と呼ばれる仮想マシンが備わっています。既に述べたSolidityなどで記述されたプログラミング言語が、「EVMバイトコード」などと呼ばれる機械言語に変換され、その「EVMバイトコード」をEVMは実行します。
つまり、Solidityなどのプログラミング言語は人間が機械へ命令を出しやすくするために発明された言語で、それを「EVMバイトコード」と呼ばれる、機械が理解できる言語(コード)に変換し、その命令を実行するのがEVMというわけです。
誰でもイーサリアム上にSolidityでスマートコントラクトを作り、それを誰でもEVMで実行できるため、イーサリアムは「ワールドコンピューター」と呼ばれます。私たちが今使っているコンピューターは通常、内蔵されたCPUと呼ばれる処理装置が入っていて、人間がコンピューターに命令を出すことで動いています。そのようなイメージで、イーサリアムはEVMという処理装置が入っており、イーサリアムへ人間が命令を出すと動く、と考えるとイーサリアムが「ワールドコンピューター」と呼ばれる意味が非常に理解しやすくなるでしょう。
ここまでで述べた仕組みが絡み合って、イーサリアムは稼働しています。どれか一つが欠けてもイーサリアムの状態を維持するのは難しく、これらの仕組みが長く保たれるように開発するのがヴィタリック氏をはじめとするイーサリアム開発者なのです。
イーサリアム2.0への進化
そして、イーサリアムは今後イーサリアム2.0と呼ばれるバージョンへアップデートを行うことが予定されています。
イーサリアム2.0では「仕組み3」で述べたプルーフ・オブ・ワークからプルーフ・オブ・ステークへの変更や、「シャーディング」と呼ばれる技術の追加が予定されています。
シャーディングとは、現在1つのブロックチェーンで行っている処理を複数のブロックチェーンで行う技術のことです。これらの変更が行われるとイーサリアムの処理スピードは向上し、開発者やユーザーにとっての利便性が向上します。
イーサリアムを深く知りたい方はイーサリアム2.0についての理解は必須と言えるでしょう。
〜イーサリアム2.0についてもっと知りたい方はこちら〜
イーサリアム2.0とは?将来性・価格の変化・時期・今後などをわかりやすく紹介!
関連記事
イーサリアム(Ethereum)とは?初心者にわかりやすく、歴史・今後・仕組みを解説した入門ページ
イーサリアム(ETH)取引所比較ランキング<21年6月最新>おすすめはどこ?選び方/手数料/ 評判も紹介!
スポンサー