This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
ビットレイヤーリサーチ:OP-DLC 2 Avenue to Simplicity
原文のタイトル:「Bitlayerのコア技術:DLCおよびその最適化に関する考慮事項」
原文の著者:mutourend&lynndell、Bitlayer Research Group
1.イントロダクション
Discreet Log Contract (DLC)は、MITのTadge Dryjaによって2018年に提案されたオラクルマシンベースの契約実行フレームワークです。DLCでは、予め定義された条件に基づいて2つの当事者が条件付き支払いを行うことができます。両当事者は可能な結果を予め決めて署名し、オラクルマシンが結果を署名する際にこれらの予め署名された情報を使用して支払いを実行します。したがって、DLCはビットコインのデポジットの安全性を保証しながら、新たな分散型金融アプリケーションを実現しています。
前回の記事「DLCの原理分析とその最適化思考」では、プライバシー保護、複雑な契約、低資産リスクにおけるDLCの利点をまとめ、DLCにおける秘密鍵リスク、分散化信頼リスク、共謀リスクの問題を分析し、分散型オラクル、閾値署名、楽観的チャレンジメカニズムをDLCに導入して、直面するべきさまざまな問題を解決しました。 DLCにはオラクルマシン、アリス、ボブの3人の参加者が関与するため、異なる参加者間の陰謀は比較的複雑であり、比較的複雑な予防戦略になります。 複雑な防御戦略は完璧ではなく、単純さに従わず、単純さの美しさに欠けています。
ビットコインでは、参加者の振る舞いはUTXOを介して実装する必要があります。 したがって、コンセンサスメカニズムを使用してUTXOが正しいことを確認することは、任意の攻撃に対して耐性があります。 同様に、DLCでは、任意の当事者の行動はCET(契約トランザクション)を通じて実装する必要があります。 したがって、楽観的チャレンジメカニズムを使用してCETが正しいことを確認すると、任意の攻撃に抵抗できます。 具体的には、2B TCオラクルマシン ステーク後、CETに署名できるようになります。 CETに楽観的なチャレンジメカニズムを追加します。 CETがチャレンジされない場合、またはチャレンジが正常に取り組まれた場合、CETは正しく、決済が完了し、オラクルマシンでステークが解放され、料金が支払われます。 オラクルが悪事を働こうとすると、誰でも首尾よく挑戦することができ、CETは決済されず、オラクルマシンはステークを失い、オラクルマシンはロング同じCETに署名できなくなります。 大通りのシンプルさと、シンプルな美しさ。
2.DLCの原理
AliceとBobは、ギャンブルの契約に署名しました:第ξブロックのハッシュ値が奇数または偶数であることを賭けます。奇数の場合、Aliceがゲームに勝ち、資産を引き出すことができます。偶数の場合、Bobがゲームに勝ち、資産を引き出すことができます。DLCを使用して、オラクルマシンを介して第ξブロックの情報を伝達し、正しい勝者がすべての資産を獲得するための条件付き署名を構築します。
楕円曲線の生成元は G で、次数は q です。オラクルマシン、Alice と Bob それぞれの秘密鍵は (z, Z)、(x, X)、(y, Y) です。
資金調達トランザクション(オンチェーン):AliceとBobは共に資金調達トランザクションを作成し、それぞれが2-of-2のマルチシグ出力に10 BTCをロックします(公開鍵XはAliceに、公開鍵YはBobに属します)。
CETの構築(オフチェーン):AliceとBobは、資金取引のためのCET 1とCET 2を作成します。
オラクルマシン計算承諾 R = k · G,然后計算 S 和 S'
S := R - ハッシュ(奇数, R) · Z
S' := R - ハッシュ(偶数, R) · Z
AliceとBobの対応する新しい公開鍵は次のようになります:
PK^{アリス} := X + S
PK^{Bob} := Y + S' です。
決済 (オフチェーン->オンチェーン): 最初のブロックが正常に生成されると、対応する CET 1 または CET 2 は、ブロックのハッシュ値に従って署名オラクルマシンされます。
ハッシュが奇数の場合、オラクルマシンは次のように署名します s
s := 千 - ハッシュ(奇数, R) z
ブロードキャスト CET 1.
もしハッシュが偶数なら、オラクルマシンはs'に署名します
s' := 千 - ハッシュ(偶数, R) z
ブロードキャスト CET 2.
引き出し(オンチェーン):オラクルマシンがCET 1をブロードキャストすると、Aliceは新しい秘密鍵を計算し、ロックされた20BTCを使うことができます
sk^{アリス} = x + s
もしオラクルマシンがCET 2をブロードキャストした場合、Bobは新しい秘密鍵を計算し、ロックされた20BTCを支出することができます
sk^{ボブ} = y + s'
Bitlayer研究グループは次のことを発見しました:上記のプロセスでは、どの行動にもCETを介して行われる必要があります。したがって、CETが正しくあれば、正しい挑戦メカニズムを使用するだけで、任意の攻撃に対抗することができます。誤ったCETは挑戦され、実行されませんが、正しいCETは実行されます。さらに、オラクルマシンは悪意のある行動に対してコストを支払う必要があります。
チャレンジ対象のプログラムが f(t) の場合、CET は次のように構成する必要があります
s = 千 - ハッシュ(f(t), R) z.
仮定すると、実際の状況では第ξブロックのハッシュ値は奇数(odd)であるとします。つまり、f(ξ) = 奇数の値(OddNumber)である場合、オラクルマシンはCET 1に署名する必要があります。
s := 千 - ハッシュ(奇数, R) z.
しかし、オラクルマシンは悪事を働き、関数の値をEvenに変更し、CET 2に署名しました:
s' := 千 - ハッシュ(偶数, R) z.
したがって、任意のユーザーはf(ξ) ≠ 奇数によってこの悪意のある行為を阻止することができます。
3.OP-DLC 2
OP-DLCには以下の5つの規定が含まれています:
*オラクルマシンは、n人の参加者からなる連盟で構成されており、連盟の任意のメンバーがCETに署名することができます。2B TCをステークすることで、オラクルマシンは手数料を得るための署名を公開することができます。あるメンバーが不正行為を行った場合、ステークを失います。他のメンバーは引き続きCETに署名することで、ユーザーが引き出しを行えるようにします。アリスとボブもオラクルマシンになることができ、自己にのみ信頼し、信頼を最小限に抑えることができます。
Oracle_signが正直であれば、Disprove-CET 1トランザクションを開始できず、1週間後にCETの決済が行われます。また、オラクルマシンのステークが解除され、手数料が得られます。
Oracle_signが不正を行った場合、つまり、誰かがDisprove-CET 1トランザクションを成功させ、コネクタAのアウトプットを正常に消費した場合、そのOracleの署名は無効となり、2B TCのステークが失われます。また、将来、そのOracleは同じ結果に対してDLC契約に対して署名を行うことはできなくなります。なぜなら、コネクタAのアウトプットに依存しているSettle-CET 1が永久に無効になるからです。
利点:
欠点:
4. まとめ
OP-DLCは、CETに楽観的なチャレンジメカニズムを導入し、誤ったCETの決済を防ぎ、対応する悪意のあるオラクルマシンがステークを失うことを確保します。また、正しいCETの実行を確保し、オラクルマシンのステークがアンロックされ、手数料を獲得します。この方法は任意の攻撃に対抗でき、シンプルで美しいです。
参照