Bitlayer Research:OP-DLC 2大道至简
原文标题:《Bitlayer Core Technology: DLC and Its Optimization Considerations》
原文作者:mutourend & lynndell, Bitlayer Research Group
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 正确,则能够抵抗任意攻击。具体而言,预言机质押2B TC 后,则能够签署 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 一起创建一笔注资交易,各自将 10 BTC 锁在一个 2-of-2 的多签输出(一个公钥 X 属于 Alice,一个公钥 Y 属于 Bob)。
构建 CET(链下):Alice 和 Bob 创建 CET 1 和 CET 2 ,用于花费注资交易。
预言机计算承诺 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'.
结算(链下->链上):当第ξ个区块成功生成,则预言机根据该区块的哈希值,签署对应的 CET 1 或 CET 2 。
如果哈希为奇数,则预言机如下签署 s
s := k - hash(OddNumber, R) z
广播 CET 1 。
如果哈希为偶数,则预言机签署 s'
s' := k - hash(EvenNumber, R) z
广播 CET 2 。
提币(链上):如果预言机广播 CET 1 ,则 Alice 可以计算出新私钥,并花费锁定的 20 个 BTC
sk^{Alice} = x + s
如果预言机广播 CET 2 ,则 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,预言机应该签署 CET 1
s := k - hash(OddNumber, R) z.
但是,预言机作恶,将函数值修改为 Even,签署了 CET 2 :
s' := k - hash(EvenNumber, R) z.
因此,任意用户均可根据 f(ξ) ≠ OddNumber.挫败该恶意行为。
3.OP-DLC 2
OP-DLC 包括以下 5 个规定:
-
预言机由一个联盟组成,联盟中有 n 个参与方,任意成员之一均可签署 CET。质押2B TC,预言机才能发布签名赚手续费。如果某个成员作恶,则损失质押。其他成员可继续签署 CET,确保用户能够出金。Alice 和 Bob 也可成为预言机,可真正的做到只相信自己,信任最小化。
-
如果预言机作恶,修改结果,则必然导致 f 1(ξ) ≠ z 1, f 2(z 1) ≠ z 2 的情况出现。因此,任意参与方均可发起挑战,即进行 Disprove-CET 1 交易。
-
如果预言机诚实签署 CET,则任意参与方均不能发起有效的 Disprove 交易。1 周后,CET 可正确结算。此外,预言机获得 0.05 BTC 奖励,作为其质押的2B TC 1 周资金占用以及诚实签署 CET 的手续费。
-
任意参与方均能够对 Oracle_sign 发起挑战:
若 Oracle_sign 诚实,则无法发起 Disprove-CET 1 交易, 1 周后执行 CET 结算。此外,预言机质押解锁,并获得手续费;
若 Oracle_sign 不诚实,即任何人成功发起了 Disprove-CET 1 交易,成功花费了 connector A output,则该预言机的该签名无效,损失所质押的2B TC,且未来该预言机均不可再对该 DLC 合约发起相同结果的签名,因依赖该 connector A output 的 Settle-CET 1 将永久失效。
-
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 被执行,且预言机质押解锁并获得手续费。该方式能够抵抗任意攻击,具有简单美。
参考文献
-
Specification for Discreet Log Contracts
-
Discreet Log Contracts
-
DLC 原理解析及其优化思考
-
Optimistic Rollup
-
BitVM 2: Permissionless Verification on Bitcoin
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
Justin Sun suspected to have purchased $160m in Ethereum
Justin Sun suspected to have purchased $160m in Ethereum