スマートコントラクトの意味、定義を整理
暗号通貨の技術基盤となるブロックチェーン、そしてその応用である「スマートコントラクト」に焦点を当てます。「ブロックチェーン」の定義が難しいように、スマートコントラクトもまた発言者によって定義が異なり現時点では断定的な定義付けが難しいです。
そこで、スマートコントラクトという言葉の定義の「範囲」をまず抑えておく必要があるでしょう。直訳すれば「賢い契約」、ただ乱暴すぎるので、別の定義も参考にすると「デジタル上の約束事(A set of promises, specified in digital form)」「自動執行権の備わった契約(Self-enforcing contract)」「オンライン上の効率的な合意システム」といえます。
どの定義も正解で、どれもが総意ではないのが現状です。ひとつ言えるのは”スマート”を自動化と呼び変えたほうが様々な文脈の理解が進みます。ここでは大雑把に「契約の自動化」という理解で進めたいと思います。
スマートコントラクトの本質は「強制に委ねた柔軟性」
個人的には、スマートコントラクトの本質は「強制に委ねた柔軟性」にあると考えています。ネット通販が始まって以来、ショッピングサイトでは一方通行の取引契約を提供しています。ショッピングサイトが提供する極小さなフォントで書かれた利用規約や取引契約条項は、反論の余地はなくユーザーは合意するか、或いは他店に行くしかありません。
これは1:Nに対してYes/NOの選択しか与えられない全く柔軟性に欠ける契約です。ユーザーにとっては、そのショップが信頼できるか、その契約内容に大きなリスクが潜んでないかは検証の余地もありません。
したがって口コミやランキングでしか評価できない乏しい判断基準しか持ち合わせることができません。また、ショップ側も支払い能力を見極めることはできず、そのリスクを担保する役割のクレジットカード会社を信用するしかありません。
ブロックチェーン、コンセンサスアルゴリズム、暗号技術を実装したスマートコントラクトでは「強制的な」執行力が備わっているからこそ、柔軟な契約が結べると考えられます。Satoshi Nakamoto氏がトラストレス(Trustless)な暗号通貨ビットコインを目指したように、スマートコントラクトは自動的かつ強制的な契約執行のおかげで、これまで硬直的だった取引契約に柔軟性を持ち込むことができます。
古代エジプト時代にあったスマートコントラクト
スマートコントラクトは仮想通貨やブロックチェーンとともに始まったわけではありません。ビットコインよりも歴史は古く、1996年に科学者であり、法学者であり、暗号専門家であるNick Szabo氏が考案した概念です。Szabo氏が考えるスマートコントラクトの代表例が「自動販売機」です。
- 消費者が必要な金額を自動販売機に投入する
- 特定の飲み物のボタンを押す
- 自動販売機は消費者に飲み物を提供する
という契約が実行されることになります。これは人が介在せず自動的に商品受け渡しまで完了し、そして返品ができない取引執行の形、スマートコントラクトです。余談ですが、自動販売機をスマートコントラクトと考えると人類の歴史が垣間見えます。
いまから2500年前の古代エジプトでは、硬貨を投入するとその重みで蛇口から聖水がでる構造の自動販売機があったと言われています。これが記録されている世界で最初の自動販売機であり、世界で最初のスマートコントラクトと言えるかもしれません。
次は、「自動販売機で飲み物を買う行為」をスマートではないコントラクトを考えてみます。飲み物を提供する自動販売機側を企業Aに置き換えると、
- 消費者が飲み物を選び、必要な金額を企業Aに手渡す
- 企業Aが消費者に飲み物を引き渡す
さきほどの例と同じように見える取引です。しかしよく考えると行間には「信用問題」が潜んでいるのです。消費者から手渡されたマネーが偽造貨幣ではないと信用し、消費者は企業Aの商品が模造品ではないと信用し、消費者Aの支払い能力を信用(商品選択後にすぐに支払が行われない可能性)しなければなりません。
また万が一のことを考え訴訟リスクを考慮するなど「信用」を軸にさまざまな「両者が商品とマネーを交換する際に考えなければならないこと」が山積していることがわかります。
用語上はコントラクトですが、書面契約に限らず一般商取引にも応用されるのがスマートコントラクトです。さきほど触れた「信用問題」を、身近な契約(自動車保険契約、不動産契約など)を頼りに、契約にまつわる課題を浮き彫りにし、スマートコントラクトが社会的な意義をもつことをイメージしていこうと思います。
例えば、以下のような契約とその問題点が指摘されています。
- 詐欺などによる二重売買(不動産取引など)
- 資産の持ち逃げ(商品売買契約など)
- 手数料の高さ(仲介業者が介在する取引全て)
- 契約を履行しない(後述する保険契約)
- 契約違反に対する罰則の実行(契約違反条項を盛込む全ての契約)
このような個人契約における課題点、またさらに細かく張り巡らされた企業間契約条項においては契約の縛りによって当事者は身動きができないほどになっています。スマートコントラクトはこれらの契約条項を自動執行することによって解決に導きます。
そしてスマートコントラクトは、Satoshi Nakamoto論文が光を与えたブロックチェーン技術によって実現していくのです。スマートコントラクトはブロックチェーンの文脈の中で語られることが多い概念ですが、Szabo氏がスマートコントラクトを考案した時代、まだビットコインやブロックチェーン技術は存在していません。
ブロックチェーンとスマートコントラクトが結びつくことによってどのような化学反応が生まれたのでしょうか。
フライト遅延の損害金問題を解決するスマートコントラクト
ブロックチェーンで実現するスマートコントラクトの事例として損害保険が挙げます。insurETH(インシュアイーサ)というイーサリアムのブロックチェーンを使ったスマートコントラクトで、飛行機の遅延損害金を自動執行で処理するサービスです。
イギリスでは2014年の1年間で90万人以上の人が3時間以上のフライト遅延を経験し、そのうちの55万人が遅延損害金を受け取っていません。本来、保険金を受け取れたはずの55万人以上の人々が何らかの理由でその機会を逸していたのです。
少しだけ話を脱線させます。歴史学者丸山眞男の批評論文「「である」ことと「する」こと」には、債権者についてこう述べられています。
時効は貸した金を返してもらえないという不人情な法律であるが、ある期間請求をしなければという条件付きである。債権者であるという権利の上に眠っている者は民法の保護に値しないという法理である。請求することをしないで債権者であることに安住していると債権を喪失する、逆から言えば、請求することによって債権者である、ということである。
丸山眞男が指摘するように、「請求することによって、債権者(ここでは被保険者)」になれるのです。請求しない理由はさまざまあると思いますが、請求から支払までのプロセスの手間を嫌って請求していない人が一定数以上いることは容易に想像できます。
insurETHはこの課題に対してスマートコントラクトを使ってどう解決したのでしょうか。利用者はフライト情報を登録します。その後、当該フライトが遅延したことを示すフライトデータから瞬時に保険金の支払いまでを執行します。
利用者にとってはフライト遅延による保険金を自動的に受け取ることができ、保険会社にとっては不正請求調査、保険金支払プロセスのコスト圧縮など双方に利点のある取り組みといえます。
離婚後の養育費問題から考える
スマートコントラクトの仕組みをあるストーリーをもとに考えてみたいと思います。まず、登場人物は「アリス(元妻)」「ボブ(元夫)」「チャーリー(イーサリアムネットワーク参加者全員の総称)」の3人です。
ギャンブル依存症で妻を失ったあるボブは、元妻のアリスに毎月養育費を払うことを約束(契約)しました。そこでアリスは、その約束(契約)が確実に履行されるようにスマートコントラクトを結ぶことにしました。
またアリスは、養育費を授業料支払に充てようと考え、ボブ(元夫)からアリスの指定する口座(教育機関口座)へ毎月25日にイーサリアム(仮想通貨Ether)で支払ってもらうことを決めました。この約束を強制的かつ自動的に実行するために、スマートコントラクトを以下のように使います。
STEP.1送信(アリスからチャーリー)まず、アリスとボブは約束事に合意した証に、養育費支払プログラムに両者の電子署名を施し、チャーリーに送付します。
STEP.2登録(チャーリー)チャーリーは、受け取った「養育費支払プログラム」をブロックチェーンの中に取り入れます。
STEP.3依頼と実行(アリスとチャーリー)25日になると、アリスは支払依頼をチャーリーに送信します。すると、チャーリーは教育機関の正しいアドレス(口座)を確認し、ボブの口座から教育機関口座へ支払が実行されます。さらに、支払が実行された履歴をブロックチェーンに登録します。
STEP.4確認(アリスとボブ)アリスとボブは実行履歴を確認することによって、養育費支払プログラム(契約)が履行されたことを把握します。そして、これを毎月25日に繰り返します。
スマートコントラクトでは、3の依頼(アリスが25日に送金依頼)をトリガーとして養育費支払プログラムが自動的に執行されています。ここでのトリガーは「25日になる」ということです。前述した飛行機遅延のケースでは「該当フライトがX時間以上遅れた事実が確認できた」がトリガーになって自動的に保険金が支払われます。
また、スマートコントラクトではブロックチェーン技術の上に成り立っており、チャーリーにもアリスにもボブにも契約内容を改ざんすることはできません。この例は最もシンプルな契約内容ですが、さらに複雑な条件を増やしてもスマートコントラクトは実現できます。
例えば、奨学金をもらえた場合はボブの支払額を一定利率割り引く、あるいはインフレ率や為替レートによって価値を変動させたりすることもできます。そして、それらをプログラムに組み込み、合意させすれば、あとは自動的に契約が執行されます。
割引率の算出、実支払額の計算、そして交渉、さらに支払処理までが容易になり時間と金銭的なコスト削減につながります。簡単な例を用いてスマートコントラクトの仕組みを理解したところで、次はスマートコントラクトが実社会にどのように応用されているのかユースケースをもとに理解を深めていきましょう。
予測市場に持ち込まれたスマートコントラクト
事例に登場した元夫ボブが好む予測市場では、早くからスマートコントラクトの検討が進んでいます。予測市場は将来のイベントを賭けの対象として、未来予測に役立てるマーケットです。
賭けの対象は野球やサッカーの優勝予測、イギリス王室ベビーの名前予想、ノーベル賞受賞者予測などがあります。これまで予測市場を牽引していたのはブックメーカーと呼ばれる賭けの胴元です。
世界ではWilliam Hill (ウイリアム ヒル)、Ladbrokes(ラドブルックス)、Coral Eurobet(コーラル ユーロベット)が世界三大ブックメーカーとして知られています。ブックメーカーは、予測の対象となるイベントを立て、イベントが起こるまでの間に参加者がどの候補にいくら賭けたかを集計し、オッズ(掛け率)を算出、そして当選した参加者には支払をしてきました。
ここにスマートコントラクトの概念を持ち込むとどうなるでしょうか。まず、ブックメーカーではない任意の参加者が予測の対象となるイベントをブロックチェーンに送信します。その後、このイベントに賭ける別の参加者たちの掛け金情報が次々と登録されます。
そして、勝敗情報などのイベント結果をもとに支払が行われます。もともとブックメーカーが担っていたイベント結果の確定作業がスマートコントラクトに置き換わる点が大きなポイントです。
例えば、将来予測プロジェクト「AUGUR(オーガー)」というイーサリアムのプロジェクトではAUGUR(オーガー)の参加者たちが「イベント結果を認定」します。賭けをする参加者とは別の「イベント結果の認定」をする参加者を、「リポーター」と呼びます。
AUGUR(オーガー)のリポーターたちは、イベント結果を認定して結果をブロックチェーンに登録します。リポーターは1人ではなく、数多くいて、イベント結果の認定に対して自身が多数派に入れば報酬が与えられ、少数派であれば報酬はありません(事前に積んでいるデポジットが没収されます)。
リポーターたちは賭けの参加者ではないため、各自が「真実の結果」側を認定するインセンティブが働きます。例えばサッカーワールドカップの日本VSオーストラリア戦で結果が1:0で日本が勝ったときに、「日本勝利」認定をすれば報酬がもらえる仕組みです。
逆に、0を勝利として認定したリポーターは少数派になることは自明で、そうしたリポーターはデポジットが没収されます。
AUGUR(オーガー)の補足
AUGUR(オーガー)について補足しておきます。AUGURは語源が「占い」であり、予想・予測をドメインとしています。プロジェクト自らギャンブルという単語を意図的に使っておらず、あくまでも「未来予測市場」のためのプロトコルです。
AUGUR(オーガー)が見ている世界は、賭けを通じた損得の世界ではなく、一般大衆が賭ける対象を通じて見えてくる未来を事前に予測することです。大衆の予測の正しさは集合知(Wisdom of the crowd)によって、未来予測に役立つことが分かっています。
AUGUR(オーガー)がブックメーカーと違う点は、賭けるイベントを作るのは誰でも自由であること、そのイベントに誰でも参加できること、結果を判断するのは分散型のリポーターと呼ばれる人々がやること、配当金の支払は胴元(ブックメーカー)ではなく、自動的に執行されること等が挙げられます。
リポーターによる事実認定を、Distributed Fact Stream(分散型事実認定)と呼びます。予測市場をドメインとしたスマートコントラクトプロジェクトにはAUGUR(オーガー)以外にもGNOSISがあります
AUGUR(オーガー)内の仮想通貨:Reputation(評判)REP
このプロジェクト内には、トレードができる仮想通貨が用意されています。評判を意味するレピュテーション(Reputation:REP)です。リポーターへの報酬支払や、掛け金として利用されます。仮想通貨の時価総額ランキングでは2017年9月現在で18位です。
AUGUR(オーガー)の通貨情報- 通貨名:Augur(オーガー)
- 通貨コード:REP
- 発行上限:1100万枚
- 時価総額:26,369,381,610円
- 時価総額ランキング:30位 (2017年9月9日)
- 開始日時:2015年10月
以上、スマートコントラクトの仕組みについて、離婚した夫婦の養育費問題やフライト遅延問題を例にとりながら学んできました。次回は、養育費問題で登場した「チャーリー」に焦点を当てたいと思います。つまり、なぜチャーリーはそのような第三者(バーチャルなエージェント)として振る舞ったのか、そのインセンティブ設計について考えていきたいと思います。