比特币挖矿的驱动链根链RSK介绍
扫描二维码
随时随地手机看文章
根链(RSK)是很特别的。根链基于这样一种基本的设计选择:必须与比特币联合挖矿。因此,我们必须分析出最佳设计。我们要考虑到:
• 哪一方控制着被锁定的比特币
• 攻击的成本是什么
• 攻击的后果是什么
• 参与的激励机制是什么
我们发现,如果几乎全体的比特币矿工都加入到联合挖矿中,当监管者是比特币矿工时,参与各方可以被激发出最高的诚实性,但只有当几乎所有矿工都参与其中。在联合挖矿的情况下,驱动链和侧链都完全依靠比特币矿工的诚实,两者的安全性是相同的。然而,侧链在比特币一侧实现起来要复杂得多,所以在比特币这一侧,根链的最佳选择是使用驱动链。而在根链这一层,我们使用侧链的方式来实现。所以从这一点来说,根链是采用混合型设计方案,可以被称为驱动链/侧链。
当矿工参与联合挖矿的程度比较低时,“驱动链/侧链”的安全性是很低的。因此,我们建议采用这样一种混合模型,其中被锁定比特币的安全性是基于驱动链外加一组公证人。矿工和公证人(拥有不同的权重)共同投票决定解锁哪些
比特币。公证人使用数字签名进行投票,而矿工则在他们的 coinbase 交易中写入一个特殊的标记进行投票。这是中心化和安全性之间的一种权衡。最终的根链双向锚定设计可以被称为“驱动链 +公证人/侧链”。我们会基于比特币全体矿工参与到联合挖矿的程度来动态调整投票权重。在初期,只有公证人才有投票权,使用传统的多重签名交易。在中期,当驱动链功能被加载到比特币时,公证人和矿工将一起参与投票。从长远来看,当90%以上的矿工参与了联合挖矿时,公证人的投票权将被删除,届时只有矿工才有投票权。这个演变的过程可以用来图来描述:
在本质上,我们建议将锁定的比特币的安全性建立在矿工和一组公证人身上,但是这两者之间的投票权重会因全体矿参与联合挖矿的程度而动态调整。
在之后文章中,我们将展示驱动链+公证人的设计是如何在比特币上实现的,只需要在比特币上植入一个单一的操作码OP_CHECK_VOTES_MULTISIG_VERIFY 。这个操作码很容易理解,编程实现也很简单,并且可以以软分叉的方式在比特币网络上部署。