イーサリアムとスマートコントラクトの仕組み

       

Twitter創始者のツイートやデジタルアートに何億円、何十億円もの値段がつくなど、NFTはいま世界中で注目を集めています。そのNFT取引の大半が、イーサリアム上で行われています。この記事では、イーサリアムについての基礎知識や、イーサリアムの特長であるスマートコントラクトについて解説します。


イーサリアムとは

「イーサリアム」というと、「ビットコインに次ぐ時価総額2位のコイン」というような使い方をされていることから、仮想通貨の一種であると思われている方もいらっしゃるかもしれません。

日本では、仮想通貨としても「イーサリアム」という名称が使われることが多いので、間違いではないのですが、本来、「イーサリアム」とは、ブロックチェーンを利用して、ゲームなどのアプリケーションを開発、構築するための環境を提供するプラットフォームです。

イーサリアムで開発されるアプリケーションとは、従来のアプリケーションとは違った性質を持った「分散型アプリケーション」と呼ばれるものです。これについては後述します。

また、プラットフォームは少々抽象的な用語ですが、サービスやシステム、ソフトウェアなどを開発、運用する基盤のことを意味します。たとえば、WindowsなどのOSは、ソフトやシステムを使うためのプラットフォームです。また、TwitterやFacebookなどのSNS(ソーシャル・ネットワーキング・システム)もユーザー同士の交流の場を提供するプラットフォームです。

プラットフォーム型と呼ばれるイーサリアムのブロックチェーンは、ビットコインのブロックチェーンとどのような点が違うのでしょうか。


イーサリアムブロックチェーン

2009年に、世界初の仮想通貨であるビットコインの運用が開始されました。日本円ならば日本銀行というように、従来の通貨には中央で管理する機関が必要ですが、ビットコインには中央管理者が存在しません。中央管理者が不在でありながら、不正や改ざんを防ぐことができるのは、分散管理型の取引台帳であるブロックチェーンという新しい技術が登場したためです。

ビットコインのブロックチェーンには、「いつ、だれが、だれに、いくら支払った」といった通貨の取引情報が記録されます。ビットコインブロックチェーンは、ビットコインの運用のためのブロックチェーンなので、仮想通貨に特化しており、価値の保存や交換に最適な仕様になっています。

これに対し、仮想通貨以外の用途にも使えるよう開発されたのが、イーサリアムなどの汎用ブロックチェーンです。

ビットコインブロックチェーンに記録できるのが取引情報だけであったのに対し、イーサリアムブロックチェーンは、取引情報のほかにアプリケーションプログラムを記録することができます。これにより、イーサリアムブロックチェーンの最大の特徴である「スマートコントラクト」という機能の実装が可能になりました。


スマートコントラクトとは

スマートコントラクト(Smart Contract)は「契約の自動化」というような意味で、契約内容と実行条件をあらかじめブロックチェーン上にプログラムしておくことにより、契約を自動的に実行する仕組みです。スマートコントラクトは、イーサリアムブロックチェーンの最大の特徴です。

スマートコントラクトという考え方自体はブロックチェーン特有のものではなく、ブロックチェーンが登場するより前の1990年代に、情報工学者で暗号研究者のニック・サボ(Nick Szabo)氏によって提唱されました。スマートコントラクトが最初に導入された事例のひとつとしてサボ氏が挙げているのは自動販売機で、購入者が十分なお金を投入してボタンを押すという条件が満たされることによって、商品の売買契約が自動的に実行されます。

イーサリアムではSolidity(ソリディティ)やVyper(バイパー)といったプログラミング言語でソースコードを書いて実装します。

開発用のツールやサポートなども増えてきているので、今後スマートコントラクトの開発がより効率的になり、多くの人が参入しやすい環境になると思われます。

スマートコントラクトとは

スマートコントラクトのメリット

通常の取引においては、お互いの信頼性が重要で、信頼性を担保するために第三者に介入してもらったり契約書を交わしたりする必要があります。スマートコントラクトを利用すると、条件を満たせば契約が自動的に実行されるので、信頼関係がなくても取引することが可能です。

そのため第三者の仲介は不要となり、当事者間で直接取引できることから、仲介業者へ支払うべきコストの削減や、取引期間の短縮をすることができます。

取引の内容はブロックチェーンへ記録、公開されるので、取引の透明性が保たれます。また書き換え不可能なブロックチェーンの性質から、容易に改ざんすることはできず、契約不履行を防止することにもつながります。


スマートコントラクトの活用事例

