区块链跨链技术整理

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/w365904/article/details/98611731
  1. 跨链技术背景

区块链属于分布式账本技术的一种,每一条链都相当于一个独立的账本,通常情况下不同账本之间是无法实现价值转移的。随着技术以及市场的发展,加密货币的种类越来越多,与此同时也涌现出来大量不同的区块链。不同链之间的协同从操作以及价值流通成为了用户们的新需求,因此区块链的“跨链技术”应运而生。

  1. 跨链基础需

资产兑换和资产转移

资产兑换:A想用X链的币(Token)兑换Y链的币(token),B想用Y链的币兑换X链的币,经系统撮合,两者互相兑换成功

资产转移:A想把X链的资产(币token)转移到其他区块链上,在x链上锁定,在新的链上重新铸造等量等值的币。

https://ask.qcloudimg.com/http-save/developer-news/y9s2sygeys.jpeg?imageView2/2/w/1620

  1. 什么是跨链技术

所谓“跨链”就是指原本存储在特定区块链上的资产可以转换成为另一条链上的资产,从而实现价值的流通。也可以将其理解为不同资产持有人之间的一种兑换行为,这个过程实际并不改变每条区块链上的价值总额。就好比交易平台提供的币币交易一样,不同类型的数字货币之间可以进行兑换,只是交易平台的这一行为没有发生在区块链上而已。

从技术上来看区块链属于分布式账本,而从商业层面来看,它本质上属于一种价值网络,不同区块链之间的孤立性不仅导致了数字资产不能在区块链之间流通,同时也将其价值局限在了一个狭隘的范围内,一定程度上限制了其自身的发展空间。

https://ask.qcloudimg.com/http-save/developer-news/zrtp0skicc.jpeg?imageView2/2/w/1620

行业非常需要跨链的技术,接下来重点介绍三种相对成熟(当然仍存在一些问题)的方案,分别是公证人机制、侧链/中继器模式、哈希锁定模式。这几类也在以太坊创始人vitalikR3撰写的报告中被提及,另外可能还有一些更新的模式没有收入进来。

  1. 主流的跨链技术

