跨链调研(下)

上一篇整理了跨链的应用场景与方案,这篇简单介绍一下各个经典项目,包含

  1. ripple
  2. btc relay, cosmos, polkadot
  3. lightning network, raiden network (htlc)
  4. wanchain, FUSION

主流跨链项目

本文简单概括各跨链技术的核心要点:
目前主流跨链技术

  1. 公证人机制(Notary schemes): 公证人也称见证人机制,公证人机制本质上是一种中介的方式。具体而言,假设区块链A和B本身是不能直接进行互操作的,那么他们可以引入一个共同信任的第三方作为中介,由这个共同信任的中介进行跨链消息的验证和转发。公证人机制的优点在于能够灵活地支持各种不同结构的区块链(前提是公证人能够访问相关方的链上信息),缺点在于存在中心化风险。

  2. 侧链/中继(Sidechains/relays):侧链是指完全拥有某链的功能的另一条区块链,侧链可以读取和验证主链上的信息。主链不知道侧链的存在,由侧链主动感知主链信息并进行相应的动作。而中继链则是侧链和公证人机制的结合体,中继链具有访问需要和验证进行互操作的链的关键信息并对两条链的跨链消息进行转移。从这个角度看中继链也是一种去中心的公证人机制。

  3. 哈希锁定(Hash-locking):哈希锁定技术主要是支持跨链中的原子资产交换,最早起源自比特币的闪电网络。其典型实现是哈希时间锁定合约HTLC(Hashed TimeLock Contract)。哈希锁定的原理是通过时间差和影藏哈希值来达到资产的原子交换。哈希锁定只能做到交换而不能做到资产或者信息的转移,因此其使用场景有限。

  4. 分布式私钥控制(Distributed private key control):私密资产通过分布式私钥生成与控制技术被映射到基于协议的内置资产模板的区块链上,根据跨链交易信息部署新的智能合约的创建新的资产。当一种已注册资产由原有链转移到跨链上时,跨链节点会为用户在已有合约中发放相应等值代币。为确保原有链资产在跨链上仍然可以相互交易流通,实现和解除分布式控制权管理的操作称为:锁入(Lock-in)和解锁(Lock-out)。锁入是对所有通过密钥控制的数字资产实现分布式控制权管理和资产映射的过程。这时需要委托去中心化的网络掌管用户的私钥,用户自己掌握跨链上那部分代理资产的私钥。当解锁时再将数字资产的控制权交还给所有者。

跨链项目对比

公证技术:Ripple Interledger协议

早在2012年,瑞波实验室提出 Interledger协议旨在连接不同账本并实现它们之间的协同。Interledger协议适用于所有记账系统、能够包容所有记账系统的差异性,该协议的目标是要打造全球统一支付标准,创建统一的网络金融传输的协议。

Interledger协议使两个不同的记账系统可以通过第三方“连接器”或“验证器”互相自由地传输货币。记账系统无需信任“连接器”,因为该协议采用密码算法用连接器为这两个记账系统创建资金托管,当所有参与方对交易达成共识时,便可相互交易。该协议移除了交易参与者所需的信任,连接器不会丢失或窃取资金,这意味着,这种交易无需得到法律合同的保护和过多的审核,大大降低了门槛。

同时,只有参与其中的记账系统才可以跟踪交易,交易的详情可隐藏起来,“验证器”是通过加密算法来运行,因此不会直接看到交易的详情。理论上,该协议可以兼容任何在线记账系统,而银行现有的记账系统只需小小的改变就能使用该协议。从而使银行之间可以无需中央对手方或代理银行就可直接交易。

侧链技术:BTC Relay

侧链是以锚定某种原链上的代币为基础的新型区块链,正如美金锚定到黄金。侧链是连接各种链,其它区块链则可以独立存在。但是,现在侧链很难做到在其上建立跨链智能合约,所以很难实现各种金融功能,这正是现有区块链在股票、债券、衍生品等领域尚未取得进展的原因。

BTC Relay是在以太坊基金会支持之下诞生并成长起来的,它被认为是区块链上的第一个侧链。BTC Relay把以太坊网络与比特币网络通过使用以太坊的智能合约连接起来,可以使用户在以太坊上验证比特币交易。它通过以太坊智能合约创建一种小型版本的比特币区块链,但智能合约需要获取比特币网络数据,这还比较难实现去中心化。BTC Relay进行了跨区块链通信的有意义的尝试,打开了不同区块链交流的通道。

中继技术:Polkadot和COSMOS

波卡结构

Polkadot解决当今两大阻止区块链技术传播和接受的难题:即时拓展性和延伸性。Polkadot计划将私有链/联盟链融入到公有链的共识网络中,同时又能保有私有链/联盟链的原有的数据隐私和许可使用的特性。它可以将多个区块链互相连接。

在Polkadot看来,其它区块链都是平行链,Polkadot为通过中继链(relay-chain)技术能够将原有链上的代币转入类似多重签名控制的原链地址中,对其进行暂时锁定,在中继链上的交易结果将由这些签名人投票决定其是否生效。它还引入了钓鱼人角色对交易进行举报监督。通过Polkadot可以将比特币、以太币等都链接到Polkadot上,从而实现跨链通信。

image

Polkadot 网络中的中继链(Realy chain)、平行链(Parachain)和转接桥
(Bridge)

转接桥Bridge:连接 Polkadot 和外部区块链网络

