ブロックチェーン技術は、今や仮想通貨だけで使われているわけではありません。実証実験レベルのものも含め、様々なアプリケーションが登場してきています。

 例えばビットコインが持つ送金の機能はコインの所有権を他者に移転する行為でもあるので、証券譲渡や著作権管理に応用できる可能性があります。また、ブロックチェーンをたどれば、過去の状況をトレースできるので、サプライチェーンなど製造工程管理に応用できる可能性もあります。

 しかし、ビットコイン自体には仮想通貨の機能しかありません。仮想通貨の情報しかやり取りできないのです。

 そこで、仮想通貨以外の情報も扱えるようにするための機能がブロックチェーン技術に求められるようになりました。それが「スマートコントラクト」です。この機能を実装したブロックチェーン基盤が今、様々な実証実験に用いられています。

 スマートコントラクトという機能によって、ブロックチェーンは仮想通貨以外の情報も処理できるようになりました。しかし、スマートコントラクトには別の定義もあります。スマートコントラクトを直訳すると「賢い契約」となりますが、専門家の間でもスマートコントラクトの定義はまちまちです。ただ、およそ次の二つのどちらかの意味で使われています。

(1) ブロックチェーン上で動作するプログラムとしてのスマートコントラクト
(2) DAO(自律分散組織)など概念的な考え方を示すスマートコントラクト

 (1)を説明します。ビットコイン以降に登場したブロックチェーン基盤には、管理する情報の項目を自由に定義したり、独自の動きを追加したりする機能があります。そのような機能を実装するプログラムをスマートコントラクトと言ったりしています。多くのブロックチェーン基盤は、APIを通じてWebブラウザで操作できます。Webアプリのデータベース機能がブロックチェーンに置き換わったイメージです。

 似たようなことは、ビットコインでもある程度はできましたが、データサイズの制約や機能的な面で、開発の難易度が非常に高かったのです。その後、イーサリアムなどスマートコントラクト機能を最初から持つブロックチェーン基盤が誕生しました。これにより金融分野だけでなく、製造・物流でのサプライチェーンマネジメントや医療での電子カルテなどで適用する検討が広まったのです。

プログラムは契約書たりえるか?

 スマートコントラクトのもう一つの側面が(2)です。自律分散組織(DAO)によって様々なビジネスを自動化するという極めて未来的な概念です。先ほど「賢い契約」と直訳したように、スマートコントラクトとは契約の自動化(自動実行される契約)、ひいては組織そのものをスマートコントラクトによって人の手を介さず自律的に動かすという解釈です。

 例えば、ドイツのSlock.it社がイーサリアム上で開発したThe DAOというサービスでは、ビジネス発案者の出資依頼、投資家の出資、リターンの分配等の一連の機能をスマートコントラクトで実装することで、ファンドマネージャなしにクラウドファンディングの機能を自動化しています。

The DAOのイメージ図
[画像のクリックで拡大表示]

 ここで言う「契約」は書面上で作成された契約のみを指すのではなく、取引行動全般を指します。「スマートコントラクトはプログラミングされた契約そのもの」なのです。プログラムが契約書たりえるのかという議論は、法律家・技術者を交えて掘り下げなければならないテーマですが、現時点ではバグなど不測の事態における補償を考慮すると、なかなか難しいのではないかと思います。

出典:日経ソフトウエア、2017年9月号 pp.81-82 特集6「文系でもわかるブロックチェーン」を改題し、再構成しました
記事は執筆時の情報に基づいており、現在では異なる場合があります。