1、公证人机制(Notary schemes/去中心化交易所协议

2、哈希锁定(Hash-locking

3、侧链/中继(Sidechains/relays

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

4.1 公证人机制

公证技术:瑞波Interledger协议

中心化或多重签名的见证人模式,见证人是链A的合法用户,负责监听链B的事件和状态,进而操作链A。本质特点是完全不用关注所跨链的结构和共识特性等。假设AB是不能进行互相信任的,那就引入AB都能够共同信任的第三方充当公证人作为中介。这样的话,AB就间接可以互相信任。具有代表性的方案是Interledger,它本身不是一个账本,不寻求任何的共识。相反它提供了一个顶层加密托管系统称之为“连接者”,在这个中介机构的帮助下,不同的记账系统可以通过第三方“连接器”或“验证器”互相自由地传输货币。记账系统无需信任“连接器”,因为该协议采用密码算法用连接器为这两个记账系统创建资金托管,当所有参与方对交易达成共识时,便可相互交易。该协议移除了交易参与者所需的信任,连接器不会丢失或窃取资金,这意味着,这种交易无需得到法律合同的保护和过多的审核,大大降低了门槛。同时,只有参与其中的记账系统才可以跟踪交易,交易的详情可隐藏起来,“验证器”是通过加密算法来运行,因此不会直接看到交易的详情。理论上,该协议可以兼容任何在线记账系统,而银行现有的记账系统只需小小的改变就能使用该协议。从而使银行之间可以无需中央对手方或代理银行就可直接交易。

去中心化交易所协议 0x, loopringkyber

https://ask.qcloudimg.com/http-save/developer-news/fvatw3jimp.jpeg?imageView2/2/w/1620

0x协议

0x的技术实现中,引入了Relayer的概念。Relayer可以理解是任何实现了0x协议和提供了链下订单簿服务的做市商、交易所、Dapp等等。Relayer的订单簿技术实现可以是中心化的也可以是非中心化的。Relayer从成交交易中收取手续费获利。交易过程大略如下:

1. Relayer设置自身的交易服务费用规则,并对外提供订单簿服务;

2. Maker选定一个Relayer进行挂单创建和填充必要的订单,手续费信息,并用私钥签名;

3. Maker将签名后的订单提交给Relayer

4. Relayer对订单做必要的检查,并将其更新到自身的订单簿;

5. Takers监看到订单簿的更新,并选中成交订单;

6. Takers对选中的订单进行填充,并广播至区块链完成最后的成交。

注:Looping0x的加强版,可以自动完成多环路撮合交易。

Kyber网络

https://ask.qcloudimg.com/http-save/developer-news/hjelbc4mks.jpeg?imageView2/2/w/1620

Kyber引入了储备贡献者的角色为代币储备库提供代币,引入了储备库管理者来管理运营储备库。储备管理者负责周期性设置储备库兑换率,并利用储备库对普通用户提供的兑换折价来获取利益,储备库与储备库之间是互相竞争关系,以保障给用户提供最优的兑换价格。

4.2 哈希锁定-Lighting network-同步性

哈希锁定起源于闪电网络的HTLCHashed TimeLock Contract),如今也使用较为广泛。它实现的过程如下:

https://ask.qcloudimg.com/http-save/developer-news/2k4ggcu5py.jpeg?imageView2/2/w/1620

例如使用Hash-locking来实现20ETH1BTC的原子交换过程:

1.A生成随机数s,并计算h = hash(s),将h发送给B

2.A生成HTLC,超过时间设置为:2小时,如果2小时内B猜出随机数s,则取走1BTC,否则A取回1BTC;这里Ah锁住BTC合约,同时B也有相同的h。这样AB都有相同的锁h,但A有钥匙s

3.B在以太坊里部署智能合约,如果有谁能在1小时内提供一个随机数s,让其hash值等于h则可以取走智能合约中20ETH

4.A调用B部署的智能合约提供正确的s,取走20ETH

5.B得知s,还有1小时时间,B可以从容兑现AHTLC1BTC

一旦超时,交易失败,符合原子性。

注意:这里引入时间的参数主要是为了,一旦时间超时,当前用户可以收回自己的币。不然自己的币可能被恶意无限制锁定。

4.3 侧链/中继

RSK, BTC Relay, Polkadot, Cosmos-异步性,资产转移

侧链系统可以读取主链的事件和状态,即支持SPVSimple Payment Verificaiton),能够验证块上Headermerkle tree的信息。本质特点是必须关注所跨链的结构和共识特性等。一般来说,主链不知道侧链的存在,而侧链必须要知道主链的存在;双链也不知道中继的存在,而中继必须要知道两条链。

侧链Sidechains—— RSK

侧链是以锚定某种原链上的代币为基础的区块链,如法币对黄金的锚定一样。该技术最初是为了解决主链扩展性问题而想出来的扩容技术,每个区块链可以通过协议来实现强制执行的共识。一个区块链系统性能能够理解其它区块链的共识系统,能够实现在获得其它区块链系统提供的锁定交易证明之后,自动释放比特币。可以用下图来描述:

https://ask.qcloudimg.com/http-save/developer-news/zzafbf9i8h.jpeg?imageView2/2/w/1620

中继(Relays)—— BTC Relay

BTCRelay是把以太坊当作比特币的侧链,与比特币通过以太坊的智能合约连接起来,可以使用户在以太坊上验证比特币交易。

主要原理是BTC Relay利用BTC区块头在etherum上储存比特币区块头构建精简BTC区块链,类似SPV钱包,以太坊DApp开发者可以从智能合约向BTC Relay进行API调用来验证比特币网络活动。

https://ask.qcloudimg.com/http-save/developer-news/awpwa9fx1n.jpeg?imageView2/2/w/1620

其使用场景如下:

1.AliceBob同意使用BTCSwap合约来进行交易,Alice要买BobethBob把他的 eth发送到BTCSwap合约

2.AliceBob发送bitcoin,她希望BTCSwap这个合约能知道这件事以便BTCSwap合约可以释放Bob之前的eth

3.Alice通过bitcoin的交易信息以及BTCSwap合约地址来调用btcrelay.relayTx()btcrelay验证这笔交易通过后就触发BTCSwap合约里面的processTransaction方法

4.BTCSwap合约在被触发后确认这个btcrelay地址是一个合法地址,然后释放之前Bobeth,交易完成。

https://ask.qcloudimg.com/http-save/developer-news/ibe1210sma.jpeg?imageView2/2/w/1620

中继(Relays)—— Cosmos

Cosmostendermint团队推出的一个支持跨链交互的异构网络。cosmos hub作为relayZone分区承担relayer角色,cosmos hub 承担verifierrelay的角色, 只传递消息,本身不作为一个链维护。

https://ask.qcloudimg.com/http-save/developer-news/iw9o4n1mli.jpeg?imageView2/2/w/1620

https://ask.qcloudimg.com/http-save/developer-news/oah34rr8pd.jpeg?imageView2/2/w/1620

IBC协议定义了最主要的两个交易类型的数据包。一个就是IBCBlockCommitTx。它做的事情实际上就是把发起的这条链的当前最新的区块的头部信息传到目标区块链。这样的目标区块链就获得了当前最新的这个链里面Merkle Root。另外一个包的类型就是IBCPacketTx。这个就是传递了跨链转代币的交易信息,这个交易信息实际上是在消息体里面实际包含的payload信息。这个消息在原链上的一个Merkle Proof

https://ask.qcloudimg.com/http-save/developer-news/vwbqixq0ra.jpeg?imageView2/2/w/1620

中继(Relays)—— Polkadotrelay作为一个链且提供一致性

Polkadot技术是Gavin Wood 由以太坊核心开发EthcoreParity公司)开发的公有链,Polkadot计划将私有链/联盟链融入到公有链的共识网络中,同时又能保有私有链/联盟链的原有的数据隐私和许可使用的特性。

