区块链跨链技术

原因

无法跨链的区块链就如网站没有浏览器,互联网没有搜索引擎。

跨链技术是实现区块链价值互联的关键,它是把区块链从分散的孤岛中拯救出来的良药,是区块链向外拓展和连接的桥梁。

要素

基础的跨链满足以下5个步骤:

  1. 在A链的用户A向在B链的用户B发起兑换请求
  2. 跨链协议锁定A链币
  3. 跨链协议锁定等值数量的B链币
  4. 将B链币发到用户B的钱包地址,同时拿走锁定的用户A的链币
  5. 在A链上用户A的币被转走,同时在B链上用户B得到等值的币

根据这5个步骤,需要区块链5项能力

  1. 便携式资产(portable assets):资产可以多条链之间来回转移和使用
  2. 满足原子性交换(atomic swap):跨链资产兑换是安全的而且同步发生的。(不同链上的两位用户可以发起两笔传输交易,要么在两个账本上一起执行,要么两个账本都不执行,即原子性)
  3. 带有跨链互通性,具备他链信息和事件的读取和验证能力(Cross-chain oracle issues):在某些情况下,一个链(如A链)的智能合约执行机制可能是依赖另一个链(B链)的条件触发,所以A链要能获得B链的所有相关条件状态,即c具备他链信息和事件的读取和验证能力。
  4. 资产留置权(Asset encumbrance):在某些情况下,相关联的两个链资产同时需要被锁定,如抵押品或者法院强制执行的扣押等。
  5. 跨链执行合约(General cross-chain contracts):例如根据链A的股权证明在链B上分发股息等。

跨链技术主要有以下几种

  • 公证人机制(notary schemes)
  • 侧链/中继(sidechains/relays)
  • 哈希锁定(hash-locking)
  • 分布式私钥控制(distributed private key control)
  • 公证人机制+侧链混合技术(notary schemes + sidechains mixing technology)

img

公证技术:如瑞波Interledger协议 ★★★

在2012年,ILP由瑞波实验室提出,解决不同账本之间的协同。流程如下

  1. Alice是拥有A链的账户,Bob是拥有B链的货币,Cot是拥有A、B链的货币;Alice将向Bob进行一笔交易(如转账)
  2. Alice通过其他通讯手段,得到Bob提供的一个“共享密码”以及Bob在ILP网络中的对应唯一地址(如bob.ripple.rHCvhtqhXuBvWt5g79gyXfpG8VcrvUm9E9)
  3. Alice向Cot询价,Cot根据Alice的转账金额和市场行情算出总的交易额(包括交易费)
  4. Alice根据ILP规定生成ILP包,指定目标目标地址为Cot,同时给予ILP包的私有内容和“共享密码”生成一个“条件原像”,对“条件原像”HASH生成交易托管所需要的“条件”
  5. Alice在A链上发起一个托管交易(转账),托管条件为4所生成的条件,设置超时时间
  6. Cot在A链上检查到一笔涉及自己的托管交易,同时收到Alice的ILP包;计算和校对需要交易的额度后,将ILP包目标地址修正为Bob,并在B链上发起一个托管操作,设定交易条件为Alice的交易条件,设定超时时间,超时时间小于5.的时间,然后将ILP包发送给Bob
  7. Bob收到ILP包,用“公共密码”解出“条件原像”,用HASH校对“条件”;同时检测到B链上的托管交易,校对金额后,转入“条件原像”,确认收到交易的金额
  8. Cot在B链检测到涉及自己的托管交易被确定,分析交易数据,得到“条件原像”;把“条件原像”输入到A链上,并确认交易,收到交易的金额和手续费
  9. Alice在A链上检测到涉及自己的托管交易被确定,此次交易完成

img

侧链技术:BTC Relay ★★

BTC Relay 是在以太坊基金会支持下诞生并成长起来的,属于早期的侧链技术。它在以太坊上建立一个bitcoin轻钱包,用于操作bitcoin,并给以太坊智能合约提供操作bitcoin的接口,这样用合约就能完成BTC和ETH的交易。是非常简单的一种跨链技术。但它的交易费用特别高。

img

中继技术:Polkadot ★★★★★ (其他如Cosmos,tendermint团队开发)

Polkadot(Parity公司开发)将区块链共识分成两个部分:有效性和一致性。有效性的概念是比如我有10个比特币,我转给A是有效的,我转给B也可以是有效的。但一致性的概念就是我只能转给其中某一个人,即使我发出了两笔有效的交易,最终网络会共识出一条最长链来达成一致,另一个交易会被丢弃。更加概括性地讲就是有效性负责运算,一致性负责投票,一个是强CPU依赖的,一个是强出块权依赖的。

Polkadot 结构中核心有两个部分:中继链和平行链,中继链负责一致性,平行链负责有效性。中继链采用POS共识算法,将主要借鉴Honeybarger,还有Tendermint。平行链由很多固定身份的收集人管理,以收集交易手续费为激励,为中继链提供自己的块头和跨链交易相关的证明数据,这部分数据在Polkadot里称为平行链的候选块,将来由中继链的验证人随机选定。由于平行链也不一定真有一条链,所以这里的块也是泛指。中继链会分成两类,第一类是类似以太坊和比特币这样有自身共识系统的区块链,他们有自身的POW矿工来维持链的运转,他们不能直接作为平行链参与到Polkadot网络中来,而是需要新成立一些收集人组建转接桥系统,将以太坊区块的数据整理为中继链所需的格式,这个转接桥系统才是Polkadot的平行链。第二类是还没有出现的过的区块链系统,他们将来的出块人就是收集人,他们链区块的决定权是由中继链的验证人决定的,这类系统可能才真正是Polkadot所设想的未来链。

img

哈希锁定技术:Lighting network ★★

闪电网络基本原理:Alice在A链与Bob在B链进行一笔交易

  1. Alice在A链用密码H=HASH(S)锁定一笔资产,并设定时限,时限到来前,如果有人能交出S,这笔资产就转给他,否则这笔资产归还给Alice
  2. Alice将H发给Bob
  3. Bob在B链上用H锁定一笔资产,设定时限,小于1.的时限,时限到来前,如果有人能交出S,这笔资产就转给他,否则这笔资产归还给Bob
  4. Alice在B链上交出S,得到Bob锁定的资产,同时B得到了S
  5. Bob在A链上交出S,得到Alice锁定的资产

img

分布式私钥控制技术:FUSION ★★★ (其他如国内开发的WanChain)

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

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

img

混合技术:Ether Universe ★★★★

以太宇宙分为主链和不同区块链上的子链,主链是整个生态体系中的最重要部分,其承载了整个平台交互逻辑,记录了所有交互信息,链上产生的代币用于支付每次跨链服务所消耗的 gas。子链则用于辅助主链来对其他区块链进行双向锚定。

img