Option style DLC over Lightning
DLCというオラクルへの信頼を最小限にするプロトコルを活用して、Lightning Network上でオプションを作るサービスのアルファテスト版を公開しました。通常のDLCはオンチェーン取引で、かつオプションには未対応ですが、ライトニング上でDLCを活用することでオプションを作ることができると思い、そのPoCとして以下のようなサービスを作りました。
使い方
使い方は簡単でLNウォレットを持っているユーザーであればすぐに試すことができます。ウォレットの種類は特に問わずBluewalletやWallet of Satoshi、またUmbrelやmyNodeにも対応しています。まずは以下のサイトへアクセスし、以下の手順で使ってみてください。
- 1000satsのLNインボイスを生成し、満期時刻に価格が上がっているか下がっているかを予想します。
- 上記に対してオプション契約のインボイスが生成されるので、それに対して支払いをします(この時点、この支払は決済されずペンディング状態となる)
- 満期時刻になるとオラクルが結果を公表するので、メイカーがそれに基づき2の支払いに対して決済/キャンセルをする。
仕組み
仕組みを簡単に言うと、オラクルが事前に公開する署名Rで、価格が将来時点で上がるか下がるか(Yes/No)をメッセージmとして署名ポイントsGを生成し、これを公開鍵とします。通常のDLCであればこの公開鍵で賭けをするための署名済みオンチェーンTxを暗号化し、将来時点でオラクルが公開する署名sを使って復号しますが(これをアダプター署名などという)、暗号化するデータをライトニングのプリイメジとしています。そして、オラクルが公開した署名sで復号することでプリイメジを復元させて、決済を完了させています。具体的なフローは以下となっています。
ロードマップ
DLCを活用したLappsは色々作れると思います。まずはPoCとして作ったオプションサービスdlc.soyをプロダクトレベルにまで作り込み、またコアツールをオープンソース化して、誰でも簡単にライトニング上でオプションが作れるようにしたいです。それと並行して、ステーブルLNウォレットのPoCも作っていきたいと思ってます。
ビットコインエコシステムへの貢献に興味のある方、ぜひ一緒にプロジェクトに参画してみませんか?
これは面白いですね!