原文标题:《OP-DLC 2 : Great Truths are Always Simple》
作者: mutourend & lynndell, Bitlayer Research Group
原文链接:https://medium.com/@Bitlayer/op-dlc-2-great-truths-are-always-simple-6f3ea0709d0d
Discreet Log Contract (DLC) 是由麻省理工学院的 Tadge Dryja 在 2018 年提出的一种基于预言机的合约执行框架。DLC 允许两方根据预定义的条件进行有条件支付。双方预先确定可能的结果并进行预签名,并在预言机签署结果时使用这些预签名来执行支付。因此,DLC 在保证比特币存款安全的同时,实现了新的去中心化金融应用。
上一篇文章《DLC 原理解析及其优化思考》总结了 DLC 在隐私保护、复杂合约、资产风险低等方面的优势,也分析了 DLC 存在密钥风险、去中心化信任风险、串谋风险等问题,并将去中心化预言机、门限签名、乐观挑战机制等引入 DLC,解决其应面临的各种问题。由于 DLC 中涉及预言机、Alice 和 Bob 三个参与方,不同参与方之间串谋攻击穷举是相对复杂的,导致预防策略也是相对复杂度的。复杂的防御策略不是完美的,不符合大道至简,缺少简洁美。
在比特币中,任意参与方的任意行为均需要通过 UTXO 实现。因此,使用共识机制确保 UTXO 正确,则能够抵抗任意攻击。类似,在 DLC 中,任意参与方的任意行为均需要通过 CET(Contract Execution Transaction)实现。因此,使用乐观挑战机制确保 CET 正确,则能够抵抗任意攻击。具体而言,预言机质押 2BTC 后,则能够签署 CET。在 CET 中添加乐观挑战机制。如果 CET 不被挑战,或成功应对挑战,则 CET 正确,能够完成结算,预言机解除质押且获得手续费;如果 Oracle 试图作恶,则任何人都可成功挑战,该 CET 将无法结算,预言机损失质押金且该预言机无法再对同一 CET 签名。符合大道至简,具有简洁美。
Alice 和 Bob 签署对赌协议:投注第ξ个区块的哈希值是奇数或偶数。如果是奇数,则 Alice 赢得游戏,可提取资产;如果是偶数,则 Bob 赢得游戏,可提取资产。使用 DLC,通过预言机传递第ξ个区块信息构造条件签名使得正确的获胜方赢得所有资产。
椭圆曲线生成元为 G,阶为 q。预言机、Alice 和 Bob 各自的密钥对分别为 (z, Z), (x, X), (y, Y)。
注资交易(链上): Alice 和 Bob 一起创建一笔注资交易,各自将 10BTC 锁在一个 2-of-2 的多签输出(一个公钥 X 属于 Alice,一个公钥 Y 属于 Bob)。
构建 CET(链下):Alice 和 Bob 创建 CET1 和 CET2,用于花费注资交易。
预言机计算承诺 R = k · G,然后计算 S 和 S'
S := R - hash(OddNumber, R) · Z
S' := R - hash(EvenNumber, R) · Z
则 Alice 和 Bob 对应的新公钥如下:
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,则 Alice 可以计算出新私钥,并花费锁定的 20 个 BTC
sk^{Alice} = x + s
如果预言机广播 CET2,则 Bob 可以计算出新私钥,并花费锁定的 20 个 BTC
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.挫败该恶意行为。
OP-DLC 包括以下 5 个规定:
若 Oracle_sign 诚实,则无法发起 Disprove-CET1 交易,1 周后执行 CET 结算。此外,预言机质押解锁,并获得手续费;
若 Oracle_sign 不诚实,即任何人成功发起了 Disprove-CET1 交易,成功花费了 connector A output,则该预言机的该签名无效,损失所质押的 2BTC,且未来该预言机均不可再对该 DLC 合约发起相同结果的签名,因依赖该 connector A output 的 Settle-CET1 将永久失效。
优点:
缺点:
OP-DLC 将乐观挑战机制引入到 CET 中,确保错误的 CET 不被结算,且相应的恶意预言机损失质押;确保正确的 CET 被执行,且预言机质押解锁并获得手续费。该方式能够抵抗任意攻击,具有简单美。
Specification for Discreet Log Contracts: https://github.com/discreetlogcontracts/dlcspecs
Discreet Log Contracts: https://adiabat.github.io/dlc.pdf
DLC 原理解析及其优化思考: https://medium.com/@Bitlayer/bitlayer-core-technology-dlc-and-its-optimization-considerations-6fc5ebaae92c
Optimistic Rollup: https://ethereum.org/en/developers/docs/scaling/optimistic-rollups/
BitVM 2: Permissionless Verification on Bitcoin: https://bitvm.org/bitvm2.html
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。