本稿でも何度か取り上げているDLC (Discreet Log Contracts)はビットコインを使ってトラストを最小化した差金決済取引を行うプロトコルです。
DLCのプロトコルを進化を続けており、昨夏にBLS署名を使った新しい方式が提案されました。画期的な内容で、先日開催されたDiamond Hands Meetupで大まかな内容の発表に刺激を受けたのでここで共有します。
イベントのページから資料をいくつか引用しています。
従来型のDLC:シュノア署名の応用
上記の「5分でわかる」記事では、オラクルが発表した結果を受けてどのようにその結果に応じたトランザクションに署名できるのかについては触れていませんでした。一番シンプルな発想は「オラクルに署名を依頼する」ことですが、それではオラクルを完全にトラストしているだけで、プライバシーも保護されません。
実際に使われているDLCではシュノア署名を応用したアダプタ署名という技術を利用しています。オラクルは事前に結果に応じて発表するアダプタ・シークレットという秘密の値を結果の数だけ生成し、それぞれについてアダプタ・ポイントというものを公開します。このアダプタ・ポイントを利用して生成した公開鍵に対して資金をロックすることで、後にオラクルが結果に応じて1つだけ公開したアダプタ・シークレットに対応したものの秘密鍵が復元でき、ユーザー達はこの秘密鍵を利用して資金の分配を行えます。