とってもやさしいビットコイン

とってもやさしいビットコイン

仮想通貨の知識が全くない初心者の方に向け、仮想通貨・ブロックチェーン・Web3.0を理解できるポータルサイトです。

イーサリアムのスマートコントラクトをわかりやすく解説!実例も紹介

f:id:jyutakugyoseiku:20160912091350j:plain

 

イーサリアムには、「スマートコントラクト」という機能があり、それを使うことで様々なサービス(Dapps)を作成することが可能になっています。

イーサリアムについて調べていると、必ずと言っていいほどよく聞くこの「スマートコントラクト」について、初心者の方にもわかりやすく解説します。スマートコントラクトを使用してどのようなことができるのか、実例も紹介します。

 

 

コインチェック

 

スマートコントラクトとは?最もわかりやすく言うと…

スマートコントラクト(Smart contract)を最もわかりやすく言うと、「自動的に執行される仕組み」と言えます。コントラクトの日本語訳は「契約」ですが、私たちが一般的に使う「契約」とは意味が少し異なるので注意が必要です。

スマートコントラクトという言葉は、イーサリアムのホワイトペーパー(設計書)に記載されており、それにより広く認知されました。そのため、イーサリアムで誕生したと思われていますが、そうではありません。1990年代には既に作られていた用語です。また、イーサリアム以外の仮想通貨プラットホームにもある機能です。

スマートコントラクトは、イーサリアムなどのプラットホームで実行されるプログラムとして、イーサリアム上にいわば"埋め込む"ことができます。

プログラムとは、例えば「Aと入力したらBと返す」とコンピューターに与える指示のようなもの。つまり、そのプログラムをイーサリアムプラットホームへ埋め込んで、自動的に「Aと入力したらBと返す」を実行してくれる仕組みがスマートコントラクト、ということです。

 

普通のプログラムとの違い

イーサリアムのスマートコントラクトは普通のプログラムとは違い、

・一度埋め込んだら変更をすることができない

・イーサリアムプラットホームのルールに則り、入力が同じなら同じものを返す

などの特徴があります。

「Aさんが3ETH(イーサ:イーサリアムの仮想通貨)をBさんへ送ったら、Bさんは4ETHをCさんへ送る」というスマートコントラクトを、イーサリアムプラットホームに埋め込むとします。そして、このスマートコントラクトを利用して、Aさんが3ETHをBさんへ送ります。するとBさんが何もしなくても、自動的にBさんの4ETHがCさんへ送られるのです。

次は「Aさんが10ETHをBさんへ送ったら、Bさんは13ETHをCさんへ送る」という契約に変更したいな、と思ったとします。

普通のパソコン上のプログラムであれば、先ほど埋め込んだプログラムの数字を修正する、という方法が取られます。しかし、イーサリアムのスマートコントラクトは一度埋め込んだものに関しては変更ができないので、先ほどのスマートコントラクトとは別に再度「Aさんが10ETHをBさんへ送ったら、Bさんは13ETHをCさんへ送る」のプログラムを作成し、埋め込みます。

そしてそちらのスマートコントラクトを適用した上で、Aさんが10ETHをBさんへ送れば、自動執行によりBさんから13ETHがCさんへ送られるのです。(その際、最初に埋め込んでいたスマートコントラクトを適用しなければ、最初のスマートコントラクトは動きません)

このように、イーサリアムのスマートコントラクトは普通のプログラムとは異なり、書き換えることができなかったり、イーサリアムのルールを適用しつつ自動で動いたり、といった特徴があるのです。


スポンサー
 

 

 

スマートコントラクトでできること

イーサリアムのスマートコントラクトを応用することで、「Dapps」と呼ばれるアプリケーションを開発することができます。

DappsとはDecentralized Applicationsの略で、日本語では「分散型アプリ」などと訳されます。

分散型アプリ、と聞くと少しわかりづらいですが、とても簡単に言ってしまえば、「特定の運営者がいなくても稼働し続けるアプリ」です。

私たちが使うアプリ(例えばスマホにダウンロードして使っているアプリ)は、特定の運営者がいます。例えば企業などがアプリを開発し、それをアプリストアで配信し、バグが見つかれば一度アプリを止めて修正、などを行いながら稼働させます。

しかし、Dappsではそのような特定の運営者がいなくても、アプリが作られ公開された後は常に稼働し続けます(「ゼロダウンタイム」などと言われます)。また、どのような仕組みになっているのかを他の人が見たり(「オープンソース」などと言われます)、それらが動いている様子(誰かが使った履歴など)を確認することができます。

Dappsはこのような特徴を持っていて、今までのアプリでできなかったことが実現できる、と期待されているのです。

 

今までのアプリ   Dapps(分散型アプリ)
特定の運営者(企業など) 運営 特定の運営者なし
運営者が修正するなどの間

ダウンタイム
(稼働していない時間)

なし
ほとんどのアプリができない ソースコード
(仕組み)
見ることができる
運営者のみ確認可 稼働状況 誰でも確認可

 

Dappsは2021年5月現在、仮想通貨プラットホームの中ではイーサリアム上で最も多く開発・作成されています。イーサリアムはDappsを開発するプラットホームとしての地位を確立しつつあり、こうしている間にもDapps開発者はイーサリアム上で様々なDappsを開発し続けているのです。

 

