区块链 侧链

admin
admin 2019年08月26日
  • 在其它设备中阅读本文章

虽然区块链技术目前正在快速发展,但是传统区块链技术要落地到商业应用,特别是金融应用,仍然存在很多问题需要解决,如交易性能、隐私保护等。解决这些问题的一种做法是重新开发新的区块链,但是这种做法会造成大量重复性工作,并且需要不断的发行新的数字资产。那么是否存在在不影响原有区块链工作的基础上,依托于原有区块链进行技术升级的解决方案,侧链就是在这种需求背景下被提出的。

基础概念

侧链协议本质上是一种跨区块链解决方案。通过这种解决方案,可以实现数字资产从第一个区块链到第二个区块链的转移,又可以在稍后的时间点从第二个区块链安全返回到第一个区块链。其中第一个区块链通常被称为主区块链或者 主链 ,每二个区块链则被称为 侧链 。最初,主链通常指的是比特币区块链,而现在主链可以是任何区块链。侧链协议被设想为一种允许数字资产在主链与侧链之间进行转移的方式,这种技术为开发区块链技术的新型应用和实验打开了一扇大门。

产生背景

2012 年,在比特币聊天室中,首次出现了关于侧链概念的相关讨论。当时比特币的核心开发团队正在考虑如何可以安全的升级比特币协议,以增加新的功能,但是直接在比特币区块链上进行功能添加比较危险,因为如果新功能在实践中发生软件故障,则会对现有的比特币网络造成严重影响。另外,由于比特币的网络结构特性,如果进行较大规模的改动,还需要获得多数比特币矿工的支持。这时,比特币核心开发者便提出了侧链方案。这种技术允许开发人员将新功能附加在其他的区块链,但是这些区块链仍然附着在现有比特币区块链上。这些区块链中新功能可以充分利用现有比特币的网络特性,而不会对现有的比特币网络造成危害。
2014 年,这时已经出现了许多具有新功能的区块链,并产生了各种竞争币,如莱特币、狗狗币等。这时,比特币的核心开发团队担心这些竞争币的产生会稀释比特币的价值。他们认为,应该把比特币作为一种储备货币,并将新功能添加到侧链上。这样如果用户想使用其他的新的区块链功能,就不需要购买其他代币。为了将侧链由概念转化成现实,Adam Back、Matt Corallo 等比特币核心开发者共同发起成立了 Blockstream 公司,并在同年十月,发布了白皮书《Enabling Blockchain Innovations with Pegged Sidechains》,首次明确提出了侧链的概念及其协议实现方案。通过侧链,可以在主链的基础上,进行交易隐私保护技术、智能合约等新功能的添加,这样可以让用户访问大量的新型服务,并且对现有主链的工作并不造成影响。另外,侧链也提供了一种更安全的协议升级方式,当侧链发生灾难性的问题时,主链依然安然无恙。

实现方案

侧链实现的技术基础是 双向锚定 (Two-way Peg),通过双向锚定技术,可以实现暂时的将数字资产在主链中锁定,同时将等价的数字资产在侧链中释放,同样当等价的数字资产在侧链中被锁定的时候,主链的数字资产也可以被释放。双向锚定实现的最大难点是协议改造需兼容现有主链,也就是不能对现有主链的工作造成影响,其具体实现方式可以分为以下几类:
(一)单一托管模式最简单的实现主链与侧链双向锚定的方法就是通过将数字资产发送到一个主链单一托管方(类似于交易所),当单一托管方收到相关信息后,就在侧链上激活相应数字资产。这个解决方案的最大问题是过于中心化。比特币为主链的单一托管模式的工作原理示意图:
9623214-3175d72fadee94.jpg
(二)联盟模式联盟模式是使用公证人联盟来取代单一的保管方,利用公证人联盟的多重签名对侧链的数字资产流动进行确认。在这种模式中,如果要想盗窃主链上冻结的数字资产就需要突破更多的机构,但是侧链安全仍然取决于公证人联盟的诚实度。以比特币为主链的联盟模式的工作示意图:
2.jpg
单一托管模式与联盟模式的最大优点是它们不需要对现有的比特币协议进行任何的改变。
(三)SPV 模式
SPV(Simplified Payment Verification)模式是最初的侧链白皮书《Enabling Blockchain Innovations with Pegged Sidechains》中的去中心化双向锚定技术最初设想。SPV 是一种用于证明交易存在的方法,通过少量数据就可以验证某个特定区块中交易是否存在。在 SPV 模式中,用户在主链上将数字资产发送到主链的一个特殊的地址,这样做会锁定主链的数字资产,该输出仍然会被锁定在可能的竞争期间内,以确认相应的交易已经完成,随后会创建一个 SPV 证明并发送到侧链上。此刻,一个对应的带有 SPV 证明的交易会出现在侧链上,同时验证主链上的数字资产已经被锁住,然后就可以在侧链上打开具有相同价值的另一种数字资产。这种数字资产的使用和改变在稍后会被送回主链。当这种数字资产返回到主链上时,该过程会进行重复。它们被发送到侧链上锁定的输出中,在一定的等待时间后,就可以创建一个 SPV 证明,来将其发送回主区块链上,以解锁主链上的数字资产。SPV 模式存在的问题是需要对主链进行软分叉。以比特币主链的 SPV 模式的工作流程示意图:
3.jpg
(四)驱动链模式
驱动链概念是由 Bitcoin Hivemind 创始人 Paul Sztorc 提出的。在驱动链中,矿工作为‘算法代理监护人’,对侧链当前的状态进行检测。换句话说,矿工本质上就是资金托管方,驱动链将被锁定数字资产的监管权发放到数字资产矿工手上,并且允许矿工们投票何时解锁数字资产和将解锁的数字资产发送到何处。矿工观察侧链的状态,当他们收到来自侧链的要求时,他们会执行协调协议以确保他们对要求的真实性达成一致。诚实矿工在驱动链中的参与程度越高,整体系统安全性也就越大。如同 SPV 侧链一样,驱动链也需要对主链进行软分叉。以比特币为主链的驱动链模式的工作流程示意图:
4.jpg
(五)混合模式
上述所有的模式都是对称的,而混合模式则是将上述获得双向锚定的方法进行有效的结合的模式。由于主链与侧链在实现机制存在本质的不同, 所以对称的双向锚定模型可能是不够完善的。混合模式是在主链和侧链使用不同的解锁方法,例如在侧链上使用 SPV 模式,而在主链网络上则使用驱动链模式。同样,混合模式也需要对主链进行软分叉。

