侧链

在这里插入图片描述

一、侧链定义

侧链本身是一种协议,一种可跨区块链解决的方案,旨在实现双向锚定。
侧链(sidechains)实质上不是特指某个区块链,而是指遵守侧链协议的所有区块链的统称,该名词是相对与比特币主链来说的。侧链协议是指:可以让比特币安全地从比特币主链转移到其他区块链,又可以从其他区块链安全地返回比特币主链的一种协议。主链可以理解为是一种独立的区块链网络
优点
侧链架构的好处是代码和数据独立,不增加主链的负担,避免数据过度膨胀,实际上是一种天然的分片机制。即网络分片技术(并行化的分而治之),来实现高吞吐量。
解决两个或多个不同链上的资产以及功能状态可以互相传递、转移、交换的难题。也就是说,跨链的存在,不仅是增加了区块链的可拓展性,还可以解决不同公链之间交易困难产生的“数据孤岛”问题。

二、侧链与主链的沟通方式

侧链与主链沟通的过程被称为成为 “双向锚定”(也称“双向挂钩”,2WP)。“锚定”一词在经济学中较为常见,指双方交易中一方要以另一方的行动为基准。

在区块链中,由于比特币实际上不是简单的“转移”,而是暂时将其在比特币区块链上锁定,之后将等量等值的代币在侧链上释放。当等量等值的代币在侧链上被锁定时,比特币区块链上的原始比特币就可以被释放了。因此,“双向锚定”实际上就是一方是否解锁,要以另一方是否已经有投币行为为基准。

三、双向锚定中的管理模式

**单一托管人模式:**是一个由可信任的第三方机构来锁定、监管双方资产的模式。第三方相当中介。
在这里插入图片描述

用户想将主链上的比特币放到侧链上。那么,只需要把钱包,和侧链拥有代币的钱包共同交给交易所(第三方)管理就可以了。到时候,交易所可以来验证、监督两条链是否投在钱包里投入的等值等量的币,锁定币,继续验证,然后再释放。

联盟托管模式: 联盟模式是使用公证人联盟来取代单一的保管方,利用公证人联盟的多重签名对侧链的数字资产流动进行确认。在这种模式中,如果要想盗窃主链上冻结的数字资产就需要突破更多的机构,但是侧链安全仍然取决于公证人联盟的诚实度。

四、侧链交易验证

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

中本聪设计的SPV 能够让用户以较小的代价判断某个支付交易是否已经被验证过(存在于区块链中),以及得到了多少算力保护。SPV 客户端只需要下载所有区块的区块头,并进行简单的定位和计算工作就可以作出判断。

在交易的最后一步中,“最终确定性” ( Finality ) 非常关键。原来,当区块链使用POW (工作性证明)的共识算法时,在足够大的算力下交易是可以被撤销的。在跨链交易中,从我们刚刚举的例子来看,每一步,每一个环节,如果不能被确认,那么交易就会停止。因此,我们需要一些方法去确定上一步的交易已经成功或被撤销。

例如把我的比特币转到以太坊上,首先要把比特币在比特币区块链上转移到特定的锁定地址中。并把我在以太坊的地址附加在交易中。在此交易被矿工确定后,他们向以太坊的锚定智能合约(Peg Contract )发送 SPV 验证。验证时,我在以太坊的地址就会被提取出来。最后,交易验证成功且满足最终确定性要求时,锚定智能合约就会自动从锁定地址中转账对等的资产到我的以太坊地址。示意图如下:
在这里插入图片描述

五、侧链的安全性问题

攻击者只需要攻击最薄弱的侧链就可以破坏掉整个侧链系统,单一的侧链系统发生安全性问题,对于主链链和其他的侧链系统也会造成一定程度的影响,一旦恶意成员对某个侧链完成51%的攻击,就可以黑化一条侧链,同时生成一个伪造的最长侧链,用伪造的侧链币在主链比特币链中兑换成比特币,这样就会造成比特币的损失。
侧链只会对交易是否来自最长的链做出验证,而不会真正的去验证交易信息。

猜你喜欢

转载自blog.csdn.net/weixin_45774311/article/details/113402426