スマートコントラクトの実例

スマートコントラクトは、例えば以下のようなDappsを実現するのに使われています。

1 DeFi(分散型金融)

スマートコントラクトの実例1

スマートコントラクトの実例「DeFi」(出典:https://uniswap.org

イーサリアム上では、分散型(特定の運営者なしで稼働し続ける)金融アプリを作成・開発する事ができます。これはすでに2020年からブームとなっており、DeFi(ディファイ:分散型金融)と呼ばれています。

DeFiとは分散型金融、いわば「特定の運営者なしで稼働し続ける金融システム(金融市場)」です。「特定の運営者なしで稼働し続ける仮想通貨取引所」「特定の運営者なしで稼働し続ける質屋」など、分散型金融システムのDappsの総称です。

DeFiとは

DeFiとは?

例えば、今までは仮想通貨取引所を運営するのは、どこかの企業でした。取引所を運営する企業が、みんなが安心安全に取引できる環境を整え、取引のシステムを作成し、不正が起こらないように監視して…と取引所を稼働させます。しかし、DeFiの「特定の運営者がいないのに稼働する取引所」のDappsでは運営者がいなくとも、みんなが安心安全に、不正が起こらないで取引ができる、という環境が実現します。

そのような取引所をDEX(Decentralized Exchange:分散型取引所)と呼びます。

まだDEXが誕生して、多くの人が利用するようになって間もないので、利用者はDappsのバグなどの可能性も考慮して利用しなければならないのが現状です。しかし、今のところ問題なく稼働しており、「問題ないかも…」という認識が広がりつつあります。

また、DEXでは流動性の提供、簡単に言えばDEXに仮想通貨を預けることで利息を得ることもできます。その点もDEXやその他DeFiが人気になっている理由の一つです。

 

<イーサリアム上のDeFiのDapps例>

Uniswap(分散型取引所)

https://uniswap.org

Compaund(レンディングプラットホーム)

https://compound.finance

 

2 ゲーム

スマートコントラクトの実例2

スマートコントラクトの実例「ゲーム」(出典:https://axieinfinity.com/

イーサリアムのスマートコントラクトを使えば、Dappsのゲームを作ることができます。のDappsゲームも特定の運営者なしで動きます。Dappsのゲームでは、そのゲーム内で使われるアイテムやキャラクターを売買することができます。

ゲーム内の仮想通貨を作り、その仮想通貨を販売。ユーザーはその仮想通貨を購入し、その仮想通貨でゲーム内アイテムを購入してゲームを進めます。ゲームを進めていくと、キャラクターがとても強くなります。その強くなったキャラクターを他のユーザーへ売ります。買ってくれたユーザーから代金をゲーム内仮想通貨で受け取り、その仮想通貨を売却。

そんなゲームを作ることができるのです。しかもそのゲームは特定の運営者がおらず、サーバーメンテナンスの時間でゲームができない、などということもありません。

 

<イーサリアム上のゲームDappsの例>

Axie Infinity

https://axieinfinity.com/

 

3 予測市場

スマートコイントラクトの実例3

スマートコントラクトの実例「予測市場」(出典:https://www.augur.net

イーサリアムのスマートコントラクトを使用すれば、予測市場のDappsを作成・開発することができます。

今までの予測市場(ギャンブルなど)では、「胴元」と呼ばれる特定の運営者が必要不可欠でした。競馬ではJRAなどが取り仕切り、競馬場を作成したり、観客に周知したり、掛け金を管理することで市場が成り立っています。

しかし、Dappsを用いればそのような特定の運営者が必要なく(またはほぼ必要なく)予測市場を作ることができます。

例えば明日の天気をAさんとBさんで賭けるとします。Aさんは25℃未満、Bさんは25℃以上を予測し、1ETHをベットしました。Dapps内に二人とも1ETHをロックし、次の日を待ちます。「"◯℃"のときAorBは1ETHを支払う」という条件をDappsであらかじめ作成しておけば、あとは気温を確かめて、そのDappsへ入力するだけで支払いが行われます。

このように「Aの時B」という条件をつけたり、「◯ETHをロックしておく」などが特定の運営者なしで行うことができるため、Dappsでは予測市場(ギャンブル)をほぼ胴元を必要とせず行うことができるのです。

ちなみに、上の例で「あとは気温を確かめて、そのDappsへ入力するだけ」と記載しましたが、ここも自動で行うシステムは開発されており、「オラクル」などと呼ばれています。

 

<イーサリアム上の予測市場Dappsの例>

Augur(オーガー)

https://www.augur.net

 

まとめ

以上、イーサリアムのスマートコントラクトを中心に、初心者の方にもわかりやすく実例をあわせて紹介しました。

スマートコントラクトはイーサリアムだけでなく、様々な仮想通貨やプラットホームに実装されています。スマートコントラクトを使ったDappsがこの世に増えていくと、今までとは違う世界が訪れることでしょう。

 

関連記事

イーサリアム(Ethereum)とは?初心者にわかりやすく、歴史・今後・仕組みを解説した入門ページ 

イーサリアム2.0とは?将来性・価格の変化・時期・今後などをわかりやすく紹介!

イーサリアム(ETH)取引所比較ランキング<2021年最新>おすすめはどこ?選び方/手数料/ 評判も紹介!

 

コインチェック