近日,以太坊创始人Vitalik Buterin在接受Fintech媒体采访时表示:算法
不一样区块链之间共通的应用必定会出现。由于区块链是一个开放的系统,其中的一切都是加密认证的,开发出使一个区块链上发生的事件联动另外一个区块链发生变化的应用实际上是很容易的。不少方法能够实现这样的效果,好比哈希锁定和中继。过去的几年已经有不少尝试跨链加密货币交易的实验了。我以为这一技术也能应用到其余领域。目前最大的挑战仍然是寥寥无几的区块链实际应用和使用人群,如今除了个别领域外,还没到开始实施跨链应用的时机。但我以为在一两年内,确定能够看到这方面应用的大规模增加。安全
跨链技术能够理解为链接各区块链的桥梁,其主要应用是实现各区块链之间的原子交易、资产转换、区块链内部信息互通,或解决Oracle的问题等。网络
当今的区块链技术纷繁芜杂,各成一派,彼此之间没法进行价值和数据的交换。虽然不少区块链拥护者声称区块链是下一代互联网,可是因为每一个链都是独立的、垂直的封闭体系,当前的「互联网」只是由许多彼此割裂开来的区块链「孤岛」构成,或者说,当前的区块链看起来更像是内联网。架构
好比,比特币和以太坊是基于全网共识的、蛮力解法的信任机制。这种验证经过同步全网区块,由每一个节点来作验证。可是,那些采用了去中心化帐本技术的区块链(DLT,Distributed Ledger Technology),如瑞波币和IOTA,则一样处于互相隔离的状态。更使人难以接受的是,声称去中心化的区块链之间的价值互换却主要依靠中心化的交易所来完成,链上的资产价值不能获得合理的评估。并发
因为区块链之间互不连通、资产价值的大幅波动大大制约了区块链技术的应用和发展。因此链与链之间的互联操做愈来愈被重视,跨链的需求就由此而来。可是,跨链是一个复杂的过程,既须要对链中节点要有单独的验证能力,也须要去中心化的输入,更须要对链外世界的信息进行获取和验证。目前,跨****链技术主要有三种实现模式:框架
1)公证人模式(Notary Schemes);分布式
2)侧链(Sidechains)/中继(Relays);ide
3)哈希锁定(Hash-locking)。函数
2.1 公证人模式工具
**链与链之间互操做最简单的方法是使用公证人模式。**在公证人模式中,使用受信任的一个或者一组团体向链X声明链Y上发生了某事件,或者肯定该声明是正确的。这些团体既能够自动地监听和响应事件,也能够在被请求的时候进行监听和响应事件。
公证人模式在许可分帐领域受到不少关注,由于其既能够提供灵活共识的主要竞争者,也无需进行昂贵的工做证实或关于利益机制的复杂证实。公证人模式的表明项目有Corda。
Corda
**Corda是R3联盟推出的金融联盟「类区块链」技术架构。**Corda中一样是用交易组成帐本,但并无区块,这个和传统区块链结构相比有很大不一样。**交易仅在参与方和公证人间传播。**公证人是交易双方共同选择出来的,具备高度可信的特征。公证人负责验证数据的有效性和数据的惟一性。
因为Corda选择了最高安全性的公证人模式,所以在跨帐本消息处理上,变得较为简单:仅需选取不一样帐本的交叉公证人或者强行指向同一个公证人且让其对帐本进行同步便可安全的验证跨帐本消息。
2.2中继/侧链模式
**若是一个链B能拥有另一个链A的全部功能,则称链B为链A的侧链,链A为链B的主链。**其中主链A并不知道侧链B的存在,侧链B知道有主链A的存在。
假设区块链拥有区块Header和Body,Header中拥有Merkle等证实信息,能够将链A的区块链头,写入链B的块中,链B使用和链A同样的共识验证方法,好比PoW验证难度和长度,PBFT验证投票等。等待链A的区块头序列以后,链B就能够经过Merkle分支的证实信息来证实链A的数据和操做。
链A、B不能直接验证对方块的状态,由于这样会造成循环,但相互只包含轻节点是可行的,这个区块链验证的逻辑能够由链协议自己或应用合约实现。上述该过程以下图1所示。
图1 中继/侧链模式资产转移流程
图2 中继/侧链模式下事件的发送和接收接口
图2中代码须要在使用中继/侧链模式的两条链上同时存在,但同时须要两条链上的币或物是能够无限量发行的,这样才能够保证验证过程没有错误,从而来达到资产转移操做。中继/侧链模式的表明项目有BTC-Relay、RootStock、Polkadot、Cosmos等。下面将依次对各项目进行介绍。
BTC-Relay
BTC-Relay是一种基于以太坊区块链的智能合约,把以太坊网络与比特币网络以一种安全去中心化的方式链接起来。BTC-Relay经过使用以太坊的智能合约功能能够容许用户在以太坊区块链上验证比特币交易。
BTC-Relay使用区块Header建立一种小型版本的比特币区块链,以太坊DApp开发者能够从智能合约向BTC-Relay进行API调用来验证比特币网络活动。BTC-Relay进行了跨区块链通讯的有意义的尝试,打开了不一样区块链交流的通道。BTCRelay的认证过程以下图3所示。
图3 BTC Relay交易认证过程
其中,BTC Relay社区成员,被称为Relayers。全部人均可以加入以太坊网络并成为一名Relayer,而且无需花费硬件或者电力
RootStock
**RootStock 是一个创建在比特币区块链上的智能合约分布式平台。RootStock采用了「混合」安全模式,同时包含了PoW机制和私人网络模式,基于联合的门限签名方案实现的安全联合工做量证实挖矿机制。**它的目标是将复杂的智能合约实施为一个侧链,为核心比特币网络增长价值和功能。
RootStock实现了根链虚拟机(RVM),是以太坊虚拟机的一个改进版本,它将做为比特币的一个侧链,使用了一种可转换为比特币的代币(根币,RTC)做为智能合约的「燃料」。RootStock与比特币之间采用的是双向锚定机制。RootStock的交易认证过程以下图4所示。
图4 RootSock交易认证过程
Polkadot
**Polkadot是Web3基金会的跨链协议开源项目。**由Parity团队的Gavin Wood主导开发。**Polkadot宣称是将来Web3.0时代的基础设施之一,是一个将来「区块链互联网」的基础协议。**Polkadot协议强调解决当前区块链技术的伸缩性和隔离性问题,以提供众多异构区块链系统之间去信任、去中心化的通用的互访问性、互操做性为目标。
Polkadot的核心思想是区分交易方发起和执行交易的方式以及交易方统一记录的方式。Polkadot提供基础的中继链(relay-chain),不少可验证的、全球动态同步的数据架构都创建在这个基础上,这些数据架构为平行链或者侧链。区块链应用能够将以太坊分叉,按照各自需求调整,经过Polkadot与以太坊公有链链接,或者给不一样的链设置不一样的功能,实现更好的扩展性和效率。Polkadot的原理图以下图所示。
图5 Polkadot的原理图
图5所示流程大体以下:收集人收集而且广播用户的交易,也广播候选区块给钓鱼人和验证人。用户提交一个交易,先转移到平行链外部,而后经过中继链再转移到另外一条平行链,成为一个能够被平行链上帐户执行的交易。
Cosmos
Cosmos是Interchain Foundation的跨链开源项目。Cosmos是专****注于解决跨链资产转移的区块链网络。
该网络主要由两部分组成:Cosmos Hub和若干个Zone。
每一个Zone能够看做是单独的区块链空间。每一个Zone会和Hub保持状态同步。Hub经过去中心化的验证人组来保证安全性,验证人组有罚金托管机制,它是惟一的多资产中心帐本,并负责保证各种资产在不一样Zone转移的同时,资产总量不变。
Hub既是中继链。Zone之间的跨链通讯主要是经过与Hub之间的IBC协议来实现。Zone1向Zone2作跨链消息时,Zone1先生成消息包,并将其证实发布在Hub上,接下来Hub会生成Zone1的跨链消息包已在Hub上的存在证实的证实发布于Zone2,接下来Zone2收妥消息包,并给出证实发布于Hub上,最后,Hub再给出Zone2的收妥证实的证实发布于Zone2,完成整个跨链消息传递。
上述Cosmos的区块链间通讯以下图6所示。
图6 Cosmos的区块链间通讯
2.3哈希锁定模式
哈希锁定模式的设计是但愿链A与链B之间尽量少的了解彼此,并做为消除公证人信任的手段,该模式的基本流程以下图7所示。
图7 哈希锁定模式流程图
图7所示基本流程以下:
1)A生成随机数S,并发送hash(S)给B。
2)A在链LA上锁定币,并设定条件:若是在(当前时间+2X=TA)时间内链LA收到S,则转帐给B,不然退回给A。
3)B收到hash(S),并看见A的锁定和时间设定后,在链LB上锁定币,并设定条件:若是在TA-X时间内链LB收到S,则转帐给A,不然退回给B。
4)A看见B的锁定后,在TA-X时间内发送S给链LB,获得链LB的币。
5)B收到S后,在TA时间内发送S到链LA,获得链LA的币
哈希锁定模式的表明项目有Interledger、闪电网络等。
Interledger
Interledger是由Ripple公司主导发起的跨帐本价值传输开放协议。Interledger不是区块链,它是链接各种帐本的支付标准、统一协议。Interledger专一于跨帐本间资金流动领域。
**Interledger自己并非一个帐本,它并不寻求任何的共识。****相反,它提供了一个顶层加密托管系统,在称之为「链接者」**的中介机构的帮助下,可让资金在各帐本之间进行流动。此外,Interledger也没有原生代币,所以,操做该协议的个体帐本,仍然可使用它们本身的原生代币,这种互操做性解决了特定支付网络的问题。Interledger的加密第三方与交易发送者和接收者的关系以下图8所示。
图8 Interledger的加密第三方与交易发送者和接收者的关系
闪电网络
闪电网络的目的是实现安全地进行链下交易,其本质上是使用了哈希时间锁定智能合约来安全地进行0确认交易的一种机制,经过设置巧妙的「智能合约」,使得用户在闪电网络上进行未确认的交易和黄金同样安全(或者和比特币同样安全)。
使用闪电网络第一步须要在用户A和用户B之间开启双向支付通道。这个通道是在主链以外,以下图9所示。
图9 闪电网络结构图
交易双方在开启闪电交易功能以前,会首先将开启状态所需的数据写入主区块链中创建闪电交易合约,例如锁按期限,合约规则等数据。
当闪电网络出现故障时,将按照合约规则和举证方的数据,在主区块链上进行处理。每个状态通道创建,相似于一个多重签名系统构建,保证了交易双方守信原则,它比多重签名多了合约的处理。对不守信,将会在主网络受处处罚。处罚在期限内能够获得申诉,例如1000个区块期,而这种申诉是算法进行维护,不以人为因素为标准。
在通道内是双方私匙签名的区块链数据流,双方全部交易细节均在这个数据流获得体现,并以独立链的形式存储,它是证实一个通道是否合乎算法规则。当一个状态通道结束后,双方按照闪电网络输出的最终状态数据来兑现合约,这至关因而一个交易账本,账本记录了参与方交易结果,进而实现财产从新分配。
上文中提到的各个跨链项目,他们本质上仍是一条链,其自己很难再扩展,不太具有通用性。他们都是用一个新链作跨链的工做,须要链与链之间进行锚定。例如,Polkadot借鉴了不少其它项目的架构,因此他的设计和其余项目是很不同。可是,Polkadot是个异构的多链框架,一条中继链链接多条平行链的系统。虽然能够挂接多个链,可是Polkadot自己仍是一个链。
而Pallet是在作协议——多利益关联方的共识协议,全部的链均可以是参与方,不须要「链与链」之间的锚定。Pallet协议和体系不产生独立的链,而是采用陪审团制度随机选取陪审员,全部的陪审员节点再去对接各底层链实现存证,最大化利用现有的链和资源。
Pallet能够将应用挂在多个链上,避免网络拥塞,用户选择性大,使得各类DApp应用能够部署在不一样的链上,能够造成良性竞争,更多用户能够参与,开发者在开发应用时能够根据业务需求更灵活的选择已有的链,或者方便的从已有经部署的链上迁移到更好、更新的链上,从而使已有的应用生态突破原来部署区块链的自身架构局限、性能局限或者功能局限。
Pallet能够水平地与不一样底层区块链进行对接,以下图10所示。Pallet不对底层链进行彻底复制,而是使用参与者机制,是一种轻量级协议。
图10 Pallet跨链体系
Pallet在区块链或DLT(Distributed Ledger Technology,分布式帐本技术)之上构建了可扩展的「元层」,并在元层中实现「互操做」。元层就是Pallet努力实现的、互链层的IP协议。
Pallet根据不一样应用的智能合约选出一个陪审团,由该陪审团来验证智能合约的执行。Pallet将Pallet通证(Token)做为支付给陪审团的激励。陪审团在Pallet中的角色至关于其余链上的矿工。Pallet还增长了惩罚机制,普通节点想成为注册的陪审员,须要本身的一部分资金进行抵押,若是一旦发现陪审员做恶,则Pallet将会没收其抵押资金。
Pallet做为跨链协议起到了将链与链连通的效果。Pallet与其余跨链技术在应用场景方面的是有必定的区别,具体区别以下表所示。
因为Pallet不是链,是经过特定的函数和库与底层链沟通,因此Pallet的应用场景相对较广,而且实现难度上也处于中等难度。
因为Pallet不是一条链,因此其智能合约执行机制、挖矿机制、奖励机制和应用领域等与第二章中跨链项目有很大的区别,具体区别以下表所示。
第二章中的各个跨链项目的目标是解决特定区块链之间的信息交换,或者针对不一样应用领域而设计,因此这些跨链项目的通用性不是很高。可是Pallet因为是协议,因此他能作到万链互联,多利益关联方互利双赢,从而助推「价值互链网」的实现。
小结
现有的区块链从应用、智能合约、共同帐本、共识网络绑死,每一个链造成了独立的垂直的封闭体系,当一个应用绑死在一个链上的时候,难以采用新技术,难以带着原有数据和资产迁移到新的链上。
Pallet是一个分布式的、包容的交易执行环境,而不是另外一种加密货币。Pallet和底层区块链、合约编写语言和执行平台都是解耦的,容许用户同时进行链上和链下的资产交易。
所以,它能够在不一样平台的不一样区块链上执行不一样语言编写的智能合约。经过利用现有的LLVM和WASM工具,能够方便地使Pallet提供安全的智能合约执行,同时,Pallet的高性能也使合约隐私性加密成为可能。
参考文献
[1] 《Chain Interoperability》
[2] 《联盟链的多链与跨链的思考与实现(一)》
[3] 《 区块链解读22-跨链技术》
[4] 《链接不一样区块链的跨链技术介绍》
[5] 《 **【汇编2】区块链的跨链技术》
[6] 《重磅项目波卡链来袭,深度解析Polkadot跨链技术》
[7] 《Ripple发布Interledger,欲将银行帐本和区块链链接到一块儿》
[8] 上述各项目的白皮书
本文来源:区块链新讯
如下是咱们的社区介绍,欢迎各类合做、交流、学习:)