Drivechain 比特币侧链的跨链方式在博弈之间升级安全
LayerTwo Labs
2023-09-24 08:00
订阅此专栏
收藏此文章

侧链是一种区块链的扩容方式,相对于主链而存在,比如比特币和 DriveChain 侧链,比特币是主链,DriveChain 是侧链。

一般的侧链不会产生新的 Token,而是将主链的 Token 跨链转移到侧链中来。“侧链”不是一个正式的术语,但它经常是指信任最小化的区块链,允许以外来加密资产(另一区块链的原生资产)进行支付。比特币侧链可以在比特币的激励系统干扰最小的情况下改善比特币。通过侧链可以实现的最有意义的益处是:用户资产发行、支持 DeFi 解决方案的有状态的智能合约、承诺链扩展、更快的结算终结和更高的隐私性。2016 年,Blockstream 提出将挂钩的侧链作为扩展比特币的可能途径。第一个最初的侧链概念是使用交叉链 SPV 证明(和 p2ptradex 中一样)和 alt 链的无法分割交换组合。

“转移”实际上是一种错觉: 比特币其实并没有转移,但在比特币区块链上被暂时锁定,而同时在侧链上有相同数量的等价 Token 被解锁。当等量的 Token 在侧链上被再次锁定时,原先的比特币就会被解锁。

这种实现跨链的方式被称为双向挂钩(2WP)

由于实现这个双向挂钩,需要用户将自己的比特币发送到一个其他人(公司、DAO、个人)等掌握的地址上,失去了对自己比特币的掌控权,因此,挂钩地址的所有者是否诚实、如何防止它作恶是侧链最重要的问题之一

主要的挂钩方式

1、单一托管

即信任某一机构的挂钩方式,用户将资产发送到这个机构的地址中,由机构来负责这些资产的安全以及解锁、赎回等。

这是中心化的方式,出现单点风险较大。

2、联盟挂钩侧链

联盟挂钩侧链发行原生代币,这些代币由锁定在多重签名地址中的主链代币进行抵押。此多重签名的私钥由一组职能机构创建和管理。

Liquid 和 RSK 都依赖于联盟多重签名以锁定在侧链中以侧链原生货币形式发行的比特币。两种侧链目前有 15 个正在运作的职能机构;Liquid 需要 11 个签名才能发行比特币,而 RSK 需要 8 个

如果联盟成员不能在没有明显副作用的情况下选择性地阻止任何转入挂钩或转出挂钩交易,例如阻止大量后续转入挂钩或转出挂钩交易,则双向挂钩提供全有或全无审查抵制。这一属性至关重要,因为威权政府可能会使用暗中审查来限制联盟成员。如果审查可以在没有公开通知的情况下实施,监管机构和政府可能会施加压力并迫使参与公司根据其自己的意愿和自由裁量权阻止转移。

3、SPV

在两个链之间,通过传递 SPV 信息来完成挂钩。在比特币系统中验证交易时,涉及到交易合法性检查、双重花费检查、脚本检查等。由于验证过程需要完整的 UTXO 记录,通常要由运行着完整功能节点的矿工来完成。

而很多时候,用户只关心与自己相关的那些交易,比如当用户收到其他人号称发来的比特币时,只希望能够知道交易是否合法、是否已在区块链中存在了足够的时间(即获得足够的确认),而不需要自己成为完整节点做出完整验证。

中本聪设计的简单支付验证(Simplified Payment Verification,SPV)可以实现这一点。SPV 能够以较小的代价判断某个支付交易是否已经被验证过(存在于区块链中),以及得到了多少算力保护(定位包含该交易的区块在区块链中的位置)。SPV 客户端只需要下载所有区块的区块头(Block Header),并进行简单的定位和计算工作就可以给出验证结论。

侧链协议中,用 SPV 来证明一个交易确实已经在区块链中发生过,称为 SPV 证明(SPV Proof)。一个 SPV 证明包括两部分内容:一组区块头的列表,表示工作量证明;一个特定输出(output)确实存在于某个区块中的密码学证明。

在实际过程中,可能出现矿工提交虚假的 SPV 来盗取主链资金的情况。

4、DriveChain

DriveChain 将被锁定比特币的监管权发放到比特币矿工手上,并且允许比特币矿工们投票何时解锁比特币和将解锁的比特币发送到何处。矿工投票使用比特币区块链,而且是在区块内的某些地方进行投票(例如 coinbase)。诚实矿工在 DriveChain 中的参与程度越大,安全性也就越大。下图是对 DriveChain 的描述:

在 2020 年 8 月,RSK 也升级了他们的挂钩机制为 Powpeg,采用了一种新的去中心化方法创建 RBTC。它依靠一组负责始终保持其硬件和节点连接和正常运行的 Pegnatory,但它们在交易签名中不从事任何角色。它们充当守望者,以确保将比特币存款正确通知 RSK 链。Powpeg 采用否决体制,任何一个实体或合谋集团均无法获得足够的权力以控制挂钩或或任意审查交易。

如果几乎全体比特币矿工参与到联合挖矿中,我们发现,当监管者是比特币矿工时,参与者才最有可能保持诚实。在联合挖矿的情况下,DriveChain 和侧链都完全依靠比特币矿工的诚实,并且都提供相同的安全性。然而,侧链在比特币一侧实现起来要复杂得多,所以对于比特币一侧,RSK 的最佳选择是使用 DriveChain。

