网站制作职责南京专业做网站公司地址

当前位置: 首页 > news >正文

网站制作职责,南京专业做网站公司地址,wordpress人力资源模板下载,商标注册网电子证书1. 引言 Discreet Log Contract (DLC) 是由麻省理工学院的Tadge Dryja在2018年提出的一套基于预言机的合约执行方案。DLC 允许两方根据预定义的条件进行有条件付款。各方确定可能的结果并进行预签名#xff0c;并在预言机签署结果时使用这些预签名来执行支付。 因此#xff…1. 引言 Discreet Log Contract (DLC) 是由麻省理工学院的Tadge Dryja在2018年提出的一套基于预言机的合约执行方案。DLC 允许两方根据预定义的条件进行有条件付款。各方确定可能的结果并进行预签名并在预言机签署结果时使用这些预签名来执行支付。 因此DLC可实现新的去中心化金融应用同时保证比特币存款的安全。 与闪电网络相比DLC具有以下显著优势 隐私性DLC在隐私保护方面优于闪电网络合约细节仅在参与方之间分享而不会在区块链上存储。相比之下闪电网络交易通过公开的通道和节点路由其信息公开且透明财务合约的复杂性和灵活性DLC能够直接在比特币网络上创建和执行复杂的金融合约如衍生品、保险和赌约等而闪电网络主要用于快速的小额支付无法支持复杂应用降低对手方风险DLC资金被锁定在多签合约中只有在预定义事件的结果出现时才会释放减少了任一方不遵守合约的风险。尽管闪电网络减少了信任需求但在通道管理和流动性提供方面仍存在一定的对手方风险无需管理支付通道DLC操作无需创建或维护支付通道而这是闪电网络的核心组成部分通道管理既复杂又耗资源特定用例的可扩展性闪电网络在一定程度上提高了比特币的交易吞吐量而DLC在比特币上的复杂合约方面提供了较好的可扩展性。 虽然DLC在比特币生态应用中极具优势但是仍存在一些风险和问题如 密钥风险预言机的私钥和承诺的随机数具有泄露或丢失风险导致用户资产损失中心化信任风险预言机中心化问题容易导致拒绝服务攻击去中心化无法密钥派生如果预言机去中心化则预言机节点仅拥有私钥分片。但是去中心化的预言机节点无法基于私钥分片直接使用BIP32进行密钥派生串谋风险如果预言机节点之间串谋、或与参与方串谋则仍没解决预言机的信任问题。需要一个可靠的监督机制使得预言机信任最小化固定面额找零问题条件签名需要在构建合约之前有确定性的可枚举事件集合来构建交易。因此DLC用于资产重新分配会有最小金额的限制导致存在固定面额的找零问题。 为此本文提出一些方案和优化思路解决DLC的风险和问题提高比特币生态系统的安全性。

  1. DLC原理 Alice和Bob签署一个对赌协议投注第nk个区块的哈希值是奇数或偶数。如果是奇数则Alice赢得游戏可在t时间内提取资产如果是偶数则Bob赢得游戏可在t时间内提取资产。使用DLC通过预言机传递第nk的区块信息来构造条件签名使得正确的获胜方赢得所有资产。 1初始化椭圆曲线生成元为 G G G阶为 q q q。2密钥生成预言机、Alice和Bob独立生成各自的私钥和公钥。 预言机的私钥为 z z z公钥为 Z Z Z满足关系 Z z ⋅ G Zz\cdot G Zz⋅GAlice的私钥为 x x x公钥为 X X X满足关系 X x ⋅ G Xx\cdot G Xx⋅GBob的私钥为 y y y公钥为 Y Y Y满足关系 Y y ⋅ G Yy\cdot G Yy⋅G。 3注资交易 Alice和Bob一起创建一笔注资交易各自将1BTC锁在一个2-of-2的多签输出一个公钥 X X X属于Alice一个公钥 Y Y Y属于Bob。4合约执行交易Alice和Bob创建两笔合约执行交易Contract Execution Transaction, CET)用于花费注资交易。 预言机计算承诺 R : k ⋅ G R:k\cdot G R:k⋅G 然后计算 S S S和 S ′ S S′ S : R − h a s h ( O d d N u m b e r , R ) ⋅ Z , S ′ : R − h a s h ( E v e n N u m b e r , R ) ⋅ Z S:R-hash(OddNumber,R)\cdot Z,\ S:R-hash(EvenNumber,R)\cdot Z S:R−hash(OddNumber,R)⋅Z,S′:R−hash(EvenNumber,R)⋅Z 广播 ( R , S , S ′ ) (R,S,S) (R,S,S′)。 Alice和Bob各自计算对应的新公钥 P K A l i c e : X S , P K B o b : Y S ′ . PK^{Alice}:X S,\ PK^{Bob}:Y S. PKAlice:XS,PKBob:YS′.5结算当第nk个区块出现后预言机根据该区块的哈希值生成对应的 s s s或 s ′ s s′。 如果第nk个区块的哈希值为奇数则预言机计算并广播 s s s s : k − h a s h ( O d d N u m b e r , R ) ⋅ z s:k-hash(OddNumber,R)\cdot z s:k−hash(OddNumber,R)⋅z如果第nk个区块的哈希值为偶数则预言机计算并广播 s ′ s s′ s ′ : k − h a s h ( E v e n N u m b e r , R ) ⋅ z s:k-hash(EvenNumber,R)\cdot z s′:k−hash(EvenNumber,R)⋅z 6提币Alice或Bob其中一个参与方能根据预言机广播的 s s s或 s ′ s s′提取资产。 如果预言机广播 s s s则Alice可以计算出新私钥 s k A l i c e sk^{Alice} skAlice并提取锁定的2个BTC s k A l i c e : x s . sk^{Alice}: x s. skAlice:xs.如果预言机广播 s ′ s s′则Bob可以计算出新私钥 s k B o b sk^{Bob} skBob并提取锁定的2个BTC s k B o b : y s ′ . sk^{Bob}: y s. skBob:ys′.
    分析 Alice计算的新私钥 s k A l i c e sk^{Alice} skAlice与新公钥 P K A l i c e PK^{Alice} PKAlice满足离散对数关系 s k A l i c e ⋅ G ( x s ) ⋅ G X S P K A l i c e sk^{Alice}\cdot G (xs)\cdot GXSPK^{Alice} skAlice⋅G(xs)⋅GXSPKAlice 该情况下Alice提币会成功。同理Bob计算的新私钥 s k B o b sk^{Bob} skBob与新公钥 P K B o b PK^{Bob} PKBob满足离散对数关系 s k B o b ⋅ G ( y s ′ ) ⋅ G Y S ′ P K B o b sk^{Bob}\cdot G (ys)\cdot GYSPK^{Bob} skBob⋅G(ys′)⋅GYS′PKBob 该情况下Bob提币会成功。 此外如果预言机广播 s s s对Alice有用但是对Bob没用。因为Bob无法用于计算出对应的新私钥 s k B o b sk^{Bob} skBob。同理如果预言机广播 s ′ s s′对Bob有用但是对Alice没用。因为Alice无法用于计算出对应的新私钥 s k A l i c e sk^{Alice} skAlice。 最后上述描述省略了时间锁。需要添加时间锁使得一方计算出新私钥在t时间内提币。否则如果超出t时间则另一方使用原私钥就能提走资产。
  2. DLC优化 3.1 密钥管理 在DLC协议中预言机的私钥和承诺的随机数至关重要。如果预言机的私钥和承诺的随机数泄露或丢失则容易导致以下4种安全问题 1预言机丢失私钥 z z z 如果预言机丢失私钥则DLC 无法结算导致需要执行 DLC 退款合约。因此DLC协议中设置了退款交易以防止预言机丢失私钥。2预言机泄露私钥 z z z 如果预言机的私钥泄露则所有基于该私钥的 DLC 都面临欺诈结算风险。窃取私钥的攻击者可以签署想要的任何消息实现对未来所有合约结果的完全控制。此外攻击者不仅限于发布单个签名消息还可以发布冲突的消息如同时签署第nk个区块的哈希值为奇数和偶数。3预言机泄露或重用随机数 k k k 如果预言机泄露随机数 k k k则在结算阶段不管预言机广播 s s s或 s ′ s s′攻击者均可如下计算出预言机的私钥 z z z z : ( k − s ) / h a s h ( O d d N u m b e r , R ) z:(k-s)/hash(OddNumber,R) z:(k−s)/hash(OddNumber,R) z : ( k − s ′ ) / h a s h ( E v e n N u m b e r , R ) z:(k-s)/hash(EvenNumber,R) z:(k−s′)/hash(EvenNumber,R) 如果预言机重用随机数 k k k则经过2次结算攻击者可以根据预言机广播的签名根据以下四种情况之一解方程组求出预言机的私钥 z z z 情况1 s 1 k − h a s h ( O d d N u m b e r 1 , R ) ⋅ z s_1k-hash(OddNumber_1,R)\cdot z s1​k−hash(OddNumber1​,R)⋅z s 2 k − h a s h ( O d d N u m b e r 2 , R ) ⋅ z s_2k-hash(OddNumber_2,R)\cdot z s2​k−hash(OddNumber2​,R)⋅z 情况2 s 1 ′ k − h a s h ( E v e n N u m b e r 1 , R ) ⋅ z s_1k-hash(EvenNumber_1,R)\cdot z s1′​k−hash(EvenNumber1​,R)⋅z s 2 ′ k − h a s h ( E v e n N u m b e r 2 , R ) ⋅ z s_2k-hash(EvenNumber_2,R)\cdot z s2′​k−hash(EvenNumber2​,R)⋅z 情况3 s 1 k − h a s h ( O d d N u m b e r 1 , R ) ⋅ z s_1k-hash(OddNumber_1,R)\cdot z s1​k−hash(OddNumber1​,R)⋅z s 2 ′ k − h a s h ( E v e n N u m b e r 2 , R ) ⋅ z s_2k-hash(EvenNumber_2,R)\cdot z s2′​k−hash(EvenNumber2​,R)⋅z 情况4 s 1 ′ k − h a s h ( E v e n N u m b e r 1 , R ) ⋅ z s_1k-hash(EvenNumber_1,R)\cdot z s1′​k−hash(EvenNumber1​,R)⋅z s 2 k − h a s h ( O d d N u m b e r 2 , R ) ⋅ z s_2k-hash(OddNumber2,R)\cdot z s2​k−hash(OddNumber2​,R)⋅z4预言机丢失随机数 k k k 如果预言机丢失随机数 k k k则对应的DLC 无法结算需要执行 DLC 退款合约。 因此为提高预言机私钥的安全性应使用BIP32派生出子秘钥或孙密钥用于签名。此外为提高随机数的安全性应使用私钥和计数器的哈希值 k : h a s h ( z , c o u n t e r ) k:hash(z,counter) k:hash(z,counter)作为随机数 k k k以防随机数重复或丢失。 3.2 去中心化预言机 DLC中预言机的作用至关重要提供了决定合约结果的关键外部数据。为提高这些合约的安全性则需要去中心化预言机。与中心化预言机不同去中心化预言机将提供准确和防篡改数据的责任分散到多个独立节点上可以减少依赖单一故障点的风险并降低操纵或针对性攻击的可能性。通过去中心化预言机DLC可以实现更高程度的无需信任和可靠性确保合约执行完全依赖于预定条件的客观性。 Schnorr门限签名可以实现去中心化预言机。Schnorr门限签名具有以下优势 1增强安全性通过分散密钥的管理门限签名减少了单点故障的风险。即使部分参与方的密钥被泄露或受到攻击只要不超过设定的阈值整个系统仍然安全。2分布式控制门限签名实现了对密钥管理的分布式控制无单一实体掌握全部签名权力从而降低了权力过于集中带来的风险。3提高可用性只需达到一定数量的预言机节点同意即可完成签名提高了系统的灵活性和可用性。即使部分节点不可用也不会影响整体系统的可靠运行。4灵活性与可扩展性门限签名协议可以根据需要设置不同的阈值适应各种不同的安全需求和场景。此外它也适用于大规模网络具有良好的可扩展性。5可追责性每个预言机节点基于私钥分片对消息生成签名分片其他参与方均可使用对应的公钥分片验证该签名分片的正确性实现追责。如果正确则累加签名分片生成完整签名。 因此Schnorr门限签名协议在提高安全性、可靠性、灵活性、可扩展性和可追责性等的去中心化预言机中具有显著优势。 3.3 去中心化与密钥管理耦合 在密钥管理技术中预言机拥有一个完整密钥 z z z基于完整密钥 z z z和增量 ω \omega ω使用BIP32能够派出大量的子密钥 z ω ( 1 ) z{{\omega }^{(1)}} zω(1)和孙密钥 z ω ( 1 ) ω ( 2 ) z{{\omega }^{(1)}}{{\omega }^{(2)}} zω(1)ω(2)。对于不同的事件预言机能够使用不同的孙私钥 z ω ( 1 ) ω ( 2 ) z{{\omega }^{(1)}}{{\omega }^{(2)}} zω(1)ω(2)对对应的事件 m s g msg msg生成对应的签名 σ \sigma σ。 在去中心化预言机应用场景下有 n n n个参与方需要 t 1 t1 t1个参与方进行门限签名。其中 t n tn tn。 n n n个预言机节点各自拥有一个私钥分片 z i , i 1 , … , n {{z}{i}},i1,…,n zi​,i1,…,n。这 n n n个私钥分片 z i {{z}{i}} zi​对应一个完整私钥 z z z但是完整私钥 z z z从始至终不出现。在完整私钥 z z z不出现的前提下 t 1 t1 t1个预言机节点使用私钥分片 z i , i 1 , … , t 1 {{z}{i}},i1,…,t1 zi​,i1,…,t1对消息 m s g ′ msg msg′生成签名分片 σ i ′ \sigma_i σi′​签名分片 σ i ′ \sigma_i σi′​合并为完整的签名 σ ′ \sigma σ′。验证方使用完整公钥 Z Z Z能够校验消息签名对 ( m s g ′ , σ ′ ) (msg,\sigma ) (msg′,σ′)的正确性。由于需要 t 1 t1 t1个预言机节点联合生成门限签名所以具有较高的安全性。 但是在去中心化预言机应用场景下完整私钥 z z z不出现无法直接使用BIP32进行密钥派生。换言之预言机去中心化技术与密钥管理技术无法直接耦合。 论文Distributed Key Derivation for Multi-Party Management of Blockchain Digital Assets提出门限签名场景下的分布式密钥派生方法。该论文的核心思想是根据拉格朗日插值多项式私钥分片 z i z_i zi​与完整私钥 z z z满足如下插值关系 z i ∑ j 1 n f j ( i ) z ∑ j 1 n a 0 , j a 1 , j i … a t , j i t zi \sum\limits{j 1}^n {{fj}(i)} z\sum\limits{j 1}^n {a{0,j}a{1,j}i…a_{t,j}i^t} zi​j1∑n​fj​(i)zj1∑n​a0,j​a1,j​i…at,j​it 上式两边均加上增量 ω \omega ω则得到以下等式 z i ω z ω ∑ j 1 n a 0 , j a 1 , j i … a t , j i t zi \omega z\omega \sum\limits{j 1}^n {a{0,j}a{1,j}i…a_{t,j}i^t} zi​ωzωj1∑n​a0,j​a1,j​i…at,j​it 该等式表明私钥分片 z i z_i zi​加上增量 ω \omega ω与完整私钥 z z z加上增量 ω \omega ω仍满足插值关系。换言之子私钥分片 z i ω z_i\omega zi​ω与子密钥 z ω z\omega zω满足插值关系。因此各个参与方能够使用私钥分片 z i z_i zi​加上增量 ω \omega ω派生出子私钥分片 z i ω z_i\omega zi​ω用于生成子签名分片且使用对应的子公钥 Z ω ⋅ G Z\omega\cdot G Zω⋅G能够进行有效性验证。 但是需要考虑增强型与非增强型BIP32。增强型BIP32以私钥、链码和路径为输入计算SHA512输出增量和子链码。而非增强型BIP32以公钥、链码和路径为输入计算SHA512输出增量和子链码。门限签名情况下私钥不存在所以只能使用非增强型BIP32。或使用同态哈希函数则有增强型BIP32。但是同态哈希函数与SHA512不同与原BIP32不兼容。 3.4 OP-DLC预言机信任最小化 DLC中Alice和Bob之间的合约是根据预言机签名的结果来执行的因此需在一定程度上信任预言机。所以预言机的行为正确是DLC运行的一大前提。 为预言机去信任化已有研究根据n个预言机的结果执行DLC减少对单个预言机的依赖。 n-of-n模型表示使用n个预言机签订合约并根据n个预言机的结果执行合约。该模型要求n个预言机均在线签名。如果有预言机离线或对结果有分歧则影响DLC合约执行。信任假设为n个预言机均为诚实的。k-of-n模型表示使用n个预言机签订合约根据其中k个预言机的结果执行合约。如果有超过k个预言机串谋则影响合约的公正执行。此外使用k-of-n模型时需要准备的CET数量是单个预言机或n-of-n模型的 C n k C_n^k Cnk​倍。信任假设为n个预言机中至少有k个预言机是诚实的。 增加预言机数量并没有实现对预言机的去信任化。因为当预言机作恶后合约受损方没有链上申诉通道。 因此本节提出OP-DLC在DLC中引入乐观挑战机制。n个预言机在参与设置DLC之前需提前质押构建permisssionless 链上OP游戏承诺不作恶。如果有任何一个预言机作恶则Alice或Bob或任何其它诚实预言机或其它第三方诚实观察者均可发起挑战。如果挑战方赢得游戏则链上惩罚作恶预言机罚没其押金。此外OP-DLC也可采用k-of-n模型来签名。其中k值甚至可为1。因此信任假设降为只要网络中有一个诚实的参与方就可发起OP挑战惩罚作恶的预言机节点。 当根据Layer2计算结果对OP-DLC结算时 如果预言机使用错误的结果签名使得Alice利益受损则Alice可使用Layer2正确计算结果对预言机提前质押的permisssionless 链上OP游戏发起挑战。Alice赢得游戏惩罚作恶预言机弥补损失同理Bob、其它诚实预言机节点、第三方诚实观察者均可发起挑战。但是为防止恶意挑战挑战方也需要质押。 因此OP-DLC使得预言机节点之间互相监督使得预言机信任最小化。该机制仅需要一个诚实参与方容错率99%较好地解决了预言机串谋风险。 3.5 OP-DLC BitVM双桥 当DLC用于跨链桥DLC合约结算时需要进行资金分配 需要通过CET预先设置。这意味着DLC的资金结算粒度是有限的如Bison网络以0.1 BTC为粒度。存在问题用户在Layer2的资产交互不应受限于DLC CET的资金粒度。当Alice想要对其Layer2资产结算时会强制将用户Bob的Layer2资产也结算到Layer1。存在问题每个Layer2用户应可自由选择出入金而不受其它用户出入金影响。Alice和Bob协商花费。存在问题要求二者愿意配合。 因此为解决上述问题本节提出OP-DLC BitVM双桥。该方案使得用户即可通过BitVM的permissionless bridge进行入金和出金也可以通过 OP-DLC 机制入金和出金实现任意粒度找零且提高资金流动性。 在OP-DLC中预言机为BitVM联盟Alice为普通用户Bob为BitVM联盟。在设置OP-DLC时所构建的CET中给用户Alice的output可在Layer1上立即花费给Bob的output中构建一个“Alice能参与挑战的DLC游戏”并设置timelock锁定期。当Alice想要出金时 如果BitVM联盟作为预言机正确签名则Alice可在Layer1取款。但是Bob等待锁定期过后可在Layer1提款。如果BitVM联盟作为预言机作弊导致Alice利益受损。但是Alice可对Bob的UTXO发起挑战。如果挑战成功则可罚没Bob的金额。注意其它BitVM联盟成员之一也可发起挑战但Alice利益受损最有动机发起挑战。如果BitVM联盟作为预言机作弊导致Bob利益受损。但是BitVM联盟中的一个诚实成员可对“BitVM 游戏”发起挑战惩罚作弊的预言机节点。 此外当用户Alice想要从Layer2出金但是OP-DLC合约内预设的CET没有匹配的金额则Alice可选择以下方式 通过BitVM出金由BitVM operator在Layer1垫付。BitVM bridge假设为BitVM联盟中有一个诚实参与方。通过OP-DLC中的某个CET出金同时剩余的找零由BitVM operator在Layer1垫付。OP-DLC出金会关闭DLC通道但DLC通道中剩余的资金会转向BitVM Layer1资金池而不会强迫其他Layer2用户出金。OP-DLC bridge信任假设为通道内有一个诚实参与方。Alice和Bob协商花费无需预言机参与要求Bob配合。 因此OP-DLC BitVM双桥具有以下优势 使用BitVM解决了DLC通道资金找零问题降低CET的设置数量且不受CET资金粒度影响将OP-DLC bridge和BitVM bridge结合为用户提供多种出金入金通道任意粒度找零将BitVM联盟设置为Bob和预言机通过OP机制使得预言机信任最小化将DLC通道的出金余量引入到BitVM bridge资金池提升资金利用率。
  3. 结论 DLC出现在Segwit v1Taproot激活之前且已实现DLC通道与闪电网络的集成并将DLC扩展为可在同一DLC通道内更新执行连续合约。借助Taproot和BitVM等技术将可在DLC内实现更复杂的链下合约验证结算同时结合OP挑战机制实现预言机信任最小化。 参考文献 [1] Bitlayer团队博客 Bitlayer Core Technology: DLC and Its Optimization Considerations