【无图版】跨链、侧链报告汇总 by国脉+鲸准+节点+谢骏逸等

有图版见http://forum.daoone.org/forum.php?mod=viewthread&tid=219&page=1&extra=#pid590

侧链、跨链研究报告汇总

汇总自《最完整的跨链专题报告》by国脉科技研究院、《侧链跨链研究报告》by Node Capital+鲸准、跨链梳理之哈希锁定 by谢骏毅

一、跨链综述

1.1背景(《(跨链梳理之哈希锁定(节选)》)

互操作性(Interoperability)的标准定义是“在几乎无须用户了解各种功能单元的独特特性的情况下,这些功能单元之间进行通讯、执行程序或者传输数据的能力”。放到区块链的场景下,由于

  • 基本不可能将现实世界的所有业务场景通过映射到仅仅一两个区块链来实现
  • 之前各种乱七八糟Token项目的爆发以及快速湮灭
  • 近期一大波优秀公链项目的崛起
  • 目测越来越多的区块链会诞生出来

大家越来越意识到区块链之间互通的重要性。说的高大上一些就是成就价值互联网,说的直白些就是跨链。如果没有成熟的跨链解决方案,每条公链或Coin项目将成为孤岛,从而限制了区块链产业的发展和应用空间。

附:《侧链跨链研究报告(节选)|鲸准+节点资本》

1.2概念

跨链,顾名思义,就是通过一个技术,能让价值跨过链和链之间的障碍,进行直接的流通。跨链本质上和货币兑换是一样的。

跨链并没有改变每个区块链上的价值总额,只是不同的持有人之间进行了一个兑换而已。

跨链技术的核心要素之一是:帮助一条链上的用户Alice找到另一条链上的愿意进行兑换的用户Bob。从业务角度看,跨链技术就是一个交易所,让用户能够到交易所里进行跨链交易。

进行数字货币的交易所很早就出现了,最早交易所进行的是法币(国家发行的货币)与比特币之间的兑换。后来随着数字货币的种类越来越多,很多交易所也开始进行不同类型数字货币之间的兑换。交易所开展的不同类型数字货币之间的兑换,就是一种跨链价值转移的实现。严格来说,币币交易所就是一个跨链技术的实现。

鉴于已经发生过的多起交易所盗币、跑路的问题,单个人或者机构的信用都不足以支撑大额交易。因此,出现了无中心交易所技术——用区块链技术解决跨链时的信用难题。当交易所由多个主体共同运行,或者干脆是一个公有链,任何人都能参与到这个交易所的运行中,那么,跑路的风险就大大降低了。

1.3跨链解决思路

总体方向

总的来说跨链的工作就是为两条链建立联动,链间互通(或跨链)的解决思路相当多,比较主流的是:

  • 在链之间架一座“桥”,链A得出结果后把信息通过友谊的小桥传送到链B,链B再对信息在本地做共识。
  • 建立一个通用的协议标准,让所有愿意互联互通的链都去支持和实现这个标准。典型的“车同轨,书同文”的思路。
  • 将其他链上的价值映射和整合到某条公链。

之前的设计专注于交易、金融服务,像公证人机制、哈希锁定技术,其中需要用户或第三方在链网络之外进行更多的约定和操作,这样就使得在链网络上的操作简单化,往往能够获得超越原链性能的交易效率,像是一种手动的跨链。到之后更多的项目是注重一个底层的跨链基础平台的建设,像Polkadot、Cosmos等,建立新的区块链结构来采集传输信息,这是一种改造链结构的跨链技术。现在还有很多项目针对去中心化应用(DAPP)提供模式化的跨链接口,为应用实现多条链的兼容,像Ark、Arcblock等。

四种模式性能的对比:

四种模式的技术对比:

主要跨链项目技术对比

数据来源:国脉科技研究院

这是主要跨链项目的简单比较,项目的相关技术会在下面具体介绍,需要一提的是部分项目在支持跨链的基础上,还有更多的服务,每个方向都是针对不同的问题,各自有所侧重,不能简单地定义项目的优劣,更多应该考量项目所要实现的服务,以及所使用的跨链技术能够带来的效果。

1.4跨链技术的应用

跨链的应用场景如下:

  • 资产转移(Portable Assets):数字加密货币和资产可以在不同链中转移,抵押和使用。
  • 货银对付(Payment-versus-Delivery):即一手交钱一手交货。这里强调是一个原子性互换(Atomic Swap)原则,要么两清,要么交易失败。外汇货币间的同步交收(payment-versus-payment)也是同一个意思。这个场景应该是呼声最高的,比如去中心化交易所。但凡是个跨链项目的白皮书里都会标榜他们能做出来一个去中心化交易所,其实是个再自然不过的事。
  • 跨链预言机(Cross-chain Oracle):链A的智能合约的触发和执行依赖于来自于链B的预言机的信息。链A需要能读取链B的事件、状态等数据。
  • 资产留置(Asset Encumbrances):链A上的资产被锁定,并且解锁条件依赖于链B上的行为。类似于金融中的产权抵押,侧链中的双向锚定也有这个意思。
  • 通用跨链合约(General Cross-chain Contract):比如根据链A上的资产证明来在链B上用B的货币来分配发放红利。
  • 跨链交易所:对于协议不直接支持跨链操作的区块链进行补充
  • 跨链执行合约:例如根据链A的股权证明在链B上分发股息。

详尽介绍和案例分析:四种主流的跨链技术

1、公证人机制(Notary schemes)

2、侧链/中继(Sidechains/relays)

3、哈希锁定(Hash-locking)

4、分布式私钥控制(Distributed private key control),Wanchain、Fusion所使用,类似公证人机制的改进版本

1.3.1公证人机制(Notary schemes)

公证人机制(Notary schemes)是一种十分自然的跨链技术的思路,简单来说就是将难处理的问题交给中间人来处理,在无法信任对方的情况下,寻求一个双方都能够信任的公证人,经由公证人签订双方的协议,协议的兑现由公证人监督,这就与现实中的中介相似,那么运用这种机制的核心就在于公证人的选择。

0x协议

公证人的选择必须能够被双方信任,而信任问题也正是区块链技术的一个关键点和价值所在,所以较为理想化的方法是设计一条链,在链上为交易建立严格的智能合约,通过验证智能合约来保证交易,信任源于代码,不需要具体的实体来充当公证人。

图 0xProject跨链流程

[color=rgba(0, 0, 0, 0.741176)]

图片来源:0xProject白皮书

如图所示,0x协议就是采用了这样的一种思路,将原链上的通证余额交由去中心的交易协议(图中的DEX),然后建立交易的智能合约来约定汇率等交易细节,在去中心的交易协议拿到双方的通证后,验证交易协议,然后交换双方的通证。

这种机制安全性高,项目规模小难度中等,但使用范围较小,功能较少,仅适用于数字货币的币币交易,由于法币不能支持智能合约,因此不能支持法币,不支持信息传递。而且去中心化的交易协议要如何控制不同链的币这是一个难点,在具体的应用中,0xProject限定了以太坊的链平台,为以太坊平台上的DApp(Decentralized App)的通证来提供交换协议,降低了难度,未来若是希望和比特币网络或是其它网络联结还是有很大的难度。

中心化交易所

还有一种公证人更为人们所熟知,就是传统的交易所,在交易双方都信任交易所的前提下,需要兑换的币可以直接交给交易所,不需要复杂的结构,由交易所来发布和匹配需求,这种方法中心化,安全性取决于交易所,但方法简单,适用性广,速度快,不仅是验证速度快,由于这种跨链交易方式仍然是目前最广为接受的方式,拥有最大的交易流量,因此成交速度也快,未来在跨链交易中,中心化交易所的地位还是不可撼动。这种方式的典型案例为Ripple项目。

Ripple采用Interledger协议,通过将部分的内部账本映射外部账本,来联结不同交易所的账本,保证了各自账本的安全独立,实现了账本间的协同工作,是一种实现交易所间协作的协议,可以让支持不同币种的交易所协作互通,实现更多币种的兑换,尤为难得的是ripple已经和一些法币的银行达成了合约,在协议的框架下,法币的外汇在不同的法币银行间也能够相互协作,流通简单,降低外汇工作成本。

总的来说,在币币交易方面,传统交易所还是最容易实现也是大众容易接受的,还能够提供资产管理等金融服务。在法币方面,ripple打开了法币外汇的新渠道,未来一两年向更多种类的法币铺开,在国家政策允许的情况下,会成为法币外汇更便捷的方式。

1.3.2侧链/中继(Sidechains/relays)

侧链是一种链结构,需要锚定原链,从原链的数据流上提取特定的信息,组成一种新的链结构,并不是原链的分叉,而是跟随原链发展。中继Relay则是跨链交互方式或者说是渠道,通过中继,可以从一条链向另一条链传递信息,“直接”的想法就是设计特定结构的侧链来实现中继的需求。不论是侧链还是中继,最基本的需要是采集原链数据,因此往往会有一个listener的角色。

附:鲸准+节点资本《侧链跨链研究报告(节选)》

侧链(sidechain)

a.侧链的概念

早在比特币诞生初期,人们就意识到比特币在转账速度、容量以及智能合约等方面的不足,如果说能建立比特币账本的一个副本,就像以前许多法定货币由黄金担保一样,在需要的时候资产可以在两个区块链之间相互转换,就可以加速比特币或者其他数字资产的流动性。在继续基于公共区块链的比特币信用证明的同时,侧链也能支持完成一些更为复杂的应用操作。

比特币与比特币侧链都使用比特币作为系统货币。其实质是通过“双向锚定”机制实现主链货币价值向侧链体系的转移,从而在侧链上使用这部分从主链转移过来的主链货币的价值,至于以这部分主链货币价值背书而产生、发行的侧链货币的名称,则可以按需自由命名。

侧链协议可以帮助比特币在其他区块链上流通,其应用范围和应用前景会更加广泛。有创意的人们会研发出各种各样的应用以侧链协议与比特币主链对接,使得比特币这种基准自由货币的地位越牢固。

b.侧链的历史

侧链协议产生的原动力其实来源于其他区块链的创新威胁。

首先,以太坊(Ethereum)、比特股(Bitshares)等更快、更智能的区块链对比特币产生相当大的威胁,智能合约和各种去中心化应用在以上两个区块链上兴起,受到人们欢迎;而基于比特币的应用则因为开发难度大,项目不多。

其次,基于比特币区块链也有合约币(Counterparty)、万事达币(Mastercoin)和彩色币(ColoredCoin)等附生链,但是比特币核心开发组并不欢迎,觉得它们降低了比特币区块链的安全性。他们曾经一度把OP_RETURN的数据区减少到40字节,逼迫合约币开发团队改用其他方式在比特币交易中附带数据。

最后,2014年7月份以太坊众筹时,获得了价值1.4亿人民币的比特币,还有20%的以太币,开发团队获得了巨大的回报。但是比特币核心开发组并没有因为他们辛勤工作获得可观回报,因而他们成立了    BlockStream,拟实现商业化价值。

基于以上三个原因,研发团队提出侧链协议、把比特币转出比特币区块链、另行开发二代区块链,这样的选择既能保证比特币区块链的安全,又能应对二代币的冲击,还能针对不同应用场景实现商业化,因而成了BlockStream的必然选择。

c.双向挂钩技术

双向挂钩(2WP)是侧链实现的核心原理。

它允许将比特币从比特币区块链转移到辅助区块链,反之亦然。

“转移”实际上是一种错觉:比特币其实并没有转移,但在比特币区块链上被暂时锁定,而同时在辅助区块链上有相同数量的等价令牌被解锁。当等量的令牌在辅助区块链上被再次锁定时,原先的比特币就会被解锁。这实质上就是双向挂钩所要实现的功能。

这一功能的问题是,理论上只有当辅助区块链最终结算时才能被实现。因此,任何双向挂钩系统必须作出妥协并且依靠于假设双向挂钩相关参与者是诚实的。最重要的假设是,主要的区块链是无需审查的,而且大多数比特币矿工都是诚实的。另一个需要的假设可能是,大多数监管锁定比特币的第三方也是诚实的。

如果这些假设不成立,则比特币及等效辅助区块链的令牌可以被同时解锁,那么恶意的双花就变得可行了。

任何双向挂钩系统都必须选择一种措施,使得被假设要诚实的各方都能在经济和法律方面受鼓励去依章办事。这包括分析这些关键方对区块链网络进行攻击的成本及后果。双向挂钩实施的安全性取决于激励机制,以便参与双向挂钩系统的关键方能够真正执行双向挂钩所应实现功能。

双向挂钩技术可通过以下四项技术实现:单一托管、联盟模式、SPV模式、驱动链模式和混合式设计。

中继Relay

a.BTC relay

BTC relay是公认最早的一个区块链上的侧链,它是锚定的比特币链,将比特币链的信息中继给以太坊的智能合约DApp,通过验证中继来的比特币信息,来实现在以太坊DApp内的BTC消费。

图 BTC relay原理图

图片来源:http://btcrelay.org

在实际应用中,BTC relay的侧链采集的是BTC链上的区块头信息,通过区块头信息可以为唯一地标识BTC链上的一个区块,但事实上单独的区块头并没有足够的信息来独立地验证交易,因此用户提交的BTC交易还需要根据所在的区块头,从完整的BTC区块链上获得对应区块数据,进而验证交易数据,当然在整个比特币网络中,在大多数节点诚实的条件下,根据区块头信息找到对应的区块,获得希望的交易数据,这是简单的。

所以其实BTC relay并没有为智能合约中继验证交易所需要的交易信息,而是记录一条BTC区块链为有效的链,用户提供在这条BTC链上的交易记录,然后以太坊的智能合约需要向完整的BTC网络请求验证,再兑现以太坊中的通证。所以这并没有实现完整的中继跨链技术,而是建立在以太坊上,以智能合约为核心的交易所,交易信息的获取需要智能合约主动请求比特币原链网络,而不是由侧链中继而来,但这也是侧链结构的有意义的尝试。

b.RootStock

RootStock的目标是扩展比特币的功能,提高比特币网络性能和延展性,并为比特币提供智能合约的支持,所以RSK与比特币采用双向锚定的机制,在比特币网络中先通过锁定交易,将比特币锁定,同时在RSK的链上将等值的SBTC解锁,SBTC在RSK网络上可以用于智能合约的“燃料”,当SBTC在RSK网络上再次锁定时,会在比特币网络中解锁等量的BTC,因此在每个时刻,锁定的BTC和RSK网络中的可用SBTC总是等量的。

通过比较可以发现,在原链上设定锁定交易或是锁定账户是一种十分通用的方法,各种方法的区别主要在于锁定账户的实际控制权归属,像中心化交易所是由交易所控制账户,fusion、cosmos等则是由几个验证人控制,而RSK以及之后讲到的闪电网络则是通过一定的智能合约或者说是规则来控制,所以RSK的网络思想与闪电网络相似,但不同于闪电网络的核心技术哈希锁定,而RSK是与比特币锚定,作为比特币网络的侧链,在RSK网络中则是建设成与以太坊类似的智能合约平台,SBTC作为网络的数字货币,从而实现了比特币的功能扩展。

在RSK的网络中也是采用了与比特币网络的相同的Pow共识来控制锁定账户,即绝大多数人来控制,保持与比特币网络相同的安全模式,事实上侧链技术可以提供很高的可扩展性,RSK网络是建成智能合约的平台,也可以有更多的侧链帮助比特币网络扩展不同的功能,跨链就是其中的一种,新建的侧链可以设计成跨链专用链,通过一定的智能合约,连接其他的区块链,在侧链上完成跨链的工作,之后再从侧链回到比特币主网络提现,当然RSK上就能开发这样的智能合约。

总的来说RSK已经是侧链技术的较成功范例,但双向锚定也有一定的不便,与其他链的跨链交易,不可能再锚定其他链的通证,必须要建立安全可靠的智能合约,为了降低沟通难度,较好的方案是其他链也需要建立各自的侧链,侧链与侧链之间采用统一的交互协议来沟通,这与下面要介绍的Polkadot和Cosmos就比较接近了。

c. Polkadot

Polkadot试图建立的是十分完善庞大的跨链中继结构,从而能够使得各个区块链能够互通信息,在Polkadot中,现有的区块链被称为平行链,而Polkadot建立的是一个中继链,联结所有的平行链。在这个结构中,原链会保持原有的协议各自运行不受影响,结构中设立收集人的角色,即listener,负责从原链中收集需要中继的交易,打包成一个区块,类似矿工,然后将区块提交给中继链中负责验证该链的验证人,验证通过后,路由转发交易给目的链。

图 Polkadot系统结构

图片来源:http://chainx.org/paper/index/index/id/7.html(Polkadot白皮书翻译)

如图,在Polkadot中的跨链行为可以很简单的理解,需要跨链的信息会在原链中被收集人收集,交由中继链验证人路由转发到目的链,成为一个可以被目的链账户执行的信息,至于钓鱼人的角色主要是监督。

总体思路清晰,对原链结构没有特殊要求,因此适用范围广,过程看似很简单,但实际实现的过程中还有许多需要思考的问题,一个关键是验证人的中心化问题,由于验证人是一个高权限又中心化的角色,如何监督举报验证人,防止收集人与验证人的合谋,对于中心化验证人的管理还需要设计一个更加中心的管理机构,验证人的工作效率以及原链的效率都会限制跨链交互的效率等诸多细节问题,这都还需要Polkadot谨慎地设计。

总的来说,Polkadot的结构是跨链交互很直观的结构,但在实际应用中还有很多的技术细节需要仔细斟酌,否则未来也会像比特币一样面临扩容等问题,理想的情况下,Polkadot可以让所有区块链都实现互通。

d.Cosmos

Cosmos是一种多区块链组合的网络架构,其核心之一是Tendermint共识算法(已由程序Tendermint Core实现),可以简单地理解成由多个验证人轮流出块,验证人们对候选块投票,当一个候选块得票超过2/3时,即认为该块完成共识。由Tendermint共识就带来了Cosmos另一个核心,轻客户端,不同于POW共识需要验证从头到尾的区块头,Tendermint的轻客户端只需要更新验证人的集合,验证工作全部交由验证人,每个账户会有自己的余额数据,轻客户端只需要向验证人请求最新的区块头。

在Cosmos的架构中,所有平行区块链都使用Tendermint算法,第一条链是Cosmos Hub,其余链都看成是不同空间Zone,空间可以有自己的管理策略,但必须向中心提交最新的区块,由中心负责管理沟通众多独立的空间,通过一个区块链间通信IBC的方法进行沟通,IBC可以简单拆为两个部分,一个是IBCBlockCommitTx,用来向目的链更新最新的区块,另一个则是IBCPacketTx,用来传递跨链交易。两个空间间的跨链被分为两次IBC,是两个空间各自和中心间的IBC,希望跨链的交易会在交易命令中指明目的链,然后交由中心Hub转发。

图 Cosmos系统结构

图片来源:Cosmos白皮书

从Cosmos的架构来看,空间虽然是一个个独立的区块链,但是和现有的独立区块链都不同,现有的以太坊等区块链的用户需要将自己的通证挂载到Cosmos的空间上,Cosmos计划是设立专门的空间bridge-zone用来和外链进行挂钩,bridge-zone跟进外链的更新(验证外链进入zone的外链币是否有效),外链的用户将自己希望挂载的外链币发送给bridge-zone在外链的“账户”,这个账户是由bridge-zone的验证人“多重签名”持有(并不一定是账户可以是智能合约,也不一定是密码学中的多重签名)。

举例来说,在以太坊的区块链上,使用一个bridge-contract的地址,仅接受bridge-zone的IBC packet从bridge-contract中提币,以太坊的用户将自己的ether发给bridge-contract,然后bridge-zone会创建该ether的账户,将ether符号转给用户在Cosmos中的账户,提币时用户从bridge-zone得到IBC包,将包发给bridge-contract就可以得到相应的ether存到以太坊的账户中,当IBC包被使用后,对应的Cosmos账户中会被销毁对应的ether符号。在比特币等只能支持底层认领合约的区块链中,可以采用多重签名的认领机制。

空间和原链是独立的,从链的结构来看,空间的链是原链的一个侧链,众多的空间侧链由Hub做中继联结在一起。但在原链眼中空间只是一个用户,空间用户在空间中的交易并不受原链或是智能合约管理,而是受空间的验证人管理,验证人虽然不能盗用空间中用户的账户,但可以直接在原链中提走空间的资产(需要2/3的验证人),所以从这个角度看,Cosmos跨链交易的本质是数个多中心交易所间的协作,整个Cosmos网络的数字货币资产其实都是由该币种的验证人们持有,Cosmos中流通的只是验证人承认的数字符号,并不被原链承认,当然在Cosmos中会采用一定的责任制和惩罚机制来防止验证人的不诚实行为。

未来Cosmos还可以建成一个多中心的区块链社区,bridge-zone是其他数字货币进出社区的出入口,Hub是社区的通信枢纽,每个空间都可以是一个现实的中心化应用在Cosmos社区上的挂钩,该空间的验证人可以是该应用的实际控制人,使用一个空间来记录自己的数字货币市场账目,用户在空间中的转账由应用的官方验证人监督,转化为应用上的消费,这样一来Cosmos就为应用提供了一种数字货币账本管理方案。

e.Aion

Aion目标是整合单独的区块链,帮助互联网开发联合区块链,建设集成的区块链网络,以此为目标,Aion希望实现多层区块链网络,其中主要分为三个部分:连接网络、桥梁、参与网络,其简单网络结构如下图所示。

图 Aion简单的多层网络结构

图片来源:Aion中文白皮书

Aion设计的网络结构中的连接网络是Aion自身的区块链网络,参与网络则可以是满足Aion标准的任意网络,甚至是oracle和数据库等外部服务,单独的区块链作为外部参与网络通过桥梁连接到Aion为首的连接网络,这正是Aion集成区块链网络的目标所希望实现的网络结构。

在这样的网络结构中,跨链行为的实现关键在于桥梁,在Aion的设计中,桥梁是通信协议,帮助参与网络和连接网络之间通信,桥梁有自己独特的验证者网络,通过验证者达成共识,签名转发到目标网络,这种交易的转发其实也是中继技术的实现,对比Polkadot,Aion的不同之处在于Aion设计的连接网络是一个完整的区块链网络,关注的是联合网络的中心,而Polkadot关注的重点是跨链信息的中继。

相较于Cosmos的hub和zone,Aion的连接网络和参与网络之间没有严格的限制,参与网络可以使用任意的形式,给予参与网络充足的自由度,Cosmos中其他链是通过bridge-zone作为原链的侧链接入Cosmos网络,而Aion则是通过中继技术,直接将原链的数据跨链,但给予参与网络高度自由的同时,也就增大了Aion桥梁的规则设计难度,Aion标准作为准入门槛事实上也是对于参与网络自由度的一个限制,如何在自由和管理之间达成平衡,或许还需要Aion的不断探索。

1.3.3哈希锁定(Hash-locking)

哈希锁定也是一种原理简单的跨链交易方式,对原链没有严格的要求,适用范围广,主要依赖哈希函数的不可逆性,即在知道R的哈希值H(R)的情况下,无法计算得到R,同时还有哈希函数的不可碰撞性,即不能从H(R)找到r使得H(r)=H(R)。注意这里的不可能指的是在有限时间内,有限资源条件下,概率上的不可能,若投入充分的算力,适当的时间内是能够碰撞哈希值的,这也是为什么这种交易方式仅推荐小额的交易,从成本和收益角度防止暴力攻击行为。其简单的原理如下(A,B为交易双方):

  • A选取任意的R,计算H(R),A向B转账约定的币额,利用H(R)设置认领的智能合约:在2X的时间内,有人提供r使得H(r)=H(R),则转账生效,否则转账撤销,币返回A的账户。
  • B向A转账约定的币额,利用同样的H(R)设置认领合约:在X的时间内,有人提供r使得H(r)=H(R),则转账生效,否则转账撤销,币返回B的账户。
  • 由于A持有R,那么A可以提供R给B,那么A就能从B处获得约定的币额,而B在得到A提供的R后,也能将R提供给A,由于两个条约的完成条件相同,则B也能得到A提供的约定的币额。

中间需要注意的是B要留有足够的时间,保证在得到R之后能够完成A的合约。两个合约的起始时间大致相同,从A提供R到完成B的合约考虑网络延迟等因素,所需的时间假设为X,则B的合约有效时间为X,B需要同样的时间完成A的合约,因此A的合约有效时间为2X。同时合约有效时间的限制也就督促双方尽快完成合约。

闪电网络

虽然哈希锁定的原理简单,但没有统一的组织形式也就不能做成项目,闪电网络就是将哈希锁定作为一项基本原理,采用支付通道的形式,将用户组织成一个支付的网络。闪电网络的支付通道首先需要在原链上创建一个交易,将双方在原链上的部分资产锁定防止“双花”,锁定的资产会在支付通道内按原比例分配,之后双方在支付通道内协商,可以将自己持有的比例给予对方(采用哈希锁定的方式,对方必须在另外的支付通道内给予自己对应价值的通证),在重新分配通道内的比例后关闭通道,通道会将原链上锁定的资产按最后的比例分配给用户。

可以发现支付通道除了开启关闭需要接入原链,在通道内的交易都是凌驾于原链之上,不受原链约束,用户可以在一个通道内完成多次交易,同时哈希锁定还有传递的特性,A向B建立的锁定合约HTLC,B可以向C传递请求密码R,如此传递下去,直到知道密码的目的用户,A就能将自己的资产支付给不和自己直接建立通道的用户。

从原理上看,闪电网络可以建成支持任意链的便捷支付网络,未来网络中还会有专门的中转节点,充当交易所的角色来帮助沟通用户的需求,用户只需要同中转节点间建立通道,就可以接入整个支付网络。但如何模式化地快速建立一个安全的支付通道,支付通道的开启关闭以及通道内的交易,都是支付通道智能合约设计的关键所在,由于支付通道没有中心化的控制,完全依赖程序代码,因此使用前还是需要更多安全的测试。

4、分布式私钥控制(Distributed private key control)

Fusion在原链上设立锁定帐号,作为原链上的公证人,用户向fusion发起lock-in请求,然后将原链上的通证交给锁定账户,fusion上的智能合约验证请求,确认原链上的交易后,在fusion链上创造等值原链通证的标记符号,交给用户,之后用户可以在fusion上交易其他链通证的标记符号,提现时,用户在fusion上发起lock-out请求,验证节点将提现的标记符号锁定,用对应链上的锁定账户向用户发起转账,确认转账后销毁fusion上的标记符号。

图 Fusion的lock-in流程

[color=rgba(0, 0, 0, 0.741176)]

图片来源:Fusion白皮书

采用锁定账户作为公证人,不可避免的是锁定账户的密钥控制问题,fusion中采用的是所谓分布式密钥存储的安全方案,本质上就是秘密共享技术,具体可以参考Shamir的(k,n)门限秘密共享方案,简单的理解就类似多重签名技术,由n个验证节点分别持有一部分密钥,每个节点只能知道自己的密钥,然后锁定账户的任何操作都至少要有k个验证节点的密钥,因此只要且必须要有至少k个验证节点通过,锁定帐号才能将锁定的原链资产提现给用户。相较于中心化的交易所,n个验证节点事实上构成了一个多中心的结构,避免了单个中心被攻击的危害,同时不需要设计完全去中心化结构的技术难点。

事实上万维链中采用的安全多方计算和门限密钥共享技术的锁定账户生成方案,技术核心仍是秘密共享技术,将原链上的数字货币锁定在锁定账户中,在项目的网络中token的交易就能够使用项目设计的规则,获得交易的自由,这其实也是交易所的思路。

1.5.链信息接口

链与链之间的沟通问题,根本上来说是不同链拥有不同的结构,无法接触到对方网络内信息的问题,那么通过分析不同链通信信息的数据结构,提供对方链的信息解读接口,或者是使用统一的通信操作,就能实现跨链的通信。接口与中继都是从原链上获得数据,不同在于接口被动地等待用户的主动请求触发,而中继和侧链则是一种固定的结构,不断地从原链上中继数据。

1.5.1  Ark智能桥

Ark网络本身是一个区块链的数据网络,用户可以将自己的各种应用接入Ark网络,在Ark网络内实现信息的沟通交流。现有的众多区块链网络,也能通过智能桥向Ark网络传递信息,或是通过特定的listener结构从Ark网络中获得跨链的信息。

图 Ark跨链转账流程示例

图片来源:Ark白皮书

如图所示,Ark的智能桥事实上是Ark网络的通信信息中附加的一个数据字段,名为SmartBridge,在该字段用户可以写入复杂的跨链信息,也可以是简单的跨链交易指令,接收者通过listener监听Ark网络中通信数据的SmartBridge字段,用户可以设计更多复杂的应变系统来应对listener监听到的不同情况。

由此看出,Ark平台并不提供直接的跨链操作支持,而是跨链信息的共享平台,SmartBridge可以看作信息接口,用户根据自己的需要,在Ark网络中发布跨链的信息,接收方设计应对系统解析跨链信息,并根据解析结果自动进行相应的跨链操作。过程中并不是直接解构原链上的数据,而是用户将原链上的操作,翻译成约定好的格式的跨链信息写入智能桥,再由接收方解构执行,为用户留有足够的自由设计空间。

1.5.2  ArcBlock基石

ArcBlock设计目的是消除不同区块链平台上的DApp的平台锁定问题,也就是DApp的跨链问题,在它的设计中最为关键的是开放链访问协议(Open Chain Access Protocol)和基石程序(Blocklet)。

图 Arcblock系统架构

图片来源:Arcblock白皮书

在区块链网络体系中,DApp是应用层的,而不同的区块链数据网络则是一种底层的基础网络(想象成OSI七层结构中的网络层),ArcBlock的开放链访问协议则是计划在两层中间设计统一的行为协议,向下通过链对应的Adapter解构基础链的数据结构,整合不同Adapter的操作原语,向上提供统一的链操作接口,而基石程序可以认为是一些程序模块,也可以作为独立功能的程序,联结现实的数据库或是传统网络,同时调用开放链访问协议的api操作不同的区块链,实现现实和多区块链网络的连接。最后用户可以设计或者调用多个基石程序,组合成自己的DApp项目,此时的DApp可以说凌驾于所有区块链网络上,全局把控所有链。

开放链访问协议是一个需要严格谨慎设计的网络协议,不仅需要解构大量的区块链网络,还需要整合成统一便利完备的操作集,它的优点在于操作集的操作最后是落实到每个链的原生操作,而不需要依赖额外的链结构,但链的操作效率必定会受到原链效率的影响。

1.5.3  Ontology本体

本体网络目的是为企业提供定制的区块链支持,针对企业不同的业务类型,定制合适的区块链,而用户的现实业务具有复杂性,难以通过一条链完成,会需要调度不同的业务链,因此本体网络设计通过交互合约在不同的业务链间协作,建立如图,本体称之为超融合链网的结构。

图 本体超融合链网结构

图片来源:Ontology技术白皮书

图中通用服务链是提供基础性通用服务的公有链,可以为业务链提供实体认证、数据交换等通用智能合约的支持,业务链则是用户的业务支持链,是本体为企业定制的私有链,而两者中间的交互链,则是本体的主要网络,它从通用服务链上获得智能合约的支持,业务链在交互链上发布交互信息,调用交互链上存储的交互合约,以此来沟通不同的业务链。

因此在本体网络中原本的跨链被分为两个部分,一个是交互链和通用服务链,另一个则是业务链与交互链,前者是由交互链向通用服务链请求通用智能合约,后者是业务链在交互链上依据交互合约完成交互。从单个业务链的角度来看,交互链实际上是为业务链提供通用服务以及其他业务链信息的接口,业务链调用接口向交互链发起请求后,交互链根据合适的方式获得数据响应业务链的请求,只不过这个接口并不是直接从其他链获得数据,而是通过一定的交互协议。

由此也能看出信息接口使用简便,有助于用户开发DApp,其关键在于背后的交互协议设计,基石的开放链访问协议也是如此,这都是项目的核心技术,限于其机密性,目前还无法更深入地分析比较。

二、跨链/侧链的优势与问题

2.1跨链与侧链的关系

早期的开源侧链项目比如blockstream的元素链,使用的比特币双向挂钩技术,它是跨链的雏形。到后来的BTC-Relay(一种基于以太坊区块链的智能合约),是通过跨链将比特币和以太坊连接起来的技术。

早期的项目主要关注资产的转移,而如今的跨链项目则更多关注链状态的转移,这就形成了各个跨链的技术今天的格局。一般的侧链服务于主链,而跨链志在链之间价值和功能的连通,可以说,侧链与跨链,在技术内容上大体相似,只在谈到他们所服务的对象时才需要做细致的区分。

2.2跨链与侧链的优势

为了解决公有链的低吞吐量带来的高手续费、网络拥塞等诸多问题,很多团队都很有预见性的提出了相应的优化方案。从现有技术实现的角度来说,基本分为三种,分别是侧链,分片和DAG。

三种技术对比:

1.安全性增强

小额的交易通过走侧链的方式,可以更好的隐蔽拥有大量存储价值的主账户地址。

2.速度更快

现在比特币/以太坊转账速度已经达到瓶颈,17年12月高峰时比特币主网曾经滞留20万笔未确认交易,突破了历史记录。大部分链上转账其实都是小额交易,把这部分交易走到侧链,既可以加快他们的转账速度,又可以减轻主网的压力。

3.智能合约

侧链还可以在锁定主网价值的同时,开发智能合约的功能。如果比特币自身就拥有智能合约,那么现在以太坊等众多公链的存在价值将大大降低,大多数的预言机相关应用都可以回归比特币,促进数字货币在比较统一的框架体系下的发展。

4.扩展应用范围

侧链是以融合的方式实现加密货币金融生态的目标,而不是像其它加密货币一样排斥现有的系统。利用侧链,我们可以轻松的建立各种智能化的金融合约,股票、期货、衍生品等等。你可以有成千上万个锚定到比特币上的侧链。其特性和目的各不相同,所有这些侧链依赖于一种主区块链保障的弹性和稀缺性。

在这基础上,侧链技术进一步扩展了区块链技术的应用范围和创新空间,使传统区块链可以支持多种资产类型,以及小微支付、智能合约、安全处理机制、财产注册等,并可以增强区块链的隐私保护。

2.3侧链/跨链目前的问题

侧链攻击问题

在侧链方案中攻击者只需要破坏最薄弱的侧链,就可以破坏整个网络。一旦他们在某个侧链完成51%攻击,他们就可以创建一个(假的)最长侧链,用伪造的侧链币在原比特币块链中换成比特币。

问题的本质在于,侧链们不共享同一个公共块历史。

这意味着,从一个侧链到另一个侧链转移币的过程中,大部分侧链方案仅仅依赖所谓的“SPV证明”(译者注:简化交易验证,一种轻量钱包使用的验证机制),它只检查所涉及的币是否来自已知的最长链(而并不追溯币的历史来源至创世区块。这种SPV证明运行在轻钱包内部,安全标准远低于比特币网络。而在侧链方案中,一个51%攻击者不仅可以双花一笔交易,甚至可以凭空制造侧链币。)

合并挖矿带来中心化挖矿

解决侧链攻击问题的一个办法是合并挖矿,以确保所有侧链同时以相同哈希率开采。合并挖矿的情形下,所有侧链使用相同的哈希算法,这样可以在同一时刻为两个侧链生成工作量证明。矿工只需要一次哈希运算就有相同概率完成两个工作量证明。这看上去好像巧妙地化解侧链的缺陷,遗憾的是它没有那么简单。合并挖矿要求矿工运行所有侧链的完整节点,这就会造成中心化挖矿的趋势,这是我们不愿意看到的。此外,如果任意侧链受到51%攻击,风险依旧存在。

侧链的中心化问题

从用户的角度来看,转账速度、操作顺畅、高可用性是关注的重点。考虑到公有链在区块大小、转账速度、手续费方面的局限性,侧链可以在其上打开一个快速流动的通道。但由此引发的关于中心化/去中心化的社区争论也长期难有定论。

跨链的稳定性有待提高

跨链的意义在于能够不经过中心化的交易所就能直接转换不同公链之间的价值,但其稳定性和转账速度仍然是用户现在使用的最大障碍。

三、跨链/侧链项目具体分析

3.1跨链/侧链项目一览

总的来说我们可以将跨链项目分为如下三个方向:

(1)金融

包含跨链交易、转账,数字货币资产管理等金融服务,主要的项目有0xProject、Fusion、Wanchain、BTC Relay、Cosmos、各种交易所、闪电网络等,其中最简单高效的就是交易所了,依靠其结构设计简单的优点,交易所建设最为迅速,其地位不言而喻,但目标过于暴露,未来会有更大概率受黑客攻击的风险。0xProject虽然去中心化,但每次跨链都需要一个智能合约并写入一次原链,交易效率会受到原链效率限制,而RootStock虽然延续了比特币的Pow共识去中心化,但采用侧链的结构,可以设定较好的侧链性能,替代原链的低效率,不过RSK的目标并不是跨链,而是比特币作“燃料”的智能合约,即比特币+以太坊。闪电网络的哈希锁定原理虽然简单,但如何组织成有规模的网络,其协议还需要更加完善。Fusion、Wanchain、Cosmos依靠多中心控制的锁定账户,更像是一种多中心的交易所,不仅拥有交易所的优势,也更加安全,项目还能拓展更多金融外的服务,尤其是Cosmos,每个空间zone都能由不同的应用服务商挂载控制,可以建成支持多种数字货币的消费的服务平台。

(2)通信

即跨链信息的传递、共享等服务,Polkadot和Ark都是针对这个方向。Ark网络本身就是区块链的数据网络,并不对于其他链有任何操作,而是信息的共享平台,缺点在于信息的验证、应对工作需要用户设计应对程序自行处理,有一定的门槛。Polkadot建立的侧链中继结构就像不同区块链网络间的路由器,能够使得区块链网络真正连接起来,但未来的维护成本是一个问题,连接的区块链网络数量和维护成本是成正比的,同时,它与(1)中的项目在金融方面处于竞争劣势,因为Polkadot传递的信息都是基于原链的通信信息,因此提供的金融服务效率会受到原链效率的限制。不过金融服务也不是Polkadot的设计目的,所以这些问题都不会改变Polkadot帮助区块链网络互通的重大意义。

(3)DApp开发平台

有很多人说区块链1.0是数字货币,区块链2.0是智能合约,而区块链3.0则是DApp,不管怎么说DApp都可以说是区块链技术的一个发展方向,而完善的DApp开发平台就是Arcblock和Ontology的目标。Arcblock采用的基石程序,像是DApp项目程序模块,总体与编程语言较相似,主要还是依托现有的区块链网络,而本体则是会帮助用户建立DApp的业务链,适合DApp的专属区块链,两者各有所长,本体能够为中小企业提供完善的区块链技术支持,而Arcblock则像是低门槛的DApp开发语言,面向更多的群体。

3.2 重点项目对比分析

3.3 项目的投资明细

图 各大跨链项目的市场表现

数据来源:国脉科技研究院、Coinmarketcap

跨链技术正在起步,不同方向的跨链项目仍然有着巨大的合作空间。跨链是实现价值网络的关键,真正提高各大基础链的使用效率,将其从分散单独的孤岛中拯救出来。

四、跨链侧链的未来展望

1. 交易速度加快,主链分担减轻

所有的交易记录都被锁定在主链上,而各种区块链应用的代码和数据都可以独立保存在侧链中,这样就可以分担主链上的交易,使交易在侧链上完成并发生转移,主链不容易产生交易拥堵,从而提升了交易速度。

2. 多条侧链并行处理,实现完全去中心化交易

主链可以通过智能合约链接多条侧链,可以实现数据去中心化并且并行处理,这样一来,不单单是速度提升的方面使项目性能提升,交易数据可以完全实现去中心化,也实现了区块链之间的搭建,区块之间不再是独立的个体,而是真正实现了数据在分块之后依然是可联系的。

3. 安全性得到保障

万一侧链出现代码漏洞,主链不会受到影响,而因为去中心化的机制,部分数据的丢失对整体并无影响,交易记录一旦发生就被锁定在链上,用户不用担心丢失或篡改等问题。

4. 扩展空间,增强隐私保护

跨链侧链技术的引入进一步扩展了区块链技术的应用范围和创新空间,使传统区块链可以支持多种资产类型,以及小微支付、智能合约、安全处理机制、财产注册等,并可以增强区块链的隐私保护。

总体而言,在这场区块链大浪潮下,侧链与跨链作为提高区块链性能的重要手段,一直受到核心开发者的重视。无论是作为技术研究还是投资的角度,跨链侧链的发展都是值得进一步的关注和研究。

Chain_Interoperability.pdf

693.26 KB, 下载次数: 0

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注

Loading