当联合挖矿的参与程度低时,“DriveChain 链 / 侧链”只能提供很低的安全性。因此 DriveChain 对联合挖矿进行了优化,提出了盲联合挖矿,意在提高比特币矿工参与侧链交易验证的积极性。

DriveChain 中提出的解决方案本质上依赖于比特币矿工。这个想法是,矿工不需要运行侧链节点,就可以获取侧链的交易手续费。从主链提取资金需要进行矿工投票,在侧链的过程中,每三个月就有一次挂钩的机会。然后,侧链生成一个哈希值,该哈希值提交给侧链挂钩交易。然后,比特币矿工将获取该哈希值并将其包含在他们的 Coinbase 交易中。

这里的风险是矿工可能会作弊并插入不同的哈希值,从而进行窃取所有资金的交易。为了缓解这种情况,比特币矿工之间会进行为期六个月的投票过程。为了使侧链提款交易有效,超过 50% 的矿工必须在未来六个月内在其 coinbase 交易中投票支持提款。所有区块,无论该区块是否包含投票,都有效。

关于如何实现盲合并挖矿还有其他方案,比如 BIP-118 和“Spacechains”的结合,也同样在讨论之中。

DriveChain 的博弈

简化任意双向挂钩的安全模型,我们可以表示为,所有双向挂钩系统都有一组监管人,当侧链没有达到最终结算时,负责投票何时解锁比特币和发送解锁比特币到何处。投票可以通过数字签名、哈希算力(工作量证明机制)、存储空间(容量证明机制)、加密数字货币控股(股权证明机制)或区块链具有的任何其它共识系统。我们可以改变的每一方投票的权重、投票方的数量、任何一方被允许投票的条件、是否允许投票给一个以上的候选人,如此类推,但我们不能改变的是,该系统本质上是一场投票。

在这个系统中,要设置投票的权重,我们使用基于联合挖矿参与程度的动态方法。初期,在传统多重签名交易中只有公证人投票。到了中期,当 DriveChain 功能被添加到比特币时,无论是公证人还是矿工们都将按部就班地投票。从长远来看,当联合挖矿的参与程度达到 90%时,公证人将停止投票,而只有矿工会继续投票。这种演变如下图所示:

而这个路线,会因为 DriveChain 给矿工带来的收益增多而不断提升,从而保障资金安全。

在 Drivechain 机制下,为了提议激活一条新侧链,一个矿工要在自己的 coinbase 交易输出中放置一个 OP_RETURN 数据,包含这条侧链的唯一标识符、用于存款操作的一个公钥、版本数据、人类可读的描述、软件客户端的哈希值以及该软件的 GitHub 历史。新的侧链需要在一个难度调整期内得到 90% 的区块支持才能激活。

激活侧链之后,任何人都可以向侧链存入资金。取款则是由矿工投票来处理的。比特币主链对谁在侧链上拥有多少钱一无所知,而且主链会把任何由矿工在投票机制内认可的取款交易是有效的。因此,取款流程会很长。从某条侧链区块要经过两个节点:取款提议(成批汇集),然后是表决。矿工必须在自己的 coinbase 交易中创建一个 OP_RETURN 输出,带上取款交易的哈希值,来提出一笔取款交易。

取款提议出现后,矿工表决阶段就开始了。矿工可以支持或反对一笔取款交易。每个区块挖出时,挖出该块的矿工都可以推进一个表决计数器,可以投一个支持票,或者一个反对票,或者同时投支持和反对,就变成了保持中立。此外还有一些特殊的限制,因为一条侧链上可能有多个取款包 —— 要是某个矿工选择了为一个区块包投 “支持” 票(会让计数器增加 1),那就 必须 对同一侧链的所有其它取款包都投 “反对” 票(让计数器减少 1)。这是为了保证用户不会 “重复取款”。如果某人在多个取款包中都有输出,则允许同时支持它们可能会让该用户在主链上获得超过他本应获得的数量。

另一方面,矿工也被允许对每一个取款包投反对票。这个功能可以作为一种昭告天下的警报,某个矿工在验证这些取款包(确保他们在侧链上拥有大于等于被取出的数量)时发现了无效交易就可以使用。

Drivechain 设计的关键在于,矿工不必验证侧链上的任何东西,所以除非他们真的发现了,不然许多矿工都会选择给自己没有验证过的取款包投支持票。这个警报功能是为了警告他们,让他们自己验证取款包以保证没有发生欺诈。

在某种程度上,任何已知的转出挂钩系统下,例如:欺诈证明、实际证明或中央侧链管理员签署提款的证明,比特币矿工都可以审查数据、伪造数据或与管理员合作并窃取侧链比特币。因此,BIP-300 并没有构建那些可能不必要的安全系统,而是直接向比特币矿工授予提现的权力。另一方面,使用默克尔根和哈希函数添加一个简单的实际证明,会让矿工窃取资金变得更加复杂。

而同时,在矿工与矿工之间,盗窃与获取手续费之间,都存在着博弈,理智的矿工会选择进行诚实的工作。

参考资料

  1. https://www.iovlabs.org/zh-Hans/press/rsk-launches-powpeg-a-decentralized-pegging-mechanism

  2. https://www.defidaonews.com/article/86012

  3. https://blog.rootstock.io/zh-hans/noticia/the-cutting-edge-of-sidechains-liquid-and-rsk/

  4. https://www.btcstudy.org/2022/07/29/drivechains-allow-sidechain-node-miners/


【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

LayerTwo Labs
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开