数学の知識のいらないブロックチェーン紹介 - 4 - スマートコントラクト II

アクセリアの研究
スマートコントラクトの定義
 これまでの「数学の知識のいらないブロックチェーン」のシリーズを続けて、今回もスマートコントラクトの話をしたいと思います。(第1回第2回第3回

 まずは、前回紹介したスマートコントラクトの定義のおさらいです:
 スマートコントラクトとは、ブロックチェーン上で実行される コンピュータコードです。まずはじめに、その当事者がスマートコントラクトに含まれているルールを守ることに同意します。次に、事前に定義された規則が満たされると、自動的に契約が履行されます。

 これでデジタルアセットのやり取りができるようになりましたが、このやり取りではブロックチェーン外の情報を得られないため、 使用できる範囲はブロックチェーン内の情報、たとえば暗号通貨に限られています。このやり取りを物理的な世界に繋げるには、「オラクル」が必要です。
ブロックチェーンと物理的な世界をつなぐ「オラクル」
 大昔、神託という意味のオラクルは、神からの情報(とその情報を伝える人)でした。 まったく別の世界から情報を得るということです。同様に、ブロックチェーンにおけるオラクルもブロックチェーン外からの情報を伝達します:

 オラクルは単なるデータの提供者です。オラクルは、物理的な世界の情報をスマートコントラクトで利用可能な形で提供します。多くの場合、情報を提供するオラクルがなければ、スマートコントラクトは正しく作動しません。 言い換えると、「トランザクションのための、ブロックチェーン上のビジネス・ロジック」ということです。

次の自動車保険の例では、気象庁の天気情報をオラクルが提供しています:



 上の例はあくまで簡易的な表現であり、実際にはもっと複雑なやり取りがありますが、以下に自動車売買の例をあげます。

伝統的な契約の場合は、契約書と確認者(たとえば弁護士)が必要です:



スマートコントラクトの場合は、第三者(確認者)が不要で、やり取りは全てブロックチェーン上で行われます:



 ・Bobは車を売りたい
 ・Bobはスマートコントラクトをアップロードする(1)
 ・Bobは車をスマートロッカーに入れる(2)
 ・Aliceはそのスマートコントラクトを見つけて、確認の上お金を振込む(3)
 ・スマートコントラクトがブロックチェーンのノードで確認される(4)
 ・条件が満たされたら、Bobへの振込が行われ、スマートロッカーが解錠される(5)
 ・Aliceが車を受け取る(6)
さまざまなスマートコントラクト
 スマートコントラクトはプログラムですが、それぞれのブロックチェーン毎に開発されたものがあります。
 ブロックチェーンの先駆けである「Bitcoin」には、あまりスマートコントラクト的な機能がありません。スマートコントラクト開発で一番人気なネットワークはEthereumです。チューリング完全で、専用の言語「Solidity」が使われています。他にもRippleCodiusプラットフォーム)やHyperledger FabricChainCode、様々な言語に対応しているAPI)など、いくつものプラットフォームがあります。
まとめ
 デジタル世界と物理世界を繋げる方法の探求は、ブロックチェーンとスマートコントラクト両分野における興味深いチャレンジだと思います。オラクルに限らず、全てのプロセスにおいて信頼できる形を作るべきです。暗号通貨が人気ですが、物理の世界に繋がればブロックチェーン技術の可能性はさらに広がってゆくでしょう。

 以上で「数学の知識のいらないブロックチェーン」のシリーズは終了です。

■関連ページ
【アクセリアのサービス一覧】
 ・サービスNAVI

<<< 前の記事 | 一覧 | 次の記事 >>>

Norbert Preining

アクセリア株式会社 研究開発部社員
北陸先端科学技術大学院大学ソフトウェア検証研究センター 研究員
ウィーン工科大学 研究員
デビアン開発者
TeX User Group (取締役会員)、Kurt Godel Society (取締役会員)
ACM, ACM SigLog, 日本数式処理学会、ドイツ数学論理学会