背景
谈到区块链的发展,用一个较为形象的比喻来形容可能更为贴切,它就像春秋时期的朝代更替一般,最开始还是零零散散的诸侯分割,各自为地,发展到后来往往需要有一定统一的东西出现,不管是货币、语言抑或度量单位,而这就是区块链发展的未来雏形。
如果说2017年之前的区块链是诸侯分割,那么之后的2年中,人们谈论更多的可能是如何让无数条链变得略加统一些,毕竟每一条公链都声称自己会是未来的底层操作系统,但哪怕真的有10条这样的“链”产生,人们也依然无法达成“链间协作”的目的。
尤其是当区块链的协议越来越多、资产交互也越来越频繁时,人们迫切需要一类技术来让不同链之间能够产生交互,而这就是“跨链”技术慢慢产生和逐渐成熟的原因。
当然,跨链并不是最近两年才出现,跨链最早可追溯到2012年,当时的瑞波实验室提出了一种名为Interledger的协议,该协议旨在连接不同区块链账本并实现它们之间的协同,而它的目标是要打造一个全球统一的支付标准,创建统一的网络金融传输的协议。
简单来说瑞波带来的跨链更像一种支付协议,它通过设定一个自动执行的“中间商”,让交易双方的信息汇聚到一起,一旦双方约定达成,便自动完成交易,其实这种跨链更像后来的一种特殊智能合约,而不是我们现在所熟知的跨链。
那么,在跨链提出来的8年后,跨链领域究竟发生了怎样的巨变,又将走向何方,我们尝试通过Polkadot和Cosmos两个跨链项目来深度剖析跨链的发展,以飨读者。
什么是真正的跨链?
跨链的误解
当然,当我们谈到跨链时,大家可能都听过这个词,甚至把它作为2020年的区块链热门词汇也不足为过,毕竟区块链的世界也需要一些新鲜的故事来填补历史的空缺,至于智能合约和公链已经是2年前的故事,而跨链似乎更符合区块链发展的宏伟目标,虽然事实也确实如此。?
不过,市场上有不少人对跨链似乎存在一些误解,而这些误解对于理解什么是真正的跨链又产生了门槛,因此,我们先从几个常见的误解说起。
A、跨链是让链上资产像互换位置一样交换?
谈到跨链,有些朋友可能真的以为跨链是能把类似比特币链上的资产通过“跨链”的方式转移到以太坊上来,就像把桌子上的苹果和梨交换位置一样,似乎这样听起来的确很神奇,但跨链真的如此吗?
在区块链世界里我们常讲的跨链其实更像一种人民币和美元兑换的关系,什么意思呢,跨链好比我们将人民币兑换成美元,欧元或者其他货币,而中间的兑换过程我们称为跨链,这也是较早期跨链所留存的形态,但它并不是物物交换一般的真实转移,而是价值的对等交换。?
因此,2012年之后几年提出的跨链其实通常代指资产跨链,它包括了大家熟知的双向锚定、哈希时间锁、原子交换、资产质押转移、网关和联邦签名等等,而这些是实现的方式,它们的目标都不是为了完成变魔法一般的将链上比特币转换成其他类型的通证,而只是资产的形式转换。
B、跨链的实现路径非常简单?
也许很多人听到跨链技术时会觉得这是一个极为简单的理工科工程,毕竟从字面上来理解的意思似乎非常简单,就像把信息从A地传输到B地一样,只要通过手机或者物流即可完成,但事实上,对于跨链而言,并非这般简单。
哪怕是资产跨链这种听起来较为容易的方式,人们已经摸索了很多年,通过不同的方式来尝试突破一些问题和瓶颈,但依然没有找到一种最好或者更加普世的方式来完成这一目标。
例如我们从几年前就看到了在提的比特币侧链,其中双向锚定作为比特币侧链技术中非常重要的概念,目的是实现比特币主链币和侧链币之间的跨链。双向锚定能够让侧链“知道”主链上的特定币是否处于锁定状态,并且依此锁定状态来解锁或销毁对应数量的侧链,这就好像BTC“跨”到了侧链,或者反过来,侧链币“跨”回了主链,但发展至今资深技术人员依然认为该方式太过简陋,甚至存在不少安全隐患。?
所以,跨链并没有大家想得那般简单,实际上它要比我们预想的复杂的多,正因如此也才成为了区块链行业需要攻坚的问题。
C、跨链的实现方式只有一种??
这可能是大部分不太懂技术的区块链从业者常犯的一个错误,他们会认为区块链的跨链方式其实只有一种,而大家都在朝着一个正确的方式努力,但相信通过上面两点的讲解,大家不会再这样认为了,跨链的实现方式其实包罗太多,只是我们把它们都统称为了跨链。
我们将在下节较为详细的为大家讲解目前跨链常见的几种实现方式,相信会让大家有豁然开朗的感觉。
实现跨链的方式
既然跨链的实现方式不止一种,那么目前可以有哪些值得关注的跨链方式呢?当然我们尝试不从那些复杂的技术名词入手,以一种更好理解的方式为大家讲解跨链的几个主流方式。
A、中心化网关跨链
顾名思义这是一种由一个权威机构外部预言机模式输入的一种跨链方式,通过引入外部力量接入跨链,相当于借助第三方机构来完成跨链动作,就好比转账借助银行系统一样,该方式虽然效率较高,但也存在一些安全隐患。?
B、多签托管跨链
相较于上一种方式,在单个中心化的基础上加入了一组权威机构,通过他们投票来承担跨链数据的交互,这点类似于议会制度一样,因为多机构的存在进一步提高了安全性,但相对地,效率也大打折扣。
C、镜像跨链
镜像跨链是一种更为趣味的解决跨链的方式,它通过最大资产镜像合成其他小额资产,来完成经济学上的虚拟跨链,比如Synthetix就是用它的数字资产SNX,以超额抵押几倍价值的SNX来合成小额的其他资产。
D、轻节点跨链
沿着前面几种跨链思路深入下去,我们可以找到另一种跨链思路,也就是完全由代码来托管数据的交互,不需要任何中间人执行,当然这是较理想的方式,理论上它可以最终完成块头Header跨链、交易Transaction跨链和终极的共识跨链,但也意味着技术实现最难,需要更多时间和精力去开发。
真正的跨链
虽然市面上关于跨链的具体实现方式不下10种,甚至每年还会有新的关于跨链的名词出现,但我们回到本质上来看跨链这个问题,并思考到底什么才是真正的跨链。
最近一位区块链技术资深人士谈到了一个更有趣的关于跨链的描述,首先他给共识穿透下了个定义,共识穿透是指两条不同共识的区块链,如何从共识层打通,让两条链互联有无,最终实现共识跨链。
综上我们认为跨链的基本作用是实现链间资产的交互,其次是信息交互,而放大来说,跨链需要解决的其实是相同共识下链与链之间的信息传递与交互,但更本质来说跨链解决的是不同共识下链与链之间的Transaction,而能解决这个问题的方式或者技术我们称为跨链。
当然,这只是目前我们认为关于跨链较为准确的定义,但随着区块链的发展,不排除会有更有趣的描述出现。
为什么区块链需要跨链?
打破区块链信息孤岛困境
USDT是目前市值最高,使用范围最广的稳定币,是Tether公司推出的基于稳定价值货币美元的加密货币TetherUSD,1USDT=1美元。Tether公司严格遵守1:1的准备金保证,即每发行1个USDT,其银行账户都会有1美元的资金保障。
而USDT也是几经周折在多条区块链上发行,从最开始基于Omni协议发行,再到后来开始在以太坊上发行ERC20版本的USDT,再到之后在波场上发行TRC20版本的USDT,如此一步步发展最终成为了市值第三的加密货币。
而由于USDT是有对应的美元作为支撑的,所以USDT可以随着保障的美元数量的增加而增发,但是也经常会遇到这样的情况,比如今年DeFi火热,以太坊上的许多ERC20的USDT被所到DeFi项目中,使得ERC20的USDT不够用了,这时如果紧急增发USDT很难快速筹集到大体量的美元,没办法,Tether公司不得不把TRC20上的USDT转移到以太坊上,以满足市场需要。Tether公司采用的方法,是把TRC20的USDT销毁一部分,再在以太坊上增发同样数量的ERC20版USDT。
而后,波场上的一些DeFi项目也逐渐诞生,又出现波场上的TRC20版USDT不够用了,所以,Tether公司不得不经常将几条区块链上的USDT来回转移。
这就是目前区块链的一个大的痛点,区块链与区块链之间并不能随意的转移数据,每个区块链生态做的再好,也只是相当于一个发展很好但却不能与其他城市互通的城市,而这就是信息孤岛。
而好的区块链应用,肯定不满足于只在一条区块链上,正如我们刚才举例的USDT。还有一种方式是,类似于路印协议以另一个名字的加密资产LRN发行在NEO链上,来做到在NEO上扩展路印协议的使用场景。?
所以,如果有一种跨链技术,能将不同区块链的数据进行互相交互,Tether公司和路印协议的团队就不用那么麻烦地在不同的链上来回折腾了。而Polkadot的设计初衷就是能将所有区块链链接在一起,互联互通,最终形成一个由多个区块链组成的互联网络,它完美的契合了这个需求,未来想要在多个区块链上应用的区块链应用项目,只需要在Polkadot上发行,就可以将这个应用扩展到所有区块链上了。
提供区块链性能
今年DeFi大热,以太坊再次证明了它是区块链领域里最大的区块链应用平台,在这段DeFi盛宴中,一些区块链的老问题又再次走到台前,让我们难以忽视它。?
目前,90%以上的DeFi项目都在以太坊上,带来结果之一就是以太坊和ERC20的Token转账速度变慢,转账费用飙升。以太坊的转账Gas费在很长一段时间平均在500Gwei以上,居高不下,最高还到过1000Gwei,而这也严重影响了DeFi生态以外的项目和组织。
NFT市场Cargo创始人SeanPapanikolas就曾表示,NFT行业正处于一个拐点。但由于Gas价格飙升,以太坊可扩展性不足给该行业的新参与者带来了压力。而高Gas费已经导致一些平台开始致力于Layer2扩展,也就是二层网络的解决方案,而还有一些项目方则将目光投向了其他的区块链,完全离开了以太坊。
另一方面,交易所也是另一个受害者,高昂的转账费让许多交易所在用户每次转账以太坊和ERC20的时候都要亏上几美金甚至更多。而美国最大的加密货币交易所CoinbasePro不堪重负,最后发布公告让用户来承担转账的网络费用。?
提高性能,降低转账费用,对区块链进行扩容已是迫在眉睫的刚需。
目前扩容的方案有两大类,一类是链上扩容,通过修改区块链的修改规则,包括区块大小、共识机制等来做到。比如,加密货币圈就曾经热议过,考虑把比特币的区块大小增加来提高比特币的转账速度。又比如,以太坊2.0的设计,是将共识机制由PoW转换成PoS,并采用改变网络验证方式的分片技术来提高效率。
第二类则是链下扩容,比如我们常说的Layer2扩展,也就是二层网络的扩展方式。二层网络顾名思义,是把一条区块链上的数据交给另一个网络来处理,处理好了再传回来。这其中也分为中心化的解决方案,比如比特币的链下扩容方案——闪电网络,也有去中心化的解决方案,比如能将比特币跨过来的ChainX,区别在于第二个网络是否是区块链,中间过程是否是通过智能合约完成的。?
而Polkadot作为知名跨链项目,其本身的架构就属于分片,不用担心Polkadot的性能问题,另一方面,Polkadot可以链接其他的平行链,这些平行链可以自发的作为某些链的二层扩展的一条链,来提高这条链的性能。
增加区块链可扩展性
上一点中,我们提到Polkadot的平行链可以作为某些链的二层网络,那么如果这条链拥有的属性是原有的区块链没有的,就可以为原有的链增加更多功能。如果我们在Polkadot上给比特币做了一条带有智能合约功能的二层网络,这样就可以让比特币也拥有了智能合约的功能了。
丰富区块链生态
老一辈人都知道,要致富,先修路,要发展一定要与外界的资源进行流通,北京发展的再好,也比不过互联互通之后,一次十一长假带来的整体经济效益。区块链同样也是这个道理。我们还是以今年红极一时的DeFi来说,以太坊最火爆的时候,全网参与DeFi的资金也才一百多亿美金。如果通过跨链的方式,能将价值上千亿体量的比特币拉入到DeFi生态中,如此庞大的流动性来参与到DeFi,所带来的经济效益绝对不可同日而语。届时,DeFi的发展将有可能远超2017年牛市的盛况,并且震动传统金融。
保护各条链隐私
首先澄清一下,我们所说的跨链绝不仅限于公链与公链之间的链接,还可以是联盟链与公链,或者联盟链与联盟链之间的跨链。那么,有这么一种情况,A联盟链和B联盟链它们之间的数据不是共享的,如果需要交互两者的数据,就可以通过跨链的方式连接起来,两者互相交互仅仅会涉及到需要交互的数据,这既保护了各条链的隐私,又能让各链之间进行交互。
业务逻辑进一步细化
未来每条链都会有独立的业务,多条链联合起来,理解和分析也比较清晰,比如有专注于DeFi的链,有专注于游戏的链,有比特币的智能合约链,还有以太坊的Layer2链等等,因此跨链可以让不同业务的链也产生链接。
Polkadot的跨链是如何实现的?
Polkadot号称跨链之王,是当下最复杂最庞大的设计之一,这也由于它所谋甚大,希望能联通所有的区块链。那它是一种怎样的结构,又是以什么方式来实现跨链的呢??
Polkadot的跨链结构
我们之前在之前的文章中就介绍过以太坊2.0是同构分片,Polkadot是异构分片的结构,如下图所示,Polkadot的主要结构是由主链——中继链,再连接其他分片——平行链组成的。?
要清楚的理解Polkadot的结构,我们需要理解?Polkadot结构的三条重要的链与四个重要的角色。?
其中,中继链是负责处理网络中整体的共识和安全性的主链,平行链是基于Substrate框架做出来的与中继链有相同共识的分片,转接桥平行链是由于一些已经成熟的区块链与Polkadot的底层共识不一样,不能直接连接到中继链上,所以通过在Polkadot的平行链和外部的区块链上部署智能合约来达到桥的效果,以实现跨链的功能。
Polkadot网络有四个基本的角色在维持:收集人、提名人、验证人、钓鱼人。
通过这几个角色,以及Polkadot的跨链消息传递方案,可以让数据在不同的区块链之间进行交互。
那么,为什么说,我们需要注意到上图的右边有个二级中继链,如果一条中继链能连接的平行链和转接桥是有限的,那么中继链还可以通过生成或者连接一个二级中继链,进一步扩大自己的连接能力,而二级中继链还可以再连接新的中继链,以此类推,从理论上讲Polkadot的这个结构具有无限扩展性,可以连接所有的区块链。
Polkadot如何实现跨链?
Polkadot主要是通过跨链消息传递方案来传递消息,下面我们通过一个趣味的方式来向大家讲解跨链的具体实现流程。
假如有个这样的场景,我要用1个平行链A的资产和你交换10个平行链B的资产,那么如果把平行链A比作美国,平行链B比作日本,就相当于我用1万美元和你交换10万日元,那么,整个跨链的流程就是这样的:
我在美国的银行发起一笔转账,转给你在美国的账户1万美元,美国的收集人就注明,我给你在美国的账户转1万美元,并且求你在日本这边的银行给我转10万日元。?
美国的收集人准备将这个信息连同目的地与时间,一并传递到日本,这些信息会先放置在美国的输出队列中,传递之前需要经过美国的验证人确认这笔交易后,就会经过中继链这个组织将该信息从美国的输出队列放置到日本的输入队列。?
当日本的验证人会收到该信息后,通过日本这边的收集人来执行信息中的要求,然后将你账户中的10万日元转到了我在日本的账户中,由此完成整个过程。?
而映射到区块链网路中同样是这样的路径,美国和日本就好比不同的区块链,通过该方式就完成了两个信息孤岛的网络的链接,而具体Polkadot的跨链实现,整个过程全部由区块链和智能合约执行,是以去中心化的方式做到链间通讯的。??
Cosmos的跨链是如何实现的?
虽然Polkadot作为跨链领域当下的王者,但是人们常常以Cosmos作为Polkadot的有力对手相比较,因此,我们需要以同样的角度浅谈一些关于Cosmos的跨链构成。
Cosmos的跨链结构
同样Cosmos也是采用了中继链的方式来进行跨链交互,但Cosmos意在提供一个标准的协议让其他区块链接入该协议后,完成信息交互。
我们将Cosmos的结构进行拆分后可分为Zones和Hubs,Zones相当于Polkadot中的平行链,而Hubs则对应了Polkadot中的中继链,总体来说,Hub管理着被称为“Zone”的独立区块链,而由Hub来追踪记录各个Zone的状态。
而他们之间的信息传递是有被称为“IBC”的协议来负责传输信息,读者可以理解为是Cosmos中特有的编码模式,只要通过该编码即可确认是Cosmos生态的一部分,也可进行安全的信息交互。
而基于这些底层构成和通信协议,Cosmos还开发了一个名为CosmosSDK的一个通用框架,它的目标是创建一个模块生态系统,允许开发人员轻松地创建特定应用的区块链,而无需从头开始编写应用的每个功能,从而大大减少程序员在区块链底层开发上花费的时间。
Cosmos如何实现跨链?
谈到Cosmos如何具体完成跨链动作,我们依然要回到其结构构成来看,Cosmos将区块链拆分出了共识层、网络层和应用层,这能让开发者在开发各种类型应用的时候有更大的灵活性。
因此,Cosmos的跨链方式其实是通过自己搭建一套区块链开发框架,来让其他区块链在此框架上进行开发,并满足自身像BFT共识算法或者CosmosSDK这样的应用加入进去,这样的理想状态听起来似乎很有趣,但离真正的跨链依然有不少差距,所以它依然在“轻节点跨链”的方式上努力着。
Polkadot与Cosmos的区别
两者核心对比
为了便于更加直观的让用户了解Polkadot和Cosmos两者之间的不同,我们制作了下图:
如果单从功能上或者某一方面来对比两个跨链项目的优劣,似乎并不能判断孰是孰非,因为单一的组成只能体现某一方面的优势,因此,我们还是回到跨链本身来看,或许会有更不错的效果。?
两者发展现状
Cosmos自2015年立项以来,受到不了行业不同程度的关注,毕竟作为跨链领域的翘楚不管是资方还是社区,都赋予了极大期望,而其主网在2019年上半年迎来了上线。?
但是就在主网上线半年后,TendermintLabs的总监ZakiManian在推特上公开表示,在过去的6个月中,JaeKwon一直专注于Virgo项目,而忽略了Cosmos的IBC开发,没有为IBC提供资源,造成了许多才华横溢的工程师离开公司的局面,这使核心软件团队的资源严重不足,并表示要辞去CEO职位,此举引发了Cosmos社区巨大动荡。
正是因为Cosmos社区开发人数的下降,使得其IBC跨链通信协议开发一直处于缓慢爬坡阶段,因此跨链目标变得遥不可及,现在仅出来了一个CosmosSDK框架。?
反观另Polkadot的开发自8月主网上线以来,团队一直在努力开发平行链功能,并且上周区块链大会上,创始人Gavin博士表示平行链代码将在未来2周内公布,这让人们对跨链的到来有了更强的期许。
当然某种意义上来说,Polkadot的跨链是借助XCMP完成平行链之间的消息交互,还处于同一共识下的跨链,离我们理想的终极跨链还有一段差距,但按照发展路径来看,符合预期。?
从跨链的功能性和发展来说,我们认为Polkadot目前更像是真正的跨链,而Cosmos目前还是伪跨链,其设计只是在转移资产这一层面,最主要的是Cosmos团队在实现最基础的资产转移之前就戛然而止了。尽管当初的理想很美好,但现实却很骨感,跨链的重任还是交给Polkadot来实现吧。
后记
尽管我们了解到有许多跨链的方式,但是我们更推崇的还是Polkadot设计的跨链形式,因为许多跨链技术往往考虑的只是针对性的解决某一些问题,让某一条链能获得扩展,但这并不能使区块链真正成为所谓的价值互联网和可信互联网。
而要承载起价值互联网的名号,一定是非常庞大的网络,而不会仅仅局限在某一条区块链上,现在的公有链或者联盟链都只是像局域网,只有像Polkadot所设计的,将所有区块链都互联互通,最终形成由众多区块链组成的互联网络,才更符合这个标准。
当然,跨链的解决方式也绝非我们现在看到的这些,不排除未来会有更创新的方式出现,但从项目演变和区块链发展来看,像Polkadot和Cosmos这样的跨链项目都值得我们去了解,而至于谁能成为未来的“跨链之王”,除了技术层面的因素,可能还要考虑市场和商业落地,而这才是区块链当下更应关心的问题,我们也将在后续文章中进一步去发掘Polkadot或者Polkadot生态中这样优质的项目。
特别鸣谢:感谢波卡中文第一社区?PolkaWorld?在内容上的支持。
参考资料:
1、Polkadot的跨链消息传递方案
2、PolkadotXCMP跨链消息传递最新进展|PolkadotWiki
3、Polkadot(Polkadot)白皮书
4、一文读懂前沿跨链技术Cosmos|重温
5、瑞波提出的跨链技术InterledgerProtocal(ILP)详解
6、跨链到底在跨什么?
7、科普|Cosmos区块链的工作原理:如何跨链,为何要跨链?
8、Cosmos区块链的工作原理,Part-1:比较Cosmos与比特币、以太坊
来源:金色财经
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。