これらのメリットから、いろいろな業界においてスマートコントラクトの導入や、導入の実験が行われています。

Defi(ディーファイ)

Defi(Decentralized Finance)とは、ブロックチェーン上に構築される金融サービスのエコシステムで、日本語には「分散型金融」と訳されます。

従来の金融システムには、銀行や証券会社といった中央管理者や仲介業者が必要ですが、Defiはスマートコントラクトを利用して取引を実行するので、中央管理者や仲介業者は不要です。そのため時間の短縮やコストを削減でき、誰もが直接アクセスして取引に参加することが可能です。

イーサリスク(Etherisc)

イーサリスクは、スマートコントラクトを利用した分散型保険プラットフォームです。

これまでは人の手で行っていた保険金の支払いの過程をスマートコントラクトにより自動で行うので、保険会社は人件費が削減でき、ユーザーは低い手数料で利用することができます。また、保険金支払い可否の判定も自動で行われるので、保険契約に関するトラブル防止にもつながります。

REX

REXは、スマートコントラクトを利用した不動産取引サービスです。不動産取引でも、仲介者を排除することにより、コスト削減や時間短縮のメリットがあります。

Augur(オーガー)

Augurはギャンブルのプラットフォームです。

スマートコントラクトを用いているため、運営(胴元)が不在で、高い還元率を得ることができます。また、運営によるレートの操作や掛け金の横領などの不正を心配する必要もありません。

Ujo Music(ウージョミュージック)

音楽業界などのエンタメ業界では、アーティストが制作した作品がユーザーに届くまでのあいだにたくさんの仲介業者が入っており、実際にアーティストに入ってくる収入は売り上げのわずかだけということが多々あります。

Ujo Musicは、イーサリアムの楽曲ダウンロードサービスで、アーティストとユーザーを直接つなげるプラットフォームをブロックチェーン上に構築しました。スマートコントラクトを利用することで仲介業者が不要になり、ユーザーが楽曲に支払ったお金は直接アーティストに還元されます。また、これまで取り扱いの不透明さが問題になっていた著作権など知的財産権についても、明確にできるというメリットもあります。

CryptoKitties(クリプトキティーズ)

CryptoKittiesは、デジタルの猫を飼育・繁殖させて、オリジナリティの高い猫を生み出すブロックチェーンゲームです。NFT化された希少性の高い猫が1,900万円で取引されるなど、NFTブームの火付け役となりました。

この繁殖を決める遺伝アルゴリズムにスマートコントラクトが利用されており、ランダムな猫が生まれるようになっています。また、猫の売買にもスマートコントラクトが使われているので、ゲームのユーザー同士が直接取引することができます。

これらはすでに実用化されているものです。

また、スマートコントラクトの活用をさまざまな分野に広げる試みもいろいろな業界でされています。

電力の売買

これまで、家庭用発電機で余った電力は電力会社に売るという選択だけでしたが、大手電力会社などが、ブロックチェーンを用いたP2Pネットワークを使って電力取引をする実証実験を始めています。このP2P電力取引が実用化されれば、電気を売りたい人と買いたい人が直接取引をすることが可能になります。取引は、スマートコントラクトで条件が満たされれば自動的に実行されます。

P2P電力取引は、電力の需要者と供給者の双方にメリットがあるだけでなく、災害時などの電力としても利用できるため、導入が期待されています。

シェアリングエコノミー

シェアリングエコノミーは、ブロックチェーンやスマートコントラクトとの親和性が高く、今後サービスに取り入れられていくと予想されています。

たとえば民泊では、鍵の紛失などのトラブルがありますが、電子ロックを使うことでトラブルを減らすことができます。宿泊者のスマホに電子ロックのキーを送信し、利用が終了するとクレジットカードから代金を引き落とすようにします。この流れはすべてスマートコントラクトで自動に実行されるので、民泊の利用がスムーズに行われるようになるでしょう。


分散型アプリケーション(Decentralized Applications、DApps)とは

分散型アプリケーションとは、スマートコントラクトを応用して、より複雑な処理ができるようにしたブロックチェーン上のアプリケーションです。

従来のアプリ(Centralized Applications)には中央管理者が存在し、ひとつのサーバーでアプリの運営や管理を行っているため、サーバーに障害が発生した場合などには、アプリのサービスが停止してしまうという問題があります。

それに対して、分散型アプリには中央管理者は存在せず、参加者が共同で管理します。サーバーはネットワーク全体に広がっているので、仮に一つのサーバーがダウンしたとしても、アプリ全体が停止してしまうことはありません。

