ブロックチェーンで自動契約!スマートコントラクトの事例と仕組み
ブロックチェーンが誕生して起こった大きな変化として、分散型アプリケーション(Dapps)が開発されるようになったことが挙げられます。
Dappsはブロックチェーン上で稼働するアプリケーションで、その根幹にはスマートコントラクトという仕組みの存在があります。スマートコントラクトは、「プログラムによってあらかじめ決められた契約や取引を、仲介者なしで自動執行できる仕組み」です。これによって、ブロックチェーン技術の汎用性が爆発的に広がり、数多くの利用事例も誕生しました。今回はスマートコントラクトの概要について見ていきましょう。
イーサリアムから広まったスマートコントラクトとは
ビットコイン(BTC)の場合、「誰から誰にどれだけ渡されたか」という取引履歴しかブロックチェーンに記録されません。ビットコインのブロックチェーンは、Dappsの分野での汎用性が現時点(2022年5月現在)ではそう高くないという状況です。
一方イーサリアム(ETH)は、暗号資産(仮想通貨)というだけでなく、いわばパソコンやスマートフォンのOS(オペレーションシステム)のような存在として、様々なアプリケーションを開発できるようになっています。イーサリアムの技術基盤となっているブロックチェーンは「プラットフォーム型」と呼ばれており、スマートコントラクトと呼ばれる仕組みを利用して、アプリケーションを構築し動かせます。
スマートコントラクトによって、決められた挙動の自動執行が可能になり、第三者の介在なしに決められた手続きを踏めるようになったのです。
このおかげで、ゲームやSNS、取引所などが実際に開発されており、現在ではイーサリアム以外にもプラットフォーム型ブロックチェーンを採用している暗号資産が増えています。これらは、イーサリアムと同様にスマートコントラクトを実装できます。
スマートコントラクトの仕組み
スマートコントラクトとは、ブロックチェーンが備えるソフトウェア実行環境を利用したもので、仲介者を必要とせずに取引(契約)を自動実行し、ブロックチェーンに履歴を記録できます。
スマートコントラクトでは、お金を入れて任意のボタンを押す(契約の実行条件)と、自動で商品が出てくる(契約内容を実行:売買契約が成立する)自動販売機を作れるようなイメージで、ある契約の自動執行を行うことが可能です。また、例えば、事前に支払いを行っておくと、将来のある時点で契約が自動的に履行されるといった、予約販売のようなことも行えます。
スマートコントラクトの概念自体はブロックチェーンよりも前から存在しており、コンピューター・サイエンスおよび法学、暗号学者のニック・ザボ(Nick Szabo)教授が1994年に提唱しています。同教授は、ビットゴールドという後のビットコインによく似たコンセプトも導入しており、ブロックチェーンの誕生に大きな影響を与えたひとりといえるでしょう。一時期は、ザボ教授がビットコインの生みの親であるサトシ・ナカモトではないかと議論されていました(ザボ教授は否定しています)。
参考コラム:「ビットコインを生んだ「サトシ・ナカモト」の正体は? 論文の内容は?」
プログラミング言語でソースコードを記述
またスマートコントラクトでは、特定のプログラミング言語でソースコードを書くことで、任意の条件に従って自動的に実行するソフトウェアを作成できます。ここで記述されたプログラムはブロックチェーン上で処理できる形に変換され、ブロックチェーン上に載せられます。これによって、ある特定の処理を行った時にあらかじめ決められた処理がプログラムに沿って実行されるのです。
ブロックチェーンに載せられたスマートコントラクトは、改ざんすることが極めて難しくなるため、余程のことがない限りは変更されることはありません。
スマートコントラクトを開発するには?
イーサリアムの場合、スマートコントラクトを実行する仕組みに合わせて専用のプログラミング言語「Solidity(ソリディティ)」が用意されており、今現在も頻繁にアップデートが続けられています。また、Pythonというプログラミング言語に似ているVyper(バイパー)も注目されています。これら言語を利用することで、自由自在にスマートコントラクトを開発できます。
また、スマートコントラクトを効率よく開発するためのツールも徐々に増えており、開発支援からテスト、ブロックチェーンへのデプロイまでサポートしてくれるものも存在します。
スマートコントラクトを開発するための環境が徐々に整いつつあるため、今後も開発がより効率的になっていくでしょう。
スマートコントラクトを応用し、独自の暗号資産(仮想通貨)も作成可能
イーサリアムでは、スマートコントラクトの動作を定めた標準規格(ERC-20、ERC-223、ERC-721)が存在し、中でも「ERC-20」を応用することで、独自の暗号資産(トークン)を作成しやすくなっています。海外ではこの仕組みを基盤としたプロジェクトやサービスが増え、同時に独自の暗号資産(仮想通貨)も増えました。
一般に、暗号資産というと分析サイトには1万種類以上が掲載されていますが、イーサリアムのERC-20規格に準拠した暗号資産・トークン情報を掲載しているウェブサイトでは、900種類以上のプロジェクトと53万以上のトークンがあります(それぞれ2022年5月現在)。
例えば暗号資産バブルが起こった際には、世界中でICO(Initial Coin Offering)が数多く実施されたということを覚えている方も多いことでしょう。その背景には、こうした規格化や開発環境が整ってきたことが挙げられます。誰でも簡単に暗号資産を発行できるようになり、それを売り出しやすくなったのです。なおこの時は結果として、詐欺に利用されるなど問題が多発したため、現在多くの国と地域で規制の対象となっています。
セキュリティトークン
スマートコントラクトを使ったトークン設計に関しては、セキュリティトークン(Security Token)と呼ばれるデジタル証券があります。これは、株式や債権などのような証券と呼ばれるものをトークン化したものです。なお、セキュリティトークンを発行し売り出すことをSTO(Security Token Offering)と呼びます。
一般的なトークンを発行するための規格ERC-20とは別に、セキュリティトークンの規格も次第に整いつつあり、代表的なところでは「ERC-1400」が挙げられます。もともとセキュリティトークンはさまざまなルールを実装していなければいけないため、ゼロから作るのは骨の折れる作業でした。ERC-1400のような規格があることで、一定の基準をクリアしたトークンを効率的に作成することが可能になったのです。
日本では2019年10月に「日本STO協会」が発足しました。STOの自主規制を策定し、2020年5月には金融庁認定団体として登録されています。
参考コラム:「新たな資金調達方法STOとは?ICOとの違いや仕組みを解説」
ノンファンジブルトークン(NFT)
2022年5月現在、スマートコントラクトで発行できるトークンとして注目を集めるのが「ノンファンジブルトークン」(Non Fungible Token:NFT)です。NFTは非代替性トークンとも訳されます。
「ファンジブル」とは、例えばAさんが持っている1BTCとBさんの持っている1BTCの価値は同じであるという意味です。これらは同質のものであるため等価交換することや合算して2BTCとすることが可能(ファンジブル:代替可能)です。
しかし、仮にAさんの1BTCに「著名人が保有していたBTC」との情報が付与され、希少性が高まったとすると、これは同じ価値ではなくなります。これが非代替性(ノンファンジブル)とされます。これによって例えば、ゲームにおけるキャラクターやトレーディングカードにおける限定カードなど、ゲーム世界にひとつ(あるいは少数)しか存在しない、自分だけのものという作り方も可能になります。この仕組みを利用して、ブロックチェーンを利用したゲームの開発が進められています。
このようにスマートコントラクトを利用して、さまざまなタイプのトークンを発行することで、アプリケーションやサービスをより面白く活発にしていくことも可能です。その意味でも、スマートコントラクトには大きな可能性があるといえるでしょう。
関連コラム:「NFT(ノンファンジブルトークン)とは?暗号資産(仮想通貨)との違いは」
スマートコントラクトのプロジェクト実装事例
分散型金融やNFTなど、スマートコントラクトは幅広く使われています。ここではいくつかの事例を紹介します。
レンディングサービス
スマートコントラクトを使うことで、仲介者なしで暗号資産(仮想通貨)を貸し借りできるサービスが構築されています。暗号資産の銀行のようなもので、中央管理者がいない分散型金融の一種です。
レンディングサービスとして代表的なコンパウンドはイーサリアムブロックチェーンで構築され、イーサリアム(ETH)やERC-20、ステーブルコインのテザーを扱う短期金融市場となっています。仲介をスマートコントラクトで定義し、取引を透明化。預けた資産はデータベースでやりとりを確認できます。
直接ユーザー同士で取引せず、コンパウンドのコントラクトに資産を預けます。その預け入れ資産の利子を稼ぐ仕組みになっています。2020年6月には独自トークンであるCOMPの配布を開始。海外の大手暗号資産取引所に上場し、価格が高騰するなど、DeFiブームを起こしました。
マーケットプレイス
2021年から世界中で話題となったNFTを取引するマーケットプレイスにもスマートコントラクトは使われています。マーケットプレイスごとにスマートコントラクトの機能は異なりますが、販売に必要な処理や、NFTの売買手数料の比率や仕組みがプログラムされています。
ゲーム
ゲームをプレイすることでトークン収益が得られる「Play-to-Earn」という新ジャンルのゲームで、スマートコントラクトが使われています。「Play-to-Earn」では、ゲームの目的を達成することで報酬が得られます。この報酬の取引がスマートコントラクトによって管理されています。
不動産
不動産の取引では契約に煩雑な手続きが必要です。スマートコントラクトを利用することで、捺印や大量の書類なしで契約が行えるようになります。さらにスマートコントラクトがブロックチェーンに記録されるために偽造や書き換えなども実質不可能になります。
イーサリアム以外でもスマートコントラクトは実装・開発できる
イーサリアム以外にもスマートコントラクトを作成・利用できる暗号資産やブロックチェーンがあります。2020年7月現在ではイーサリアム向けが多い状況ですが、ライバルを目指す暗号資産・ブロックチェーンプロジェクトの中には、積極的な開発者支援をうたうものもあります。
ステラ
ステラはスマートコントラクトによってステラルーメン(XLM)の送金やトークンの作成、発行などを自動化しています。
ステラのスマートコントラクトには専用のプログラミング言語はありません。価値の送信や保存、取引に特化したシンプルなステラ・スマートコントラクト(Stellar Smart Contract、SSC)が提供されています。
他のブロックチェーンのスマートコントラクトとは異なり、ステラではSDKを介して外部からブロックチェーンにアクセスします。そのためにクライアントSDKが必要になりますが、ステラではJavaScript、Go、Java、Ruby、Python、C#、C++、Scalaなど多様な言語に対応したSDKが用意されています。
ネム
日本でも熱心な支持者が多い暗号資産「ネム(XEM)」でもスマートコントラクトを開発できます。ネムは「モザイク」と呼ばれる独自の仕組みを持っており、このモザイクはあらゆる用途で利用することが可能です。
EOS
イーサリアム以外でスマートコントラクトを開発できるブロックチェーンの代表例として「EOS」(イオス)が挙げられます。EOSはイーサリアムを圧倒するほどの処理速度を持っており、その機能性から「イーサリアムキラー」と呼ばれています。また、スマートコントラクトの開発において、エンジニアやプログラマーによく利用されているC/C++というプログラミング言語を採用しているため、参入の障害が低いというメリットがあります。
さらにイーサリアムはトランザクション発行時にユーザーに手数料がかかりますが、EOSでは開発者側にかかります。そのため、ユーザーの参入障壁が大きく下がり、ユーザビリティも優れていることが利点です。
Hyperledger Fabric
企業が使いやすいブロックチェーンプラットフォームとして、「Hyperledger Fabric」(ハイパーレジャー・ファブリック)も注目を集めています。これは「コンソーシアム」型と呼ばれるタイプのブロックチェーンで、社外に対してデータを不用意に公開したくないといった企業ユーザーに支持されています。Hyperledger Fabricでもスマートコントラクトを開発可能で、ブロックチェーン・ネットワークへの参加者間における処理方法や承認方法もカスタマイズできるようになっています。
まとめ
スマートコントラクトとは、ブロックチェーンが備えるソフトウェア実行環境を利用したもので、仲介者を必要とせず、取引(契約)を自動実行し、ブロックチェーンに履歴を記録できる仕組みです。
特定のプログラミング言語でソースコードを書くことで、任意の条件に従って自動的に実行するソフトウェアを作成できる上、イーサリアムでは、スマートコントラクトの動作を定めた標準規格(ERC-20、ERC-223、ERC-721)が存在します。これを応用することで、機能性の高い独自の暗号資産(仮想通貨)を作成しやすくなっています。
また、イーサリアム以外にもスマートコントラクトを実装できるブロックチェーンプラットフォームは数多く存在するため、状況に合わせて選択していくといいでしょう。
イーサリアムについて詳しく知りたい方は「Dappsとは何か?イーサリアムが人気を牽引」もご参照ください。
※掲載されている内容は更新日時点の情報です。現在の情報とは異なる場合がございます。予めご了承ください。
関連記事
-
オプティミスティック・ロールアップとは?スケーラビリティ改善に重要な技術
イーサリアム(ETH)のスケーラビリティ問題などの課題に対応した技術にレイヤー2と呼ばれる技術がいくつかありますが、そのうちの一つに「ロールアップ」があります。この記事では、オプティミスティック・ロールアップの仕組みや将来性、他のロールアップとの違いについて解説していきます。
-
イーサリアム仮想マシン(EVM)とは?仕組みや互換性を持つブロックチェーンも紹介
スマートコントラクトによるDAppsの開発が活発な暗号資産(仮想通貨)の分野では、イーサリアム(ETH)を中心に、スマートコントラクトが開発できる様々なブロックチェーンが台頭してきています。この記事では、EVMの概要や仕組み、対応するメリットや将来性などを解説します。
-
RWA(Real World Asset)とは?「現物資産のトークン化」について解説
日進月歩のブロックチェーン技術は、暗号資産(仮想通貨)以外にも実用化が進められています。その中の一つが「RWA(Real World Asset:現物資産)のトークン化」です。この記事ではRWAのトークン化とは何か、なぜ注目されているのか、その特徴や今後の将来性について詳しく解説します。
-
暗号資産(仮想通貨)取引に関わるガス代について解説
暗号資産(仮想通貨)やブロックチェーンの分野は、その複雑さと革新性で知られています。そうした中で、ガス代と呼ばれる手数料はこの分野を理解する上では必要不可欠な知識です。この記事ではガス代の概念を始め、それが暗号資産取引にどのような影響を与えるかなどについて詳しく解説します。
-
マイニングに使われるプルーフ・オブ・ワーク(PoW)とは?意味や役割を解説
Proof of Work(プルーフ・オブ・ワーク:PoW)とは暗号資産(仮想通貨)における「コンセンサスアルゴリズム」の一種です。本記事ではその仕組みや、メリット・デメリットを解説します。
-
暗号資産(仮想通貨)は追跡できる?追跡方法や匿名性について解説!
ビットコインの送付は、匿名性が高く、秘密裏に決済が可能であるという印象があります。ですが、実際には取引情報については誰でも閲覧することができ、取引は常にオープンです。当記事では、ビットコインアドレスの仕組みや追跡、匿名性について解説します。
-
暗号資産(仮想通貨)のオフチェーンとは?データ量を削減する重要技術
ビットコイン(BTC)やイーサリアム(ETH)などの暗号資産(仮想通貨)では、トランザクションが通常より多く発生すると、送金遅延や手数料が高騰するといった問題が発生することがあります。そうした問題の解決策として期待されているのが「オフチェーン」という技術・手法です。この記事では暗号資産のユースケースの広がりを支えるオフチェーンについて解説します。
-
アービトラム (Arbitrum)とは?将来性や今後を解説
アービトラム(Arbitrum)は、イーサリアムのスケーラビリティ問題を軽減させるために開発されたレイヤー2に分類されるブロックチェーンです。この記事では、アービトラムを詳しく解説し、そのメリットや将来性についても紹介していきます。
今、仮想通貨を始めるなら
DMMビットコイン