5分でわかるDiscreet Log Contracts
こんばんは。最近Discreet Log Contractsが話題に上ることが多いように思うので、どういうもので、どういう仕組みなのか、そしてどのようなものが実現できるのかを5分で理解できる記事を書いてみます。
DISCREET LOG CONTRACTSの狙い
Discreet Log Contractsとは、2者間の、スケーラブルで、結果のデータを報告するオラクルに対するトラストを最小限にとどめた、プライベートなスマートコントラクトです。横文字が多いですが、オンチェーンでトラストレスに先物取引などを行うシンプルな仕組みです。
Discreet = 秘密を守る
しばしば数学で登場するDiscrete(= 離散・離散的)とは違う単語です。
おおまかな仕組み
DLCの仕組みはライトニングチャネルの仕組みにかなり似ていますので、時間がある方はそちらも復習をおすすめします。DLCに参加するアリスとボブはまず2人で契約に合意し、2-of-2マルチシグアドレスに1つのトランザクションで担保を出し合います。このとき、実際に署名して送金する前に、互いに協力して契約内容を実行する以下のようなトランザクションを結果の数だけ準備し確認します:・ボブが作るトランザクション
【結果が○○のときオラクルが公開する秘密の数字+アリスの秘密鍵】OR【一定時間経過とボブの秘密鍵】でアンロックできるスマコンにアリスの取り分を、【ボブのアドレス】にボブの取り分を支払うトランザクションこれを、ボブが署名してアリスに渡します。(同様に、真逆の構造のトランザクションを、アリスが署名してボブに渡します。)
オラクルが公開する、アリスの秘密鍵に加算する秘密の数字を知らずにこのスマートコントラクトを作るのには、一般的なものとは少し異なるシュノア署名が使われています。
つまり、このトランザクションを配信する人は、オラクルが公開する正しい秘密情報がないと最終的に資金を受け取れないのです。オラクルが公表した結果以外を使うスマコンに渡った不正者の資金は、時間経過で相手に没収されます。したがって、正しい結果(公表された結果)に対応したトランザクションを配信するインセンティブがあります。
オラクルについて
オラクルは一方的に実際の結果に対応した秘密情報を公開するだけの存在なので、契約があったことすら知らず、ボブやアリスと共謀したり、賄賂を受け取ったりする可能性が低減されます。また、オラクル含め、第三者からはコントラクトの存在や詳細がわからないので、プライバシーが保たれます。
それでももちろんオラクルが正しい結果を報告しなかったり、共謀を図る可能性はあります。安定して正しい結果を報告し続けてきた検証可能な経歴のあるオラクルを使ってリスクを低減したり、複数のオラクルを使う方法が考えられます。
オラクルの報酬については考えられていません。そもそもオラクルは自分が公表した秘密情報が実際に使われているか確認するすべもありません。
おそらく取引所などがオラクルになるケースが多いでしょう。
応用例・発展例
応用例としては、やはりビットコイン価格などを参照した先物が一番大きなマーケットとなりそうです。応じてくれる取引相手さえいれば、取引所を使うことなくヘッジすることができます。発展例として、一番基本的なDLCは「担保預入時」、「結果配信時」、「配信者の資金回収」の3つのトランザクションが生まれますが、ライトニングチャネルのように継続的に取引をする関係があるならばオフチェーンでトランザクションを持ち合い続けることも考えられます。スマートコントラクトにしてはトランザクションのサイズが小さいことと並んで、スケーラビリティ面での強みです。
おわりに
5分で読んで理解するところまでできたでしょうか。日本語で書いてある中では一番噛み砕いて書いたつもりなので、2-3度読み返していただければDLCについて基本的なことはわかると思います。仕組みはライトニングに似た発想ですが、DLCの規格化はつい最近始まったことなので、これから盛り上がってくるコンセプトだと思います。ぜひ抑えておきたいです。
次の記事
読者になる
一緒に新しい世界を探求していきましょう。
ディスカッション