ブロックチェーンで自動契約!スマートコントラクトの事例と仕組み

スマートコントラクト
2020-09-02 更新

ブロックチェーンが誕生して起こった大きな変化として、分散型アプリケーション(Dapps)が開発されるようになったことが挙げられます。

Dappsはブロックチェーン上で稼働するアプリケーションで、その根幹にはスマートコントラクトという仕組みの存在があります。スマートコントラクトは、「プログラムによってあらかじめ決められた処理を自動執行できる仕組み」です。これによって、ブロックチェーン技術の汎用性が爆発的に広がり、数多くの利用事例も誕生しました。今回はそんなスマートコントラクトの概要について見ていきましょう。

イーサリアムから広まったスマートコントラクトとは

ビットコインの場合、「誰から誰にどれだけ渡されたか」という取引履歴しかブロックチェーンに記録されません。ビットコインのブロックチェーンは、汎用性が現時点(2020年7月現在)ではそう高くないという状況です。

一方イーサリアムは、暗号資産(仮想通貨)というだけでなく、いわばパソコンやスマートフォンのOS(オペレーションシステム)のような存在として、様々なアプリケーションを開発できるようになっています。イーサリアムの技術基盤となっているブロックチェーンは「プラットフォーム型」と呼ばれており、スマートコントラクトと呼ばれる仕組みを利用して、アプリケーションを構築し動かせます。

スマートコントラクトによって、決められた挙動の自動執行が可能になり、第三者の介在なしに決められた手続きを踏めるようになったのです。

このおかげで、ゲームやSNS、取引所などが実際に開発されており、現在ではイーサリアム以外にもプラットフォーム型ブロックチェーンを採用している暗号資産が増えています。これらは、イーサリアムと同様にスマートコントラクトを実装できます。

あらゆる取引(契約)を自動実行できるスマートコントラクトの仕組みは?

スマートコントラクトとは、ブロックチェーンが備えるソフトウェア実行環境を利用したもので、「仲介者を必要とせず、取引(契約)を自動実行し、ブロックチェーンに履歴を記録できる仕組み」です。

スマートコントラクトでは、お金を入れて任意のボタンを押すと、自動で商品が出てくる(売買契約が成立する)自動販売機を作れるようなイメージで、自動執行を行うことが可能です。また、例えば、事前に支払いを行っておくと、将来のある時点で契約が自動的に履行されるといった、予約販売のようなことも行えます。

スマートコントラクトの概念自体はブロックチェーンよりも前から存在しており、コンピューター・サイエンスおよび法学、暗号学者のニック・ザボ(Nick Szabo)教授が1994年に提唱しています。同教授は、ビットゴールドという後のビットコインによく似たコンセプトも導入しており、ブロックチェーンの誕生に大きな影響を与えたひとりといえるでしょう。一時期は、ザボ教授がビットコインの生みの親であるサトシ・ナカモトではないかと議論されていました(ザボ教授は否定しています)。

参考コラム: ビットコインを生んだ「サトシ・ナカモト」とは誰か?

プログラミング言語でソースコードを記述

またスマートコントラクトでは、特定のプログラミング言語でソースコードを書くことで、任意の条件に従って自動的に実行するソフトウェアを作成できます。ここで記述されたプログラムはブロックチェーン上で処理できる形に変換され、ブロックチェーン上に載せられます。これによって、ある特定の処理を行った時にあらかじめ決められた処理がプログラムに沿って実行されるのです。

ブロックチェーンに載せられたスマートコントラクトは、改ざんすることが極めて難しくなるため、余程のことがない限りは変更されることはありません。

スマートコントラクトを開発するには?

イーサリアムの場合、スマートコントラクトを実行する仕組みに合わせて専用のプログラミング言語「Solidity」(ソリディティ)が用意されており、今現在も頻繁にアップデートが続けられています。また、Pythonというプログラミング言語に似ているVyper(バイパー)も注目されています。これら言語を利用することで、自由自在にスマートコントラクトを開発できます。

また、スマートコントラクトを効率よく開発するためのツールも徐々に増えており、開発支援からテスト、ブロックチェーンへのデプロイまでサポートしてくれるものも存在します。

スマートコントラクトを開発するための環境が徐々に整いつつあるため、今後も開発がより効率的になっていくでしょう。

スマートコントラクトを応用し、独自の暗号資産も作成可能

イーサリアムでは、スマートコントラクトの動作を定めた標準規格(ERC-20、ERC-223、ERC-721)が存在し、特に「ERC-20」を応用することで、独自の暗号資産(トークン)を作成しやすくなっています。海外ではこの仕組みを基盤としたプロジェクトやサービスが増え、同時に独自の暗号資産も増えました。

一般に、暗号資産というと分析サイトなどの情報を基に2300種類以上 が存在するといわれますが、イーサリアムのERC-20規格に準拠した暗号資産・トークンの場合であれば、27万種類以上 がすでに発行されています(それぞれ2020年7月現在)。

例えば暗号資産バブルが起こった際には、世界中でICO(Initial Coin Offering)が数多く実施されたということを覚えている方も多いことでしょう。その背景には、こうした規格化や開発環境が整ってきたことが挙げられます。誰でも簡単に暗号資産・トークンを発行できるようになり、それを売り出しやすくなったのです。なおこの時は結果として、詐欺に利用されるなど問題が多発したため、現在多くの国と地域で規制の対象となっています。

セキュリティトークン

2020年7月現在注目が集まっているのは、セキュリティトークン(Security Token)と呼ばれる一定の条件を満たすトークンです。これは、株式や債権などのような証券と呼ばれるものをトークン化したものです。なお、セキュリティトークンを発行し売り出すことをSTO(Security Token Offering)と呼びます。