转接桥是一种特殊的平行链,它允许波卡网络和独立的区块链网络通信。这些独立的区块链网络不通过波卡中继链进行安全验证,而是使用自己的安全机制,例如比特币和以太坊网络。

中继链Realy:连接并验证平行链

中继链连接着波卡网络。中继链确保平行链的安全并且实现平行链之间的通信,通信的内容可以是交易或者任意形式的数据。

平行链Parachain:基于应用的定制链

平行链是平行于波卡网络的区块链,每个平行链都可以根据不同的业务需求独立设计自己的架构。平行链也会用来并发交易提高扩展性,其通过连接中继链保证其安全。

COSMOS

Cosmos是tendermint团队推出的一个支持跨链交互的异构网络。Cosmos采用的Tendermint共识算法,是一个类似实用拜占庭容错共识引擎,具有高性能、一致性等特点,而且在其严格的分叉责任制保证下,能够防止怀有恶意的参与者做出不当操作。

Cosmos上的第一个空间叫做"Cosmos Hub"。Cosmos Hub中心是一种多资产权益证明加密货币网络,它通过简单的管理机制来实现网络的改动与更新,还可以通过连接其他空间来实现扩展。

Cosmos 网络的中心及各个空间可以通过区块链间通信(IBC)协议进行沟通,这种协议是针对区块链网络的,类似UDP或TCP网络协议。 代币可以安全快速地从一个空间传递到另一个空间,两者之间无需体现汇兑流动性。相反,空间内部所有代币的转移都会通过Cosmos 中心,它会记录每个空间所持有的代币总量。这个中心会将每个空间与其他故障空间隔离开。因为每个人都可以将新空间连接到Cosmos中心,所以Cosmos也可以兼容未来新的区块链。

Cosmos与之区别

Cosmos 也有类似的 Parachain,但是不同于波卡,Cosmos 的 Parachain 需要有自己的共识机制,需要自己维持网络安全性。

相似在于 Cosmos 有 Cosmos SDK,类似波卡里的 Substrate。这两者都可以被开发者用于快速搭建区块链的框架,网络结构也很相似。

哈希锁定技术:Lighting network

image

ETH Raiden network

分布式私钥控制技术

WanChain

WanChain万维链也支持主流公有链间的跨链交易,但首先需要完成在万维链上的注册,确保万维链能够对该链进行唯一识别。

对于跨链交易,万维链利用多方计算和门限密钥共享方案。当一种未注册资产由原有链转移到万维链上时,万维链节点会使用一个基于协议的内置资产模板,根据跨链交易信息部署新的智能合约创建新的资产。当一种已注册资产由原有链转移到万维链上时,万维链节点会为用户在已有合约中发放相应等值代币,确保了原有链资产在万维链上仍然可以相互交易流通。

image

类似传统的银行一样,任何机构和个人,都可以在万维链这家“银行”中开设自己的业务窗口、提供基于数字资产的存贷、兑换、支付、结算等服务。

疑惑点,是否是一个去中心化交易所?跨链交易平台

门限密钥共享机制:类似于approve用户?

FUSION

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

image

总结

结合跨链调研(上)的内容,跨链的本质是解决

  1. 如何保障跨链交易的原子性:介绍了原子互换哈希时间锁协议原理。
  2. 如何完成对另一条链的交易确认:介绍了公证人中继以及榫卯式三大类模式异同。
  3. 如何保障两条链的资产总量不变:从正常异常两种情况分别阐述了应对方案。
  4. 如何保障两条链的独立安全性:主要从隔离机制安全检测机制分析了应对思路。
  5. 如何实现多条链之间的跨链互联:介绍了主动兼容被动兼容两种跨链网络建设方案。

在本文中介绍的集中技术实现,Wanchain和FUSION更倾向于区块链的金融属性(币属性),强调了两条链的资产总量不变的问题。资产的余额总量只是交易数据的一部分,区块链技术应用到代币以外的地方时,资产余额可以泛化为各种业务数据。

实际上从业务上来说,保证交易的确认(一致性)、隔离与安全是区块链业务上亟需的功能。

前不久我们产生过一个这样的讨论:跨链到底是什么,它到底解决什么业务问题

  1. 如果需要另一条链的数据,为什么不能直接接口访问链上已确认的数据?
    1. 如果通过后台接口访问另一条链的数据后自动上链,是链下数据重新上链。 这是中心化数据再上链,存在欺骗问题,违背了区块链的本质;
    2. 能不能直接加入到那个链上作为观察节点获取数据?可以,跨链解决的就是这个问题;

注:访问另一条链再上链的话,加入强监管之后,与公证人模式的跨链相似,但是公证人会验证交易再发到另一条链,不只是采集数据直接上链。同时中继模式是去中心化的公证,收集数据后,由中继部分负责验证。比如侧链的数据是配合主链设计的,方便中继层对交易进行验证;
(可以参考上篇的跨链互联:主动兼容和被动兼容的问题)

跨链的这个问题最后梳理出一点思路:

  1. 首先跨链是两条链交易互通的问题
    1. 一条链上的节点的交易要加入到另一条的共识认证里,才是跨链,而不是查询另一条链的数据;
  2. 因此,跨链做的相当于让一个节点同时加入两个链,能作为一个节点从另一条链上获得去中心化的可信的交易数据(比如资产余额变动)

参考:
何照君,吴建刚:区块链中有哪些跨链技术?https://36kr.com/p/5117175

推荐阅读更多精彩内容