典型范例

目前,比较著名的侧链包括基于比特币网络的侧链 BTC Relay、Rootstock 的 Liquid,以及非比特币的侧链如 Lisk 和国内的 Asch 等。
BTC Relay 是由 ConsenSys 的推出的基于以太坊区块链的智能合约的侧链解决方案。BTC Relay 把以太坊网络与比特币网络以一种安全去中心化的方式连接起来。BTC Relay 通过使用以太坊的智能合约功能允许用户在以太坊区块链上验证比特币交易。以太坊 DApp 开发者可以从智能合约向 BTC Relay 进行 API 调用来验证比特币网络活动。
RootStock 是一个建立在比特币区块链上的智能合约分布式平台。它的目标是将复杂的智能合约实施为一个侧链,为核心比特币网络增加价值和功能。RootStock 实现了以太坊虚拟机的一个改进版本,它将作为比特币的一个侧链,使用了一种可转换为比特币的代币作为智能合约的“燃料”
Liquid 是 Blockstream 的开源侧链项目,使用了比特币双向锚定技术,Liquid 目的是实现使得比特币可以在主链和侧链中互转,旨在提高隐私性、降低成本、加速交易所和经纪商之间的价值转移及结算流程。
Lisk 是一个致力于为 JavaScript 开发者提供创建分布式应用程序的区块链平台,由德国的 Max Kordek 和 Oliver Beddows 于 2016 年初成立。它把每一个分布式应用程序都会在其自己且独一无二的区块链,也就是侧链上运行,这种封装使得主要的 Lisk 的主网高效,迅速和精简
Asch 是国内推出的一个基于侧链技术的去中心化应用平台,由单青峰于 2016 年初成立。Asch 平台提供的服务包括一个主链和一套应用软件开发工具包。Asch 的主链主要负责构建基础设施、应用间的数据共享以及资产路由,应用软件开发工具包内置了侧链协议,主要负责构建具体的应用,通过侧链协议可以与主链进行资产互通。
LISK 是新一代的区块链平台,它把每个应用加到 LISK 的单独侧链上。用过比特币和以太坊的朋友都知道,由于比特币和以太坊只有一条主链,所有功能和数据都加入这条主链导致区块快速膨胀,超大的区块体积,超长的同步时间,这个一个很痛苦的经历。Lisk 的侧链模式给在处理高交易量下如何解决网络拥堵的问题提供了一种方法,用户只有用到相关的应用时才需要下载对应的侧链,大大减小了无效的同步数据,保持了整个 Lisk 网络的高效运行,而且,Lisk 网络的速度随着时间的推移会继续加快,越显示他的特别优势

总结

侧链是以融合的方式实现加密货币金融生态的目标,而不是像其它数字资产一样排斥现有的系统。侧链技术进一步扩展了区块链技术的应用范围和创新空间,使传统区块链可以支持多种资产类型,以及小微支付、智能合约、安全处理机制、财产注册等,并可以增强区块链的隐私保护。利用侧链,我们可以轻松的建立各种智能化的应用如金融合约,股票、期货、衍生品等。