原创内容 首发微信公众号币萌 转载需经由作者同意并注明出处
2018年被誉为公链元年,各大热门公链纷纷上线主网,却因为落地应用不足导致没能迎来预期的大牛市,甚至把大饼都带到了3000多刀的白菜价,好好的公链元年变成了割韭菜元年。
今年,跨链来势汹汹,成为币圈大热门,Cosmos上线暴涨,Polkadot还未上线就已经在期货平台翻了数倍,这气势不亚于当年的公链之战。
那么这个神奇的跨链到底是个什么东西呢?
币萌君为你带来一篇跨链入门解读,让币圈萌新也能轻松看懂。
一、为什么需要跨链技术?
目前市面上有很多的公链,如BTC、ETH、EOS等,它们都是独立的区块链,不论是在各自的币上还是在技术层面上都是相互独立且封闭的,彼此没有交集。这样就带来了一些问题。
1.无法实现不同链上的资产交换
假如想把手上的ETH换成EOS,最简单的方法就是到中心化交易所(币安、火币等)充值ETH,再利用EOS/ETH交易对使用ETH购买EOS,最后从交易所提出EOS,方便省心没门槛。
这也可以算是跨链交易的一种,具体原理是大家把各种币存到交易所,交易所作为中间商负责撮合交易,交易时只是交易所订单数据的转换,并没有实现ETH和EOS这两个链上的数据交互。也就是A的账户上减少了EOS增加了ETH,B的账户上增加了EOS减少了ETH,想要提出时交易所再将币转给你,提出币之前这些币的控制权完全在交易所手里。
这种做法和目前银行的转账流程有点像,虽然方便快捷,但问题在于整个过程是中心化的,假如出现交易所作恶或被盗等情况,用户的资产安全无法保证,更何况高举去中心化旗帜的区块链和数字货币,还要依托中心化交易所进行资产交换,这不piapia打脸嘛。
为了拒绝中间商赚差价割韭菜,去中心化交易所应运而生。其最主要的两个特点就是:用户自己掌控私钥和链上订单簿。前者可以让用户自己掌控资产,币不是存在交易所账户里,而是存在自己的钱包里。后者是指所有交易都在链上进行,也就是每一笔交易都相当于互相转账,交易完成后资产直接到各自的钱包。值得一提的是,目前ETH的去中心化交易所由于交易速度和矿工费的问题基本上都没有使用链上订单簿,属于半去中心化。关于去中心化交易所的详细内容币萌君将在后续单独写一篇文章讲解。
去中心化交易既然这么安全,又与区块链的精神一脉相承,那怎么没火起来呢?原因就是:体验差。由于技术的限制,大多去中心化交易所不仅学习使用门槛较高、交易速度缓慢,而且基本上都只能交易同一链上的资产,例如基于EOS的去中心化交易所只能交易EOSDAC、IQ等EOS系的Token。如果跨链技术成熟,就可以在去中心化交易所上进行多个链上的资产交换了。
2.无法实现不同链上的资产转移
资产转移和上文所述的资产交换是两码事,资产交换本质上是两者互换资产,没有改变两个币种的总量,只是持有人改变。而资产转移是指把一个链上的资产转到另一个链上,比如把手上的1个BTC转到EOS链上,不论转移之前还是之后,这个资产都是同一持有人的,关键的难度在于,这一个BTC并没有真正的转走,因为BTC的总量是恒定不变的。
众所周知,BTC、ETH等老牌公链较比新生的公链,运行速度和矿工费都是很高的。试想一下,假如可以将BTC、ETH等资产转移到某个速度快、矿工费又低的链上,我们就可以在该链上高效、低成本的交易这些币种了。
资产转移的实现,其实也为上文所述的去中心化交易所提供了一些思路,假如我们想办法将手中的BTC、ETH转到EOS链上,让它们变成EOS链上的资产,比如代号叫做BTCeos、ETHeos,那它们不就可以在EOS链上的去中心化交易所轻松交易了吗?
3.无法实现同一DAPP在不同链上的交互
从资产转移的问题上扩展一下思路,假如某个DAPP为了扩大用户量,同时在ETH和EOS两条链上上线,那么在DAPP运营维护、数字资产发行使用上都是相互独立的。就像你和小伙伴打「王者荣耀」,一个用iOS,一个用Android,由于手机系统不同,虽然可以一起玩游戏,但还是存在着多方面的限制。如果是区块链的游戏DAPP,发行在两个不同的链上,那么限制会更大,资产和数据都是独立的,无法跨链转移,基本上相当于玩着两个不同的游戏,这也是为什么目前热门的菠菜游戏类DAPP大都是单链运行的原因,没有跨链机制,热门DAPP的用户量就只能限制在某条链上,其他链上会迅速出现仿制品分割市场。想要拉拢更多条链上的玩家一起游戏,首先就要在本质上解决数字资产跨链的问题。
再深入探索一下,跨链还可以突破DAPP所在区块链的性能限制。2017年底ETH链上游戏「谜恋猫」空前火爆,由于游戏功能全部依托ETH网络,导致整个ETH网络拥堵,玩家完成一笔交易不仅要等待很长时间,而且要付出高昂的矿工费,游戏体验变差。假如跨链技术成熟,就可以将该游戏的功能拆分,部分功能留在ETH链上,另外的功能移至其他交易速度更快、矿工费更低或者没有矿工费的区块链上,变相实现扩容,进而就可以改善游戏人数过多、交易量过大导致的游戏体验差的问题。
4.一个成熟的公链需要完成所有的事情来支撑整个生态
由于每个区块链都是独立且封闭的,所以单个区块链在建设时需要从零做起,将各个方面做到尽善尽美,才能吸引更多的开发者。如果缺失某些特性或无法实现某些功能,那么就有可能损失一大批开发者。相反,假如某个新链搞了什么黑科技新技术,比如TPS过亿,大家就会蜂拥而上疯狂炒作,从不顾及老大哥们的感受,只见新人笑,不见旧人哭。
目前很多公链都有相互合作的项目方,其意义在于能够弥补自身的短板,1+1>2,共同促进生态的繁荣。跨链出现的意义在于更加有效地将各个区块链联动起来,每个链各司其职,开发应用时可以调用多个链上的优势,新链上的新技术旧链也可以用,提高扩展性。众链可以在跨链技术的加持下,更加快捷舒适地进行py交易。
综上所述,跨链技术对于区块链落地应用来说迫在眉睫,很多团队都对跨链领域进行过探索,下面为大家介绍几种市面上已有的跨链实现方式。
二、跨链技术的实现
1.公证人机制
跨链最基础的应用就是两个或多个链之间的资产交换,想要交换就必须先解决信任问题。在当前情况下,想要把手上的数字资产换成其他链上的数字资产,就要去中心化交易所进行交易兑换,此时中心化交易所这个第三方机构就是需要我们信任的公证人。如果将这个公证人从实体的中心化机构转变为由算法控制的协议,那就会有更好的安全保障。一个比较典型的例子就是瑞波(Ripple)的ILP协议(InterLedger Protocal)。
瑞波从2012年开始研究ILP协议,旨在建立一个全球统一的网络金融传输协议。ILP协议的核心是两个不同的账本系统(链)可以通过第三方连接人来互相自由地转换货币。
以购物为例,买家只有BTC,但是卖家只收ETH,使用ILP协议来支付的大致流程是:买家(发送方)发送BTC给连接人,连接人手上同时有BTC和ETH,连接人计算出对应数量的ETH给卖家(接收方),这样虽然资产发生了转移,但BTC和ETH的账本总资产是没有发生变化的,只是持有人发生了变化,发送人的BTC到了连接人手上,连接人的ETH到了接收人手上,完成了资产转移的目标。
这个过程中发送方和接收方无需去信任连接人,因为该协议采用密码算法为这两个账本系统和连接人创建资金托管,当发送方、接收方、连接人三方对资金达成共识时,才能使资金到账,在此之前任何一方的资金都不会发生转移。
2.哈希锁定
哈希锁定的实现方式更为简单,假如A想要使用BTC购买B的ETH,大致流程就是A转账BTC给B,B再转账等值的ETH给A,或者将顺序颠倒。那么问题就来了,先款无人权,假如后付款的一方不守信用怎么办?哈希锁定用“锁定”的方式解决了这个问题。大致流程如下:
A先创建一个随机密码s1,对其进行哈希运算得出哈希值h,并将h发送给B;
A和B通过智能合约将各自的BTC和ETH进行锁定,并遵循以下两个规则:如果任何人在t1个时间单位内能够提供s2给智能合约且验证出hash(s2)=h(即s=s2),那么B的ETH就会自动转给A,超时将自动退回给B;如果任何人在t2个时间单位(t2>t1)内能够提供原密码s给智能合约,那么A的BTC就会自动转给B,超时将自动退回给A。
A在这场交易中占据主导地位,假如想要成功完成交易,那就会在t1个时间单位内提交正确的密码s1给智能合约,那么B的ETH就能转到A的账户里,接收成功后,密码s1也会同时公布,此时B再将s1提交给智能合约即可使A的BTC转至自己的账户,整个交易完成。
3.侧链
侧链的目的是将不同的区块链互相连接在一起,以实现区块链的扩展。以最早的侧链项目BTC Relay为例,其本质是一个建立在ETH区块链上的智能合约,可以通过监测BTC网络来实现BTC和ETH的资产交换。
还是以A想要使用BTC购买B的ETH为例,具体实现为:通过智能合约锁定B的ETH,当合约监测到BTC的区块链网络上A转账BTC给B的交易时,就会自动将B的ETH转到A的ETH钱包中。
由此可见,BTC Relay的核心在于监测BTC网络来确保整个资产交换过程的发生,在交易过程中BTC和ETH两个链并没有实质性的碰撞,只是ETH多了一个对于链外消息(BTC链上交易的消息)的汇报系统。
除此之外,侧链的另外一种实现方式通过双向锚定达到资产转移的效果(注意:此处是资产转移),比如国内的阿希链。
什么是双向锚定呢?众所周知,每个区块链上的资产都只能在自家链上流通,是无法真正的充值到另一个链上的,所以双向锚定的基础还是“锁定”。简单来说就是A链的币想要转到B链上时,要在A链上把币锁定,同时在B链上给你与A链币等值的代币。
假如用户想要将BTC转到阿希链上,操作流程大致为为:用户将BTC转到网关账户(BTC链上的账户,由多个节点管理),跨链网关收到信息以后锁定网关账户并验证,经过大多数节点验证后网关会在阿希链上给用户解锁等值数字资产,用户即可在阿希链上使用BTC。
上述几种跨链的实现方式主要应用于资产交换和资产转移,更多的是底层资产之间的交互,而应用层面的多链跨链更是未来的大势所趋。如果各个链的应用都能连到一起,那么不仅能够跨链资产转移,还能提升扩展能力,弥补单个链上的性能和功能劣势,让区块链真正落地。而目前实现应用跨链的主要解决方案就是中继。
4.中继
多数情况下,中继和侧链的概念是混合在一起的。侧链以一条独立链的形式作为一个中介,让其他各个公链连入这个中介,再通过某种运行机制或协议让连入该中介的链之间进行通信。上文提到的阿希就是一个采用中继模式的侧链。而目前大热的Cosmos和Polkadot也都是使用中继模式的跨链项目。
以Cosmos为例,其区块链主要由Hub(枢纽)和Zone(分区)这两个部分组成。每个Zone和Hub都是独立的区块链,每个Hub下可以连接很多个Zone,Zone是解决特定应用需求的区块链,Hub专注于处理Zone间的跨链交易。Hub就是这个系统中的中继链,而BTC、ETH等现有的区块链都可以以Zone的形式接入Hub,再通过Hub和IBC协议达成各个Zone之间的通信,即可在不改变其原有共识和代币体系的基础上,提升扩展性和互通性。
同时,新的区块链项目也可以在Cosmos中轻松使用其基础设施搭建新链,使研发成本降低。一般一条区块链由上至下分为三层:应用层、共识层和网络层,在Cosmos上搭建区块链,共识层和网络层是通用的,开发者无须费心,应用层可以使用Cosmos提供的Cosmos SDK开发工具,将应用层分为若干个模块,开发者只需要开发自己特定的功能模块,其他通用的模块直接拿来用即可。这就相当于是区块链界的SaaS模式,普通的功能拿来就用,特殊的功能再自己开发。如果说当初ETH推出智能合约让人人都可以发币,那么Cosmos就是让人人都能发链成为了可能。
安全保障上,Hub通过去中心化的验证人组来保证安全性,验证人组有罚金托管机制,它是多资产的分布式账本,也就是一种多资产权益证明加密货币网络,并负责保证各类资产在不同Zone转移的同时,资产总量不变。
简单来说,Cosmos的实现原理就像是手机系统,Hub是系统,目前市面上的各个链相当于App,开发者们将App接入系统内,就可以和这个系统上接入的其他App进行互动,而且这些App可以整合形成一个巨大的生态。
以上就是目前市面上比较受认可的几种跨链方式,其中中继是今年的大热门,也是更加有效可行的跨链实现方式。跨链对于区块链来说是一个非常重要的技术,区块链的落地应用少不了跨链的加持。
目前网络上解读跨链的文章、视频有不少,有的避重就轻不够全面,有的太过深度,普通新手很难看明白,所以很早就想写一篇便于新手理解的跨链解读文章,但惰性作祟一直难产,现在总算码出来了。本重点叙述了跨链的应用范围和主要实现方式,也举例描述了一些相关项目的大致运行机制,希望可以让大家在了解其他跨链项目时多一些参考。
风险提示:文中观点不构成任何投资建议。币圈的项目概念再好都有玩砸的可能,大家理性对待。