OP-DLC 2:大道至简

在比特币中,用户的任意行为均需要通过UTXO实现。因此,使用POW共识机制确保UTXO正确,则能够抵抗任意攻击。类似,在DLC中,对CET添加乐观挑战机制,则能够确保CET的正确执行,从而能够抵抗任意攻击。符合大道至简,具有简洁美。

原文标题:《OP-DLC 2 : Great Truths are Always Simple !》 作者: mutourend & lynndell 原文链接:https://blog.bitlayer.org/OP-DLC_2_Great_Truths_are_Always_Simple/

1. 引言

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签名。符合大道至简,具有简洁美。

2. DLC原理

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,然后计算SS' 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挫败该恶意行为。

3. OP-DLC 2

OP-DLC包括以下5个规定:

  • 预言机由一个联盟组成,联盟中有n个参与方,任意成员之一均可签署CET。质押2BTC,预言机才能发布签名赚手续费。如果某个成员作恶,则损失质押。其他成员可继续签署CET,确保用户能够出金。Alice和Bob也可成为预言机,可真正的做到只相信自己,信任最小化。

  • 如果预言机作恶,修改结果,则必然导致 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交易,成功花费了connector A output,则该预言机的该签名无效,损失所质押的2BTC,且未来该预言机均不可再对该DLC合约发起相同结果的签名,因依赖该connector A output的Settle-CET1将永久失效。
  • OP-DLC中的挑战是Permissionless的,即任意参与方均可监督OP-DLC内的合约是否正确执行。因此,实现了对预言机的信任最小化。与闪电网络相比,Alice和Bob也可离线。因为预言机只有诚实签名才会结算CET,而作恶的预言机会被被任何人挑战和惩罚。

优点:

  • 对资产控制度高,只信任自己: Alice和Bob均可以成为预言机,签署CET。乐观挑战机制会挫败错误的CET,所以无法作恶。因此,OP-DLC可做到用户只相信自己。在BitVM中,用户需要作为Operator,并必须参与后续所有的入金,才能做到只信任自己。如果用户作为Operator只参与BitVM单个UTXO入金,该UTXO可被任意其它(n-1)个Operator合法报销,则该用户未来的出金,将仍需信任其它Operator会垫付。BitVM Operator的报销权限锁定在各单个入金UTXO上。
  • 资金利用率高: 若用户只信任自己,需要的资金量不一样。OP-DLC中用户依赖自己出金,不需要用等量资金垫付;而BitVM中,用户需要等量资金垫付,然后报销。这带来了更大的资金压力。
  • 能签字的预言机需在OP-DLC入金时确定,但用户自己也可成为预言机,可自己给自己签。

缺点:

  • 出金时间需1周: 本质上OP-DLC和BitVM的资金时间成本都是存在且等量的。OP-DLC出金需经过挑战期才能拿到资金;如果BitVM依赖用户自己垫付,则等量垫付资金也需经过挑战期才能成功报销。如果BitVM依赖其它Operator垫付快速出金,则意味着需给Operator等量资金的资金时间成本作为手续费。
  • 需要预签的签名数量增长较快,与CET数量呈线性关系。需要尽可能多的CET,才能枚举所有的提币结果。

4. 结论

OP-DLC将乐观挑战机制引入到CET中,确保错误的CET不被结算,且相应的恶意预言机损失质押;确保正确的CET被执行,且预言机质押解锁并获得手续费。该方式能够抵抗任意攻击,具有简单美。

参考文献

  1. Specification for Discreet Log Contracts
  2. Discreet Log Contracts
  3. DLC原理解析及其优化思考
  4. Optimistic Rollup
  5. BitVM 2: Permissionless Verification on Bitcoin

<!--EndFragment-->

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Bitlayer Labs
Bitlayer Labs
首个基于BitVM的比特币Layer2.