Bitlayer Research:「OP-DLC 2」最適化メカニズムの詳細解説
原文タイトル:《OP-DLC 2 : Great Truths are Always Simple》
著者 : mutourend \& lynndell, Bitlayer Research Group
1.はじめに
Discreet Log Contract (DLC) は、マサチューセッツ工科大学のTadge Dryjaによって2018年に提案された、オラクルに基づく契約実行フレームワークです。DLCは、事前に定義された条件に基づいて、2者間で条件付き支払いを行うことを可能にします。双方は可能な結果を事前に決定し、予め署名を行い、オラクルが結果に署名する際にこれらの事前署名を使用して支払いを実行します。したがって、DLCはビットコインの預金の安全性を保証しながら、新しい分散型金融アプリケーションを実現します。
前回の記事《DLC原理解析及びその最適化考察》では、DLCがプライバシー保護、複雑な契約、資産リスクの低さなどの面での利点をまとめ、DLCが直面する鍵のリスク、分散型信頼のリスク、共謀のリスクなどの問題を分析し、分散型オラクル、閾値署名、楽観的挑戦メカニズムなどをDLCに導入して、直面するさまざまな問題を解決しました。DLCにはオラクル、アリス、ボブの3者が関与しており、異なる参加者間での共謀攻撃の網羅は相対的に複雑であり、予防策も相対的に複雑になります。複雑な防御策は完璧ではなく、大道至簡に反し、簡潔さの美が欠けています。
ビットコインでは、任意の参加者の任意の行動はUTXOを通じて実現される必要があります。したがって、コンセンサスメカニズムを使用してUTXOの正確性を確保することで、任意の攻撃に対抗できます。同様に、DLCでは、任意の参加者の任意の行動はCET(契約実行トランザクション)を通じて実現される必要があります。したがって、楽観的挑戦メカニズムを使用してCETの正確性を確保することで、任意の攻撃に対抗できます。具体的には、オラクルが2BTCを担保にした後、CETに署名できます。CETに楽観的挑戦メカニズムを追加します。CETが挑戦されない場合、または挑戦に成功した場合、CETは正しいとされ、決済が完了し、オラクルは担保を解除し、手数料を得ます。オラクルが悪意を持って行動しようとした場合、誰でも成功裏に挑戦でき、そのCETは決済できず、オラクルは担保金を失い、そのオラクルは同じCETに再度署名できなくなります。大道至簡に適合し、簡潔さの美を持っています。
2.DLCの原理
アリスとボブは賭け契約に署名します:第ξブロックのハッシュ値が奇数か偶数かに賭けます。奇数の場合、アリスがゲームに勝ち、資産を引き出すことができます;偶数の場合、ボブがゲームに勝ち、資産を引き出すことができます。DLCを使用して、オラクルを通じて第ξブロックの情報を伝達し、条件付き署名を構築することで、正しい勝者がすべての資産を獲得します。
楕円曲線生成元はG、階はqです。オラクル、アリス、ボブそれぞれの鍵対は(z, Z), (x, X), (y, Y)です。
資金注入トランザクション(オンチェーン): アリスとボブは一緒に資金注入トランザクションを作成し、それぞれ10BTCを2-of-2のマルチシグ出力にロックします(1つの公開鍵Xはアリスに、もう1つの公開鍵Yはボブに属します)。
CETの構築(オフチェーン): アリスとボブはCET1とCET2を作成し、資金注入トランザクションを消費します。
オラクルはコミットメントR = k · Gを計算し、その後SとS'を計算します。
S := R - hash(OddNumber, R) · Z
S' := R - hash(EvenNumber, R) · Z
アリスとボブに対応する新しい公開鍵は次のようになります:
PK\^{Alice} := X + S
PK\^{Bob} := Y + S'.
決済(オフチェーン->オンチェーン): 第ξブロックが正常に生成されると、オラクルはそのブロックのハッシュ値に基づいて、対応するCET1またはCET2に署名します。
ハッシュが奇数の場合、オラクルは次のようにsに署名します。
s := k - hash(OddNumber, R) z
CET1をブロードキャストします。
ハッシュが偶数の場合、オラクルはs'に署名します。
s' := k - hash(EvenNumber, R) z
CET2をブロードキャストします。
資金引き出し(オンチェーン): オラクルがCET1をブロードキャストした場合、アリスは新しい秘密鍵を計算し、ロックされた20BTCを消費できます。
sk\^{Alice} = x + s
オラクルがCET2をブロードキャストした場合、ボブは新しい秘密鍵を計算し、ロックされた20BTCを消費できます。
sk\^{Bob} = y + s'
Bitlayer研究グループの発見:上記のプロセスでは、任意の行動はCETを通じて実現される必要があります。したがって、楽観的挑戦メカニズムを使用してCETの正確性を確保するだけで、任意の攻撃に対抗できます。誤ったCETは挑戦され、実行されず、正しいCETは実行されます。さらに、オラクルは悪意のある行動に対して代償を支払う必要があります。
挑戦プログラムをf(t)とすると、CETは次のように構築されるべきです。
s = k - hash(f(t), R) z.
仮に、実際の状況が第ξブロックのハッシュ値が奇数oddである場合、すなわちf(ξ) = OddNumberである場合、オラクルはCET1に署名するべきです。
s := k - hash(OddNumber, R) z.
しかし、オラクルが悪意を持って、関数値をEvenに変更し、CET2に署名しました:
s' := k - hash(EvenNumber, R) z.
したがって、任意のユーザーはf(ξ) ≠ OddNumberに基づいてこの悪意のある行動を挫折させることができます。
3.OP-DLC 2
OP-DLCには以下の5つの規定があります:
- オラクルは1つの連合で構成され、連合内にはn人の参加者がいます。任意のメンバーの1人がCETに署名できます。2BTCを担保にしなければ、オラクルは署名を発行して手数料を得ることができません。もしあるメンバーが悪意を持って行動した場合、担保を失います。他のメンバーは引き続きCETに署名し、ユーザーが資金を引き出せることを保証します。アリスとボブもオラクルになり、実際に自分自身を信じ、信頼を最小化できます。
- オラクルが悪意を持って結果を変更した場合、必然的にf1(ξ) ≠ z1, f2(z1) ≠ z2の状況が発生します。したがって、任意の参加者は挑戦を開始でき、Disprove-CET1トランザクションを行うことができます。
- オラクルが誠実にCETに署名した場合、任意の参加者は有効なDisproveトランザクションを開始できません。1週間後、CETは正しく決済されます。さらに、オラクルは0.05BTCの報酬を得て、これはその担保の2BTCの1週間の資金占有および誠実にCETに署名した手数料に相当します。
- 任意の参加者はOracle_signに対して挑戦を開始できます:
- もしOracle_signが誠実であれば、Disprove-CET1トランザクションを開始できず、1週間後にCETが決済されます。さらに、オラクルの担保が解除され、手数料を得ます;
- もしOracle_signが不誠実であれば、すなわち誰かが成功裏にDisprove-CET1トランザクションを開始し、コネクタA出力を成功裏に消費した場合、そのオラクルの署名は無効となり、担保の2BTCを失い、将来的にそのオラクルは同じ結果の署名を行うことができなくなります。コネクタA出力に依存するSettle-CET1は永久に無効になります。
- OP-DLC内の挑戦はPermissionlessであり、任意の参加者がOP-DLC内の契約が正しく実行されているかを監視できます。したがって、オラクルに対する信頼を最小化しました。ライトニングネットワークと比較して、アリスとボブもオフラインで行動できます。なぜなら、オラクルが誠実に署名しなければCETは決済されず、悪意のあるオラクルは誰でも挑戦され、罰せられるからです。
利点:
- 資産のコントロール度が高く、自分だけを信じる: アリスとボブはオラクルになり、CETに署名できます。楽観的挑戦メカニズムは誤ったCETを挫折させるため、悪意を持つことはできません。したがって、OP-DLCはユーザーが自分だけを信じることを可能にします。BitVMでは、ユーザーはオペレーターとして参加し、以降のすべての入金に参加しなければ、自分だけを信じることはできません。もしユーザーがオペレーターとしてBitVMの単一のUTXO入金にのみ参加した場合、そのUTXOは他の(n-1)のオペレーターによって合法的に償還される可能性があるため、そのユーザーの将来の出金は他のオペレーターが立て替えてくれることを信じる必要があります。BitVMオペレーターの償還権限は各単一の入金UTXOにロックされています。
- 資金利用率が高い: ユーザーが自分だけを信じる場合、必要な資金量は異なります。OP-DLCでは、ユーザーは自分の資金を引き出すことに依存し、同等の資金を立て替える必要はありません;一方、BitVMでは、ユーザーは同等の資金を立て替え、その後償還を受ける必要があります。これにより、より大きな資金のプレッシャーが生じます。
- 署名できるオラクルはOP-DLCの入金時に確定する必要がありますが、ユーザー自身もオラクルになり、自分に署名できます。
欠点:
- 出金時間が1週間必要: 本質的にOP-DLCとBitVMの資金時間コストは存在し、等量です。OP-DLCの出金は挑戦期間を経なければ資金を受け取れません;もしBitVMがユーザー自身の立て替えに依存する場合、同等の立て替え資金も挑戦期間を経なければ成功裏に償還されません。もしBitVMが他のオペレーターの立て替えに依存して迅速に出金する場合、オペレーターに同等の資金を支払う資金時間コストが手数料として必要になります。
- 事前署名の必要な署名の数が急速に増加し、CETの数に対して線形関係を持ちます。すべての出金結果を列挙するためには、できるだけ多くのCETが必要です。
4.結論
OP-DLCは楽観的挑戦メカニズムをCETに導入し、誤ったCETが決済されないことを保証し、対応する悪意のあるオラクルが担保を失うことを確保します;正しいCETが実行され、オラクルの担保が解除され、手数料を得ることを保証します。この方法は任意の攻撃に対抗でき、シンプルな美を持っています。