また、ブロックチェーンを使っているので、データを改ざんするなどの不正が行われるリスクは非常に少ないといえます。

分散型アプリの例としては、上に挙げたCryptoKittiesなどのゲームがあります。従来のゲームとの違いは、ゲームの世界の中に経済圏を作れることで、ゲーム内で育てたキャラクターや収集したアイテムを売買することができます。ブロックチェーン上のゲームなので、売買などの取引は公正に行われます。

ゲームのほかにも、分散型取引所や予測市場などの分散型アプリが実用化されています。

DAppsとは

スマートコントラクトのデメリット

さまざまな業界での活用が期待されるスマートコントラクトですが、デメリットもあります。

脆弱性

ブロックチェーンの特徴から、一度契約が実行されてしまうと契約内容を変更するのは不可能になります。プログラムにミスやバグがあっても修正できません。もし致命的なバグであった場合、その脆弱性を悪質なハッカーに突かれる可能性があります。

法律の問題

スマートコントラクトでの売買などの取引は法律上の行為ですが、契約の自動化などの新しい仕組みに関しては、まだ法整備が追い付いていないところもあるので注意が必要です。

スケーラビリティ問題

スケーラビリティとは「拡張可能性」のことで、利用者や処理の増大に対応できる度合いのことをいいます。スマートコントラクトの利用者が増えれば増えるほどトランザクションも増えるので、処理に時間がかかってしまい、スマートコントラクトの長所であるはずの迅速さが生かせなくなる可能性があります。また、利用者の増加に伴って手数料が値上がりすれば、利用しにくくなってしまうおそれがあります。

これらの点については、技術の革新などでの解決が望まれます。


仮想通貨イーサについて

イーサ(ETH、Ether)は、イーサリアムのネイティブ通貨(そのブロックチェーン独自の通貨)です。前述したように、日本ではイーサのことも「イーサリアム」と呼ばれています。イーサは、イーサリアム上でスマートコントラクトを実行したりアプリケーションを利用したりする際に生じる手数料の支払いに使われます。イーサリアムでの取引手数料は「ガス代(Gas)」と呼ばれます。

ビットコインと同様、イーサの新規発行はマイニングによってなされ、マイニングには「プルーフ・オブ・ワーク(PoW)」という方式が採用されています。ビットコインやイーサリアムのように、中央管理者の存在しないP2Pネットワークにおいては、データの正しさについて参加者が同意するルール(コンセンサスアルゴリズム)が必要です。PoWはそのひとつで、ブロックに記録するハッシュ値が特定の条件を満たすようなナンスを最初に見つけたマイナーに新しいブロックを生成する権利を認めて、報酬がを支払うという方法です。

PoWは、不正に強いなどのメリットがありますが、ナンスを最初に見つけるという競争に勝利するにはハイスペックのコンピュータが必要なため、「マイニング工場」と呼ばれるような一部の企業が独占してしまったり、またマイニングの膨大な消費電力が環境にかける負荷への懸念などのデメリットがあります。

そこで、イーサリアムの次のアップデート(セレニティ)では、PoWから、コインの保有量と保有期間によって報酬を支払うマイナーを決める「パワー・オブ・ステーク(PoS)」への移行が予定されています。

なおイーサには、ビットコインのように希少性を保つための発行数の上限や半減期はありません。


イーサリアムの歴史

イーサリアムの誕生から現在までの流れを追ってみましょう。

イーサリアムの誕生

イーサリアムは2013年、当時19歳だったカナダのヴィタリック・ブテリン(Vitalik Buterin)氏によって考案されました。ブテリン氏は、イーサリアムプロジェクトの目的が、ブロックチェーンを利用した分散型アプリケーション開発のプラットフォームの構築であるとホワイトペーパーで公表しています。翌2014年にはイーサリアム財団が設立されます。

イーサリアムのICO

ICO(Initial Coin Offering)は「トークンセール」とも呼ばれ、資金を集める目的で独自のトークン(仮想通貨)を発行することです。新規株式公開に似た資金調達方法といえます。

2014年にイーサリアムのICOが実施され、新しく発行されたイーサが約18億円相当のビットコインと交換されました。

イーサリアムの開発

イーサリアムの開発はイーサリアム財団を中心に行われてきました。開発は4段階に分かれており、それぞれのアップデートには、「フロンティア」「ホームステッド」「メトロポリス」「セレニティ」というコードネームがつけられています。