一般的なトークンを発行するための規格ERC-20とは別に、セキュリティトークンの規格も次第に整いつつあり、代表的なところでは「ERC-1400」が挙げられます。もともとセキュリティトークンはさまざまなルールを実装していなければいけないため、ゼロから作るのは骨の折れる作業でした。ERC-1400のような規格があることで、一定の基準をクリアしたトークンを効率的に作成することが可能になったのです。

日本では2019年10月に「日本STO協会」が発足しました。STOの自主規制を策定し、今年5月には金融庁認定団体として登録されています。

参考コラム: 新たな資金調達方法STOとは?ICOとの違いや仕組みを解説

ノンファンジブルトークン(NFT)

他にも、スマートコントラクトで発行できるトークンとして「ノンファンジブルトークン」(Non Fungible Token:NFT)があります。代替不可能トークンとも訳されるNFTは、例えばAさんが持っている1BTCとBさんの持っている1BTCの価値は同じで、これらは同質のものであるため等価交換したり合算して2BTCとすることが可能(ファンジブル:代替可能)です。しかし、仮にAさんの1BTCに「著名人が保有していたBTC」との情報が付与され、希少性が高まったとすると、これは同じ価値ではなくなります。これが代替不可能とされます。これによって例えば、ゲームにおけるキャラクターやトレーディングカードにおける限定カードなど、ゲーム世界にひとつ(あるいは少数)しか存在しない、自分だけのものという作り方も可能になります。この仕組みを利用して、ブロックチェーンを利用したゲームの開発が進められています。

このようにスマートコントラクトを利用して、さまざまなタイプのトークンを発行することで、アプリケーションやサービスをより面白く活発にしていくことも可能です。その意味でも、スマートコントラクトには大きな可能性があるといえるでしょう。

スマートコントラクトのプロジェクト実装事例

2018年には米大統領選の中間予測などでも使われ、話題になりました。

レンディングサービスCompound

コンパウンド(Compound)は投資家が暗号資産を貸し借りできるサービスです。暗号資産の銀行のようなもので、中央管理者がいない分散型金融の構築を目指しています。

コンパウンドはイーサリアムブロックチェーンで構築され、イーサ(ETH)やERC-20、ステーブルコインのテザーを扱う短期金融市場です。仲介をスマートコントラクトで定義し、取引を透明化。預けた資産はデータベースでやりとりを確認できます。

直接ユーザー同士で取引せず、コンパウンドのコントラクトに資産を預けます。その預け入れ資産の利子を稼ぐ仕組みになっています。2020年6月には独自トークンであるCOMPの配布を開始。海外の大手暗号資産取引所のバイナンスやコインベースに上場し、価格が高騰するなど、DeFiブームを起こしています。

イーサリアム以外でもスマートコントラクトは実装・開発できる

イーサリアム以外にもスマートコントラクトを作成・利用できる暗号資産やブロックチェーンがあります。2020年7月現在ではイーサリアム向けが多い状況ですが、ライバルを目指す暗号資産・ブロックチェーンプロジェクトの中には、積極的な開発者支援をうたうものもあります。

EOS

イーサリアム以外でスマートコントラクトを開発できるブロックチェーンの代表例として「EOS」(イオス)が挙げられます。EOSはイーサリアムを圧倒するほどの処理速度を持っており、その機能性から「イーサリアムキラー」と呼ばれています。また、スマートコントラクトの開発において、エンジニアやプログラマーによく利用されているC/C++というプログラミング言語を採用しているため、参入の障害が低いというメリットがあります。

さらにイーサリアムはトランザクション発行時にユーザーに手数料がかかりますが、EOSでは開発者側にかかります。そのため、ユーザーの参入障壁が大きく下がり、ユーザビリティも優れていることが利点です。

ネム

日本でも熱心な支持者が多い暗号資産「ネム」(NEM)でもスマートコントラクトを開発できます。ネムは「モザイク」と呼ばれる独自の仕組みを持っており、このモザイクはあらゆる用途で利用することが可能です。

2020年11月には、ブロックチェーンの性能向上を目指したアップデート「シンボル(Symbol:旧カタパルト)」が予定されています。すでに、テストネットなどでは実験が行われており、本番環境であるメインネットへの実施に向けて準備が進められています。

Hyperledger Fabric

企業が使いやすいブロックチェーンプラットフォームとして、「Hyperledger Fabric」(ハイパーレジャー・ファブリック)も注目を集めています。これは「コンソーシアム」型と呼ばれるタイプのブロックチェーンで、社外に対してデータを不用意に公開したくないといった企業ユーザーに支持されています。Hyperledger Fabricでもスマートコントラクトを開発可能で、ブロックチェーン・ネットワークへの参加者間における処理方法や承認方法もカスタマイズできるようになっています。

スマートコントラクトまとめ

スマートコントラクトとは、ブロックチェーンが備えるソフトウェア実行環境を利用したもので、仲介者を必要とせず、取引(契約)を自動実行し、ブロックチェーンに履歴を記録できる仕組みです。

特定のプログラミング言語でソースコードを書くことで、任意の条件に従って自動的に実行するソフトウェアを作成できる上、イーサリアムでは、スマートコントラクトの動作を定めた標準規格(ERC-20、ERC-223、ERC-721)が存在します。これを応用することで、機能性の高い独自の暗号資産(トークン)を作成しやすくなっています。

また、イーサリアム以外にもスマートコントラクトを実装できるブロックチェーンプラットフォームは数多く存在するため、状況に合わせて選択していくといいでしょう。

※掲載されている内容は更新日時点の情報です。現在の情報とは異なる場合がございます。予めご了承ください。

関連記事

今、仮想通貨を始めるなら
DMMビットコイン