Polkadot基于Notary、侧链和中继技术,采用多链融合的设计模式parachains+relay-chain,兼具拜占庭和POS的共识协议来建立自己的技术路线。它将所有其它区块链都视为平行链,Polkadot为通过中继链(relay-chain)技术能够将原有链上的代币转入类似多重签名控制的原链地址中,对其进行暂时锁定,在中继链上的交易结果将由这些签名人投票决定其是否生效。

平行链(可并行化的链)是更简单的区块链形式,它附着在由“中继链”提供的安全性上,而不是由自己提供安全。之所以称之为中继链,是因为它不仅可以为平行链提供安全性,而且可以保证它们之间可以安全地传递消息。

Polkadot畅想了一种新的区块链形态,由单独的中继链去统一管理共识安全和数据交互,用百花齐放的平行链技术去满足各种应用需求,进一步分离共识和状态转换。

https://ask.qcloudimg.com/http-save/developer-news/qo43sed1y6.jpeg?imageView2/2/w/1620

4.4 分布式私钥控制

各种加密资产可以通过分布式私钥生成与控制技术被映射到FUSION公有链上。多种被映射的加密资产可以在其公有链上进行自由交互。实现和解除分布式控制权管理的操作称为:锁入(Lock-in)和解锁(Lock-out)。锁入是对所有通过密钥控制的数字资产实现分布式控制权管理和资产映射的过程。解锁是锁入的逆向操作,将数字资产的控制权交还给所有者。

https://ask.qcloudimg.com/http-save/developer-news/tbr851wjgc.jpeg?imageView2/2/w/1620

5

  1. 总结

早期跨链技术包括以瑞波和BTC Relay为代表,它们更多关注的是资产转移;现有跨链技术以PolkadotCosmos为代表更多关注的是跨链基础设施;新出现的FUSION实现了多币种智能合约,在其上可以产生丰富的的跨链金融应用。

https://ask.qcloudimg.com/http-save/developer-news/w9bxfofq5q.jpeg?imageView2/2/w/1620

 

 

展开阅读全文

没有更多推荐了,返回首页