フロンティア(Frontier)アップデート

2015年5月、テスト環境ネットRopstenでの一般公開前のリリースを経て、2015年7月30日、フロンティアアップデートされたイーサリアムが一般のインターネットに公開されました。フロンティアアップデートではイーサリアムはまだ実験段階で、その仕様は開発者向けであり、不具合が見つかった場合にやり直して修正できるよう、ブロックチェーンへの記録はされませんでした。

ホームステッド(Homestead)アップデート

フロンティアで見つかったバグを改善し、2016年3月、ホームステッドアップデートが行われました。開発者向けであったフロンティアに対して、ホームステッドではブロックチェーンへの記録も開始され、プラットフォームとしてのイーサリアムが本格的にスタートしました。これを受けて、多くの開発者がプロジェクトに参加し、新しい技術やプログラムが追加されていきました。反面、スマートコントラクトなどの利用に掛かるガス代が値上がりしました。

The DaoのICO

2016年4月に、The DAOのICOが実施されました。The Dao(Decentralized Autonomous Organization)とは、イーサリアム上に分散型投資ファンドの構築を目指すプロジェクトです。分散型投資ファンドは、従来の投資ファンドと違って中央管理者を持たず、民主的な投票プロセスで投資先を決める新しい投資ファンドです。このICOでは、当時のイーサの発行量の10分の1、ドルにして約1億3232万ドルの資金を集めました。

The Dao事件

新しい投資ファンドとして投資家からの注目を集めたThe Daoですが、2016年6月17日、システムの脆弱性をついた悪質なハッカーによって、総資金の約3分の1にあたる約8000万ドルが不正送金により盗難されるという事件が起きました。

The Daoの機能上、送金された資金は不正送金を行ったハッカーを含め28日間引き出せないので、その期間内に盗難への対処をする必要がありました。

そこでイーサリアムコミュニティーは、投票の末、90%以上の多数の賛成で「ハードフォーク」を実施することを決定しました。ハードフォークとは、それまでのチェーンとは恒久的に分岐してしまう互換性のないアップデートです。フロンティアやホームステッドなどの大型アップデートもハードフォークを実施することにより行います。The Dao事件ではハードフォークで過去のブロックに遡ってブロックチェーンを分岐させ、ハッカーによる不正送金をなかったことにして被害を救済しました。

一方で、本来過去の記録を改ざんすることが不可能であるはずのブロックチェーンにおいて、ハードフォークで過去を書き換えることに疑問を感じる人々もいました。

ハードフォークに反対するグループは、分岐する前の不正のあったチェーンを「イーサリアムクラシック(Ethereum Classic、仮想通貨ETC)」としてそのまま使い続ける選択をし、そのためイーサリアムは2つに分裂することになりました。

The Dao事件

メトロポリス(Metroplis)アップデート

メトロポリスアップデートは、2017年10月のビザンチウム(Byzantium)と2019年3月のコンスタンティノープル(Constantinople)の二段階で行われました。

コンスタンティノープルのアップデートは2019年1月に予定されていましたが、脆弱性が見つかったためにいったん延期となり、脆弱性を無効化する「サンクトペテルブルク(St. Petersburg)」と同時にアップデートされました。

メトロポリスでの代表的な変更点のひとつに、「ゼロ知識証明(zk-SNARK)」の導入があります。ゼロ知識証明は、プライバシーに関する情報を公開しなくても取引の正当性を証明できる技術で、これにより、プライバシーの保護およびセキュリティーが向上しました。

また、セレニティへの移行準備として、マイニングの難易度が引き下げられました。これによりブロックの生成時間が短くなり、処理速度が向上しました。

ブロック生成が容易になって処理速度が上がるとマイニング回数が増加し、マイニング報酬も増えてしまうので、同時にマイニングの報酬額を減額することで、調整を図りました。

セレニティアップデート(イーサリアム2.0)

イーサリアムの最終アップデート、セレニティが2020年12月にスタートしました。セレニティは「フェーズ0」「フェーズ1.0」「フェーズ1.5」「フェーズ2」の4段階で行われます。セレニティはイーサリアム2.0と呼ばれ、これまでのイーサリアム1.xとは一時的に別のチェーンで行われ、最終的には統合される予定です。

現行のイーサリアム1.xも開発が続けられ、2019年12月に「イスタンブール(Istanbul)」2020年1月に「ミュア・グレイシャー(Muir Glacier)」2021年4月に「ベルリン(Berlin)」の大型アップデートが実装されました。