著者: mutourend &; lynndell, Bitlayer Research Group
1.はじめに
ディスクリート・ログ・コントラクト(Discreet Log Contract:DLC)は、2018年にMITのタッジ・ドライヤ(Tadge Dryja)氏によって提案された予測機械ベースの契約実行フレームワークである。DLCは、2つの当事者が事前に定義された条件に基づいて条件付きの支払いを行うことを可能にする。両当事者は可能性のある結果を事前に決定し、事前署名し、予測マシンが結果に署名したときにこれらの事前署名を使用して支払いを実行する。その結果、DLCはビットコイン預金を保護しながら、新しい分散型金融アプリケーションを可能にします。
前回の記事、「DLCの原理の分析とその最適化に関する考察」では、DLCの役割について以下のようにまとめています。プライバシー保護、複雑な契約、資産の低リスクなどの利点をまとめ、鍵リスク、分散信頼リスク、共謀リスクなどのDLCの問題点を分析し、DLCが直面すべき様々な問題を解決するために、分散述語機械、閾値署名、楽観的挑戦メカニズムなどをDLCに導入した。DLCはプロフェシーマシン、アリス、ボブの3つの参加者を含むため、異なる参加者間の結託攻撃は比較的複雑であり、防御戦略も比較的複雑である。複雑な防御戦略は完璧ではなく、単純化の道筋に合致せず、単純化の美しさに欠けています。
ビットコインでは、任意の参加者による任意の行動はUTXOを必要とします。したがって、UTXOが正しいことを保証するためにコンセンサスメカニズムを使用することは、恣意的な攻撃に対して耐性があります。同様にDLCでは、任意の参加者による任意の行動はCET(Contract Execution Transaction)を介して実装される必要がある。そのため、CETが正しいことを保証するために楽観的チャレンジメカニズムを使用することは、恣意的な攻撃に対して耐性がある。具体的には、予測マシンが2BTCを誓約してCETに署名できるようにし、そのCETにオプティミスティック・チャレンジ・メカニズムを追加する。オラクルが悪事を働こうとすれば、誰でもCETに挑戦することができ、CETは決済されず、予測者は誓約を失い、二度と同じCETに署名できなくなる。これはシンプルであるという道筋に合致しており、シンプルであるという美点がある。
2.DLCの原理
アリスとボブは、ξ番目のブロックのハッシュ値が奇数か偶数かを賭けるという賭けの契約に署名した。奇数の場合、アリスはゲームに勝ち、資産を引き出すことができる。偶数の場合、ボブはゲームに勝ち、資産を引き出すことができる。DLCを使い、ξ番目のブロックのメッセージを予測マシンに通すことで、正しい勝者がすべての資産を獲得するような条件付き署名が構築される。
楕円曲線生成要素はGで、次数はqである。予測マシン、アリス、ボブのそれぞれの鍵ペアは(z, Z), (x, X), (y, Y)である。
資金調達トランザクション(オンチェーン):アリスとボブは一緒に資金調達トランザクションを作成し、それぞれが10BTCを2対2のマルチシグネチャ出力にロックする(1つの公開鍵Xはアリスに属し、1つの公開鍵Yはボブに属する)。
CETの構築(オフチェーン):アリスとボブはCET1とCET2を作成し、ファンディングトランザクションを使用する。
予測マシンはコミットメントR = k - Gを計算し、SとS'を計算する
S := R - hash(OddNumber, R) - Z
S' := R - hash(OddNumber, R) - Z
S' := R - hash(OddNumber, R)
S' := R - hash(EvenNumber, R) - Z
すると、アリスとボブに対応する新しい公開鍵は以下のようになる:
PK^{Alice} := X + S
PK^{Bob} := Y + S'。
Settlement (off-chain - > on-chain): ξ番目のブロックが正常に生成されると、述語マシンはブロックのハッシュ値に応じて、対応するCET1またはCET2に署名します。
ハッシュが奇数の場合、述語マシンは以下のようになります。sに署名する
s := k - hash(OddNumber, R) z
CET1をブロードキャストする
ハッシュが偶数の場合、予測マシンは以下のように署名する。ハッシュが偶数の場合、予測マシンはs'に署名する
s' := k - hash(EvenNumber, R) z
ブロードキャストCET2.
ブロードキャストCET2.
コインを引き出すには(オンチェーン):予言マシンがCET1をブロードキャストした場合、アリスは新しい秘密鍵を計算し、ロックされた20BTCを使うことができます
sk^{Alice} = x + s
予測マシンがCET2をブロードキャストした場合、Bobは新しい秘密鍵を計算し、ロックされた20BTCを使うことができる
sk^{Bob} = y + s'
Bitlayer研究グループは、上記のプロセスで、任意の動作が必要なことを発見した。を CET 経由で実装する必要があることを発見した。その結果、CETが正しいことを保証するために楽観的なチャレンジメカニズムを使用するだけで、任意の攻撃に対抗することができる。正しくないCETはチャレンジされて実行されないが、正しいCETは実行される。加えて、予測マシンが悪意のある振る舞いに対して支払う必要があるだけで十分です。
チャレンジされるプログラムはf(t)であり、CETは以下のように構築されるべきである
s = k - hash(f(t), R) z.
仮に、真のケースがξ番目のブロックのハッシュがOddOddである、すなわち、f(ξ) = OddNumberであり、述語はCET1を符号化すべきであるとします
s := k - hash(OddNumber, R) z.
しかし、以下のようになります。align: left;">しかし予言マシンは悪事を働き、関数の値をEvenに変更し、CET2に署名した:
s' := k - hash(EvenNumber, R) z.
。したがって、どのユーザーもf(ξ) ≠ OddNumberに基づいて悪意のある振る舞いを阻止することができます。
3.OP-DLC2
OP-DLCは以下の5つの条項から構成されています:
- 予言マシンはn人の参加者を持つ同盟で構成され、メンバーの誰かがCETに署名することができる。もしメンバーの一人が悪者であれば、その誓約は失われる。アリスとボブは予言マシンになることもでき、本当に自分たちだけを信じ、信頼を最小限にすることができる。
予言マシンが不正を行って結果を修正した場合、必然的にf1(ξ) ≠ z1、f2(z1) ≠ z2という状況になります。したがって、参加者は誰でもチャレンジ、すなわちDisprove-CET1トランザクションを開始できる。
予言マシンがCETに正直に署名した場合、有効なDisproveトランザクションはどの参加者からも開始できない。さらに、Prophecy Machineは、誓約された2BTCの1週間の資本担保に対して0.05BTCのボーナスと、CETに正直に署名するための手数料を受け取ります。
参加者は誰でもOracle_signに挑戦することができます:
Oracle_signが正直な場合、Disprove-CET1トランザクションは開始できず、CET決済は1週間後に実行される。
Oracle_signが不誠実な場合、つまりDisprove-CET1トランザクションを正常に開始した者がコネクターAの出力を正常に使用した場合、述語マシンの署名は無効となる。は無効となり、誓約された2BTCは失われ、そのコネクタA出力に依存するSettle-CET1は永久に無効となるため、そのDLCコントラクトに対してその述語マシンが同じ結果の署名を今後開始することはできない。
OP-DLCにおけるチャレンジはパーミッションレスであり、参加者は誰でもOP-DLC内でのコントラクトの正しい実行を監督することができます。そのため、述語に対する信頼を最小限に抑えることができる。ライトニングネットワークとは対照的に、アリスとボブはオフラインであることも可能です。なぜなら、予言マシンはCETが正直に署名された場合にのみCETを決済する一方、悪の予言マシンは誰でも異議を申し立て、罰することができるからです。
長所:
資産に対する高いコントロール、自分たちだけを信頼する:アリスとボブはどちらも予言マシンになることができ、CETに署名する。楽観的チャレンジメカニズムは誤ったCETを阻止するため、悪事を働くことができない。従って、OP-DLCはユーザが自分自身だけを信頼することができる。BitVMでは、ユーザはOperatorになる必要があり、自分自身だけを信頼できるようにするためには、その後のすべての入金に参加する必要がある。ユーザーがオペレーターとして単一のBitVM UTXOのデポジットのみに参加し、それが他の(n-1)オペレーターによって合法的に払い戻されることができる場合、ユーザーはまだ、将来のデポジットを進めるために他のオペレーターを信頼しなければならず、BitVMオペレーターの払い戻し権限は、UTXOをデポジットする個人にロックダウンされます。
高い資本利用率:ユーザーが自分自身だけを信頼する場合、必要な資本は異なります。OP-DLCでは、ユーザーは自分自身の引き出しに依存し、同額の資本を繰り上げる必要はありません。これは、より多くの財政的圧力を生み出します。
署名できる予言者は、OP-DLCの入金時に特定する必要がありますが、ユーザー自身が予言者となり、署名することもできます。
デメリット:
1週間の出金時間:基本的にOP-DLCとBitVMの両方の資本コスト時間です。OP-DLCとBitVMの両方にとって、資金の時間的コストは存在し、等しい。OP-DLCの出金は、資金が利用可能になるまでにチャレンジ期間があり、BitVMがユーザー自身の立替金に依存する場合、同額の立替金は、資金が正常に払い戻されるまでにチャレンジ期間がある。BitVMが他のオペレーターに依存して迅速に資金を前払いする場合、オペレーターの同等額の資金調達に費やされた時間のコストを手数料として支払う必要があることを意味します。
事前署名が必要な署名の数は早く増え、CETの数に直線的に関係します。コインの引き出し結果をすべて列挙するには、できるだけ多くのCETが必要です。
4.結論
OP-DLCはCETに楽観的チャレンジメカニズムを導入し、不正なCETが決済されず、対応する悪意のある事前署名マシンがその誓約を失うことを確実にします。正しいCETが実行され、予言マシンがロック解除を誓約し、手数料を受け取ることを保証する。このアプローチは恣意的な攻撃に強く、シンプルな美しさを持っています。
参考文献
控えめなログ契約の仕様
控えめなログ契約の仕様と楽観的思考
楽観的ロールアップ
BitVM2:パーミッションレスビットコインでの検証
。