Discreet Log Contracts -現実世界でオラクルが機能するために必要なもの-

Ichiro Kuwahara
Crypto Garage
Published in
Jan 27, 2021

Discreet Log Contractsオラクルシリーズ
1.Discreet Log Contracts -現実世界でオラクルが機能するために必要なもの-(本投稿)
2.
Discreet Log Contracts -マルチオラクルサポート-
3.
Discreet Log Contracts -レンジ署名-
4.
Discreet Log Contracts -秘密分散・秘密計算(マルチパーティschnorr署名)を用いたオラクルフェデレーションモデル-
5.
Discreet Log Contracts -Lightning Networkを使用したオラクル署名の販売

クリプトガレージはDiscreet log contracts(以下DLC)をベースとしたビットコイン建てのデリバティブ取引を可能とするP2P derivativesの研究開発を行なっています。
我々の開発するライブラリCFD-DLCおよびそれを使用したP2P derivatives-clientは既に稼働しており、testnetおよびregtest環境でBTC建のデリバティブ取引が可能となっています。(リリース記事はこちら

DLCとオラクル

既存のデリバティブ取引とDLCを用いたP2Pデリバティブ取引との大きな違いは契約の際に中央管理者を信頼する必要性を最小限にしている点です。現状のデリバティブ取引は以下1〜4を中央管理者に依頼しますが、他方DLCでは3のみを第三者に依頼する形になります。この3)事象の結果発表 を担う役割は「オラクル」と呼ばれています。

1)資金の預かり(エスクロー)
2)契約
3)事象(例えばXX月XX日XX時XX分時点のBTC/USDなど)の結果発表
4)2)契約内容と3)結果 に応じた決済

DLCでは1)資金の預かり は契約者のみ動かせる形でブロックチェーン上にロックされ、契約者同士で合意した2)契約内容 およびオラクルの発表する3)結果事象 に基づいて4)決済 が当事者にて実行可能です。

オラクルは契約者とは切り離されており、契約内容はもちろん、契約がされたことも知る必要はありません。これは契約者のプライバシーを守り、かつオラクルが契約者との共謀により不正の値を発表するインセンティブを最小限化しているといえます。

オラクルが機能するために必要なもの

DLCではオラクルが発表した値を元に契約が履行されるため、一定程度オラクルを信頼する必要があり、オラクルが正しい振る舞いを行うことがDLCが稼働する大前提となります。
この前提条件が現実世界で成立するためには何が必要なのか、というのを以下に記述します。

その1:オラクルの稼働実績はオープンにされていること
・オラクルが発表する値は公開(誰でも参照可能)
・オラクルが発表する事象はパブリックデータに近しい内容であること (誰でも発表内容の正しさについて検証可能)

例えばオラクルが発表する事象が個別具体的な事象(Aさんの自宅に商品が届いた、盗難が起きた、など)になるとオラクルは契約者の内容に踏み込む必要があり、これはDLCの特性を失うことになります。オラクルの不正を第三者が検証するのも難しくなるでしょう。この場合はDLCというよりはエスクローモデルと言った方が良いかもしれません。

その2:オラクルが複数存在し、自由競争が発生すること
オラクルが満たすべき主な要件は、将来発表するイベント(例えばXX月XX日XX時XX分時点のBTC/USDなど)に対して以下を公開することだけです。
・ナンスポイントと公開鍵(事前)
・イベントの結果に応じた署名(契約満期)

特別なサーバーなども不要、誰でも実現可能です。現に2020年アメリカ大統領選挙を賭けたDLCにはOutcomeObserverというTwitterアカウントがオラクルとして機能しました。
DLCの契約内容は契約当事者同士の合意で自由に決定されるのでどのオラクルを使用するのかも自由に選択可能です

その3:1つの契約に複数のオラクル(マルチオラクル)を使用すること
複数のオラクルの結果を元にDLCを行うことで単一のオラクルへの依存度を下げるという案です。現状、Specificationで「n of n」及び「k of n」の議論がされています。
「n of n」はn個のオラクルを用いて契約が締結されn個のオラクルの結果をもって契約施行が可能、「k of n」はn個のオラクルを用いて契約が締結されk個のオラクルの結果をもって契約施行が可能です。
例えば「3 of 5」の場合には、5つのオラクルのうち、2つが不正をした場合でも残りの3つのオラクルを用いて契約の履行が可能となります。

その4:オラクルのインセンティブ設計
オラクルのインセンティブは一番大きな課題です。例えば、契約者から手数料を取得するとなると、オラクルは契約内容に関与しない前提との両立が難しくなってきます。また、オラクルの発表データを販売するとなると、前提となる「発表データは公にする必要性」との両立が難しくなってきます。これはブロックチェーンで使用されているオラクル全般における課題と言えます。

このようにオラクルが現実世界で機能するためには、いくつか課題はあります。次回以降、これらの対策についてより具体的に触れていきたいと思います。まずは次回、その3)マルチオラクル の実現方法について触れていきたいと思います。

--

--