DLCオラクルにBLS署名を使用する提案(1.概要解説)

Ichiro Kuwahara
Crypto Garage
Published in
Dec 7, 2022

chapter1:DLCオラクルにBLS署名を使用する提案(1.概要解説)(本投稿)
chapter2:
DLCオラクルにBLS署名を使用する提案(2.ペアリングを使用した暗号・署名)
chapter3:
DLCオラクルにBLS署名を使用する提案(3.技術解説)

最近DLC(discreet log contracts)コミュニティの中で、DLCオラクルにBitcoin互換のBLS署名を使用する新たな提案がありました。(ペーパはこちら)今回はChapter1として技術的な部分を省きその概要について触れたいと思います。

DLC(Discreet Log Contracts)とは?

2017年に元MIT Digital Currency InitiativeのThaddeus Dryjaが提案した将来の事象に応じて分配額が変動するような契約が行える取引プロトコルです。2者の契約者と、契約に必要となる事象および契約を施工するために必要となる証明書(Schnorr署名)を発表するオラクルの3者によって成り立っています。例えば数ヶ月後のBTC/USDの価格を予測する金融デリバティブ取引がビットコインで可能になります。

シンプルでステートレスなオラクル

今回の提案は主にオラクルに対する変更です。オラクルの証明書はBLS署名を採用しますが、ビットコインの署名方式は現状のECDSA、Schnorrのままです。現状のDLCと比較した際の特徴は以下の通りです。

  1. オラクルが「特定のイベント(BTC/USD Spotなど)」の前にパブリックナンスを公表する必要がなくなる
  2. オラクルはユーザの要望に応じたイベントに対して証明を行うことが可能になる

以下でそれぞれの項目について解説をしていきます。

1.オラクルが「特定のイベント(BTC/USD Spotなど)」の前にパブリックナンスを公表する必要がなくなる
現状のDLCオラクルで使用されているSchnorr署名は、署名時にキーペアに加えてにナンスペアを作成する必要がありました。(これを適切に行わないと秘密鍵が第三者に計算されてしまいます。詳しく知りたい方はこちらをご覧ください)
一方BLS署名はナンスペアの生成は不要になります。これによりオラクルが事前に公表するのは公開鍵のみとなり、特定のイベントにコミットする必要がなくなります。

2.オラクルはユーザの要望に応じたイベントに対して証明を行うことが可能になる
ユーザからオラクルへのリクエストは特定のマーケットデータをAPI接続で受領し加工するプログラムなどが挙げられます(例: https://ftx.com/api , https://www.bitmex.com/apiから取得した BTC/USD Spotの平均値など )オラクルは受領したプログラムを実行し、取得した値に対してBLS署名を行います。
また、ユーザ両者が同意すれば、オラクルは不要になります。例えば、ユーザーは自分でプログラムを実行し結果に同意した場合は、オラクルをまったく関与させずに協力して契約を施工することができます。
ユーザが同意しない場合、どちらかがプログラムをオラクルに送信し(おそらくそのサービスに対して少額の支払いを伴う)、契約を締結するために必要な証明書を受け取ることができます。
したがって、この提案は、オラクルを「プログラムを実行し、戻り値の証明書を作成するファンクション」と簡素化します。

次編ではこの技術的な詳細について解説します。

--

--