今天讲讲侧链(SideChain)技术。
1
侧链的诞生
2014年10月,BTC的开发者发布了白皮书《Enabling Blockchain Innovations with Pegged Sidechains》,第一次提出了侧链的概念和它的实现方案。此后,由ConsenSys团队提出的BTC Relay,被公认为区块链历史上第一条侧链,它的原理是把以太坊与比特币网络以一种安全、去中心化的方式联系起来。
2
侧链是什么
侧链是一种跨区块链方案。这种方案允许数字资产在两条区块链之间相互转移。
当然,有侧链,必有主链。主链和侧链是相对而言的。如果比特币想转移到以太坊上面,那么在它们之间建立了一个侧链协议之后,比特币网络是主链,以太坊成为侧链;BRC要转移到以太坊上的话,它们之间的侧链方案实现后,以太坊是主链,Baer Chain就是侧链。
3
为什么需要侧链
由于区块链的结构特点,如果直接在原有网络上添加功能,极有可能导致网络拥堵,甚至资产流失。侧链就可以避免这些问题。侧链协议可以让新功能在其他区块链上实现,然后让这个加载有新功能的区块链和现有的区块链连接。不影响网络稳定和各自的安全
“闪电网络”就是在这个背景下产生,它提高了数字资产的交易效率,解决交易规模小、实时支付、小额支付等关键的应用问题。
所以说,侧链提供了一种安全的区块链升级方式,对主链进行功能补充或者拓展,如果主链的运行效率较低下,可以把主链的部分功能转移到侧链之上。由于侧链是独立的,当侧链出现安全问题时,主链不受影响。
4
侧链实现方案
那么,侧链方案怎样实现呢?
双向锚定(Two-way Peg)技术是关键。双向锚定是指,把主链上某笔资产发送到一个特定地址,这样一来,这笔资产被锁定;同时,在侧链上提供这笔“锁定交易”发生的证据,等量的数字资产就会在侧链上被释放,可以在侧链上进行交易了。反之亦然。双向锚定技术的实现,一大难点是协议升级的内容需要兼容现在的主链,也就是说,不能对主链的运行带来影响。具体实现方式如下:
1)单一托管模式
这是现阶段最简单的在区块链之间转移数字资产的方式:将主链上的资产发送到一个单一托管方(比如交易平台),托管方收到这笔资产后,在侧链上激活等额资产,这笔资产就能在侧链上流通了。使用之后,剩下的数字资产经过同样的流程,被返还到主链上。下图展示的就是单一托管模式示。
单一托管模式的缺点是过于中心化。
2)联盟托管
联盟托管与单一托管相似,只是资产的托管方从单一实体变为了一个由多方组成的联盟,他们都是公证人,所以叫公证人联盟。每个公证人都会各自对这笔资产转移进行数字签名(多重签名)。联盟托管模式示意图如下:
因为运用了多重签名,联盟托管模式相对来说较安全。如果有人试图盗取被锁定的资产,需要攻破更多的公证人节点,难度很大。但同时,它只是一个弱中心化的方案,有点像DPoS共识机制。如果公证人联盟内部统一了意见,发动盗窃行为,危险还是很大的。
3)SPV
以上两种方案都是通过中间人来保证安全的。但是,它们要么是中心化的,要么是弱中心化的,风险始终很大,并且与区块链通过去中心化和密码学手段来保证安全的初衷背道而驰。
有没有更加安全、去中心化的方式呢?有,那就是SPV (Simplified Payment Verification),即简单支付验证。
SPV的运行逻辑:首先,将主链的资产发送到一个特定的输出地址,这个地址包含侧链的一些信息。经过一段时间的确认等待期,交易被确认,主链就发送SPV证明到侧链上,侧链生成一个引用该输出的交易。这个确认等待期是一个根据侧链特点而产生的安全参数,是必需的,目的是在跨链交易的速度和安全性之间进行平衡。
转移到侧链上的资产不能立即在侧链上使用,还需一个延迟的“竞赛期”。竞赛期的目的是防止双花。在这个延迟期内的任何时刻,如果有另一个相同的SPV证明发布,而主链上新产生的区块不包含这个信息,那么这笔资产转移将被确认为无效。
SPV证明发布在侧链上,是为了证明主链上数字资产已经被锁住;得到验证之后,等值的数字资产就可以在侧链上被打开了。资产返回主链也是重复相同的过程。
SPV模式的问题是需要对主链进行软分叉。
5
结语
互联网的中心化特征,使得其安全性成为人们的忧虑。人们希望去中心化的区块链可以替代互联网,带来多种多样的应用,而这要求不同的区块链也可以如因特网那样进行频繁、高速以及丰富的的交互,即增强区块链的可扩展性,侧链技术即为此而生。
侧链技术大大提升了区块链的应用范围:支持多种资产类型,小微支付、智能合约、安全处理机制、财产注册等,并可以增强区块链的隐私保护。侧链技术还可以帮助建立各种智能化的应用,如金融合约,股票、期货、衍生品等。