为了不让更多第三方参与双向锚定,每个区块链可以通过协议来实现强制执行的共识。一个区块链系统性能能够理解其它区块链的共识系统,能够实现在获得其它区块链系统提供的锁定交易证明之后,自动释放比特币。
描述:
然而,当使用比特币的侧链时存在几个问题:
大多数公共区块链没有最终结算方案。如果第二层区块链也没有最终结算方案,那么比特币区块链就不能确认第二层区块链的交易是否被第二层区块链网络所接受。(例如:锁定第二层链代币(secoins))它所能得到的只是一个概率保证:越多的工作量证明被用来验证一个交易,就意味着它越有可能已经被接受。
即使第二层区块链有最终结算方案,如果没有区块链纠缠(见下一节)那么第二层区块链将遇到与比特币区块链相同的问题。如果存在纠缠,那么第二层区块链的出块率不能高于比特币的出块率。
比特币的侧链需要一个软分叉或者硬分叉来添加新的复杂 *** 作码。Blockstream的方案现在是不完整的,没有解决简单支付验证(SPV)证明的工作量证明(POW)的验证问题。
区块链纠缠
解决双向锚定缺乏最终交易确认问题的一种方式是区块链纠缠,例如在第一层区块链中锁定交易的被撤消,就等同于第二层区块链中解锁交易的撤消。有几种区块链纠缠的方式:
1. 第二层区块链的交易被嵌入到第一层区块链的交易中(例如嵌入到OP_RETURN 支付载荷中,像合约币(Counterparty))
2. 第二层区块链的区块有两个父块,一个在第二层区块链,一个在第一层区块链。第二层区块链节点验证第一层区块链里的父块是否是在比特币的最长链。
3. 第二层区块链的区块被锚定在被监管的第一层区块链的加密交易中。提供确认区块头部信息(header),因为第二层区块链客户端也保存了一份比特币区块链的副本(第一种方式中的整个区块链,第二种方式是只保存区块头
部信息)。而第三种方式并不可行。下图显示了侧链将比特币转移到第二层区块链中而无需额外确认(以比特币尽可能快的速度):
区块链纠缠有以下几个缺点:
它阻止了第二层区块链以比比特币更高的速率创建区块,因为在锚定前,区块链分支的接受情况存在不确定性。有可能出现描定的是一条短链,而不是锚定在最长链吗?
在比特币交易中嵌入了第二层区块链的交易时,第二层区块链的所有用户都需要处理两个链的交易。
区块链纠缠解决了最终结算方案的某方面问题,但没有解决第一层区块链中被锁定的比特币的监管问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)