6.6 侧链

侧链 (sidechain)协议允许资产在比特币区块链(blockchain)和其他区块链之间互转。这一项目也来自比特币社区,最早是在2013年12月 提出的,2014年4月立项,由Blockstream公司主导研发。侧链协议于2014年10月在白皮书《Enabling Blockchain Innovations with Pegged Sidechains》中公开。

侧链诞生前,众多“山寨币”的出现正在碎片化整个数字货币市场,再加上以太坊等项目的竞争,一些比特币开发者希望借助侧链的形式扩展比特币的底层协议。

简单来讲,以比特币区块链作为主链 (parent chain),其他区块链作为侧链,二者通过双向挂钩 (two-way peg),实现比特币从主链转移到侧链进行流通。

侧链可以是一个独立的区块链,有自己按需定制的账本、共识机制、交易类型、脚本和合约的支持等。侧链不能发行比特币,但 可以通过支持与比特币区块链挂钩来引入和流通一定数量的比特币。当比特币在侧链流通时,主链上对应的比特币会被锁定,直到比特币从侧链回到主链。可以看 到,侧链机制可将一些定制化或高频的交易放到比特币主链之外进行,实现了比特币区块链的扩展。如图6-5所示。

image.png

在描述侧链协议的工作原理前,首先介绍侧链中用到的简单支付验证证明(SPV Proof)。

6.6.1 SPV证明

如前面章节所述,在比特币系统中验证交易时,涉及交易合法性检查、双重花费检查、脚本检查等。由于验证过程需要完整的UTXO记录,通常要由运行着完整功能节点的矿工来完成。

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

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

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

6.6.2 双向挂钩

侧链协议的设计难点在于如何让资产在主链和侧链之间安全流转。简而言之,接受资产的链必须确保发送资产的链上的币被可靠锁定。

具体来说,协议采用双向挂钩机制实现比特币向侧链的转移和返回。主链和侧链需要对对方的特定交易做SPV验证。完整过程如下(参见图6-6):

image.png

图6-6 侧链双向挂钩的过程

1)当用户要向侧链转移比特币时,首先在主链创建交易,待转移的比特币被发往一个特殊的输出,这些比特币在主链上被锁定;

2)等待一段确认期,使得上述交易获得足够的工作量确认;

3)用户在侧链创建交易提取比特币,需要在这笔交易的输入指明上述主链被锁定的输出,并提供足够的SPV证明;

4)等待一段竞争期,防止双重花费攻击;

5)比特币在侧链上自由流通;

6)当用户想让比特币返回主链时,采取类似的动作。首先在侧链创建交易,待返回的比特币被发往一个特殊的输出。等待一段确认期后,在主链用足够的对侧链输出的SPV证明来解锁最早被锁定的输出。等待一段竞争期后,主链比特币恢复流通。

6.6.3 最新进展

侧链技术最早由Blockstream公司进行探索,于2015年10月联合合作伙伴发布了基于侧链的商业化应用Liquid。

经过一年多的探索,Blockstream于2017年1月发表文章《Strong Federations:An Interoperable Blockchain Solution to Centralized Third Party Risks》,被称为对侧链早期白皮书的补充和改良。白皮书中着重描述了联合挂钩(Federated Peg)的相关概念和应用。

此外,还有一些其他公司或组织也在探索如何合理地应用侧链技术,包括ConsenSys、Rootstock、Lisk等。


来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=949

'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })();
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值