赞
踩
论文题目:区块链跨链技术进展研究
论文作者:李 芳, 李卓然, 赵 赫
通讯作者:赵赫, E-mail: zhaoh@hfcas.ac.cn
发表期刊:软件学报
通过在共识算法、区块结构、扩展协议等方面的不断创新,区块链领域涌现了诸多项目。例如
区块链项目的蓬勃发展,不可避免地引出了一个问题:链与链之间如何实现互联互通?链联网(Internet of blockchains)能否为继互联网、物联网的下一个基础网络架构?随着区块链项目数量越来越多,价值孤岛现象也更加严重。区块链资产是否能够实现无需第三方参与的原子交换(atomic swap)?基于跨链的区块链下扩容技术方案存在哪些争议?区块链智能合约的应用过程中,区块链又如何与传统互联网系统实现可信任的数据交换?
区块链的跨链技术是区块链实现互联互通、提升可扩展性的重要技术手段。在网络形态上,区块链不同于互联网,后者支持一张网接入全球的节点,前者则形成了多个相互隔绝的平行网络。随着区块链项目数量的不断增加、区块链应用场景的不断复杂化,而不同区块链之间相互隔绝,致链之间无法有效进行数字资产转移、跨链通信等操作,越来越多的区块链项目提出跨链的需求与解决方案。
根据目前主流跨链技术的设计研发,跨链的目的以及要解决的问题主要包括以下几点:
以太坊的创始人 Buterin 曾经总结了 3 类跨链技术4——公证人机制(notary schemes)、侧链/中继(sidechains/relays)、哈希锁定(Hash-locking)。除此之外还补充了通信协议簇的方法。
公证人机制是通过选举一个或多个组织作为公证人,对链 A 的事件进行自动或请求式监听,并在指定事件发生后,在链 B 执行相应动作,实现对事件的响应。公证人群体通过特定的共识算法,对事件是否发生达成共识。公证人机制又分为中心化公证人机制(centralized notary schemes)和多重签名公证人机制(multisig notary schemes),区别在于后者利用密码学技术,在每次交易验证时从公证人群体中随机选出一部分公证人,共同完成签名的签发,从而降低对公证人可靠性的依赖程度。
侧链/中继是以轻客户端验证技术为基础,即:在链 B 上执行类似区块链轻客户端功能的智能合约,通过验证链 A 的加密哈希树以及区块头来验证链 A 的某项特定交易、事件或状态信息是否发生。
通过在两条链上运行特定的智能合约,实现跨链交易与信息交互。用户 A 生成随机数 s,并计算出该随机数的哈希值h=hash(s)发送给用户 B;A 和 B 通过智能合约先后锁定各自的资产;如果 B 在 X 时间内收到正确的 s,智能合约自动执行将 B 的资产将转移给 A,否则退回给 B;如果 A 在 2X 时间内收到随机数 s,A 的资产将自动转移给 B,否则退回给 A。
通信协议簇指该跨链技术主要通过规定一系列通信数据格式与协议规范等实现区块链接入。通信协议簇类跨链技术由于以定义系统结构、通信协议、数据格式、工作流程等各类标准规范为主,未来能否成为主流的跨链方案,主要取决于区块链产业界各方对该协议规范的接受度以及在协议实现层面能够获得多大范围的支持。
大多数区块链系统在诞生之初就缺乏互操作特性,跨链技术在设计与实现时需要重点解决如何适配各类区块链,并确保跨链操作的高效率和高安全性。
原子转移(atomic transfers)5,2013年5月Nolan 在 BitcoinTalk 论坛提出构成了实现原子式跨链数字资产交易的最初基础技术方案。原子转移也称原子交换(atomic swap),其概念类似于传统证券结算系统的货银对付或外汇交易系统的交易同步交收,在区块链领域,即指双方交易同时发生或同时不发生,二者不可分割。该方案通过让交易双方分别在比特币区块链和其他数字货币区块链上设定合约脚本,并利用是否获知某个哈希值的原像作为合约触发条件。该原像由交易一方在交易之前随机产生,并结合方案设计的一系列合约锁定、解锁流程,实现跨链交易的原子性。 Nolan 的技术方案经过改进升级后被称为哈希锁定,并成为跨链的一种主要技术手段。在用于 BTC 链下交易扩容方案的闪电网络(lightning network)中也运用了类似的哈希时间锁定合约。
比特币核心开发者加入的 Blockstream 公司在 2014 年 10 月发布的白皮书中提出了楔入式侧链(pegged sidechains)6的概念,其目的是实现不同区块链资产的跨链转移,以及可以在不影响主链的情况下,实施更多的技术创新与金融创新。双向楔入(two-way peg)作为侧链的核心技术基础,定义为不同链资产的等值转换机制,并分为对称式双向楔入与非对称式双向楔入。2016 年 12 月,Blockstream公司进一步提出强联邦侧链(sidechains with strong federations)的概念,在资产交换中引入由多方控制的多重签名地址,以减少延迟并提升互操作性。
Ripple 公司在 2015 年 11 月发布的 Interledger 白皮书7中提出了一种用于不同支付网络或账本系统交互的协议,并计划覆盖至区块链账本及各类传统支付系统。Interledger 通过连接者(connector)传递跨系统的交易,在最终接收者收到资金前,传递线路上各个支持 Interledger 协议的系统会对各环节发送者的资金进行托管锁定。Interledger 协议的交易托管与执行分为两种方式,其中,原子模式是由参与者选出一组公证人来协调交易;通用模式无需公证人,通过参与者给予激励以及反向执行指令来确保安全支付。Interledger 最初作为公证人机制的跨链代表,在协议发展过程中,也开始逐步融入哈希锁定的理念。
业界在探索区块链间的跨链同时针对 BTC 本身的扩容问题发展出链下交易技术。Poon 于 2015 年 2 月发布了闪电网络(lightning network)白皮书8,该技术是通过设计一种新的支付渠道网络实现可扩展的连锁即时支付.闪电网络利用链下支付提高交易处理效率,可以被认为是区块链内部的跨链操作。随着闪电网络的实现及升级,2017 年 11 月,闪电网络在链下首次实现了测试网中 BTC 和 LTC 的跨链原子交易。
2016 年 5 月,美国区块链软件技术公司 ConsenSys 设计了 BTCRelay9,实现了以太坊对比特币区块链数据的跨链访问。**BTCRelay 实质是在以太坊网络上实现的一个智能合约,通过不断接收网络中各个 Relayer 节点推送的 BTC 区块头,实现 BTC 区块头在智能合约里的存储和实时更新。**由于 BTC 区块链的交易信息主要以Merkle tree 的形式存储在区块头中,在不依赖第三方中介的情况下,BTCRelay 以一种去中心化的方式实现了以太坊智能合约对 BTC 区块链的数据访问。尽管 BTCRelay 的原理和实现并不是非常复杂,但该系统使得用户能够创建各种触发条件依赖于 BTC 区块链事件或信息的以太坊智能合约,提高了智能合约的可用性。不过,BTCRelay 仅支持 ETH 和 BTC 之间的跨链,而且并不能让 BTC 同时也能读取 ETH 区块链的信息,在这种跨链方式下,通信是单向的,具有一定局限性。
2016 年 6 月,Kwon 提出了一种支持各种区块链接入与互操作的网络架构 Cosmos10。基于建立区块链的互联网构想,Cosmos 网络设计为由枢纽(hub)和分区(zones)组成,其中,分区由 Tendermint11经典拜占庭容错共识算法引擎支持运行,可接入不同区块链,并支持分区数量的扩展。分区载入区块链后,各分区之间通信必须经由枢纽,并且遵照链间通信技术规范(inter blockchain communication protocol,简称 IBC10。Cosmos 架构的关键在于 Tendermint 共识引擎和 IBC 协议:Tendermint 是 2014 年 Castro 和 Liskov 基于实用拜占庭容错(PBFT)12算法提出的权益证明 PoS(proof-of-stake)13共识算法改编版,通过验证者(validator)对交易区块进行多轮投票达到共识;IBC 协议则定义了区块链注册、数据包格式、交易类型、数据包交付确认流程等内容。
2017 年 8 月,Aion 项目14定义了一种多层次的区块链网络结构,为不同区块链系统的接入提供通信协议和标准。在 Aion 网络中,定义了“桥梁”实现区块链之间的连接和通信,桥梁也有自己独特的验证者网络。Aion 通过采用基于轻量级 BFT的算法达成共识,并具有注册、竞争、交易奖励分配等功能。Aion 规定了包括发起网络、目的网络、路由信息、路由费用、Merkle 证明等在内的跨链交易格式,还设计了 Aion 虚拟机(AVM)提供对区块连逻辑的抽象以及提供运行应用程序的环境。
跨链的初衷在于构建链联网、实现各个区块链的无缝互联,但基于区块链的本质特性以及面对愈加丰富的应用形态时,未来也可能并不会统一成一种通用的跨链技术来满足各类需求。可以预见:随着跨链技术研究的深入和应用的普及,**将发展出类似当前互联网中标准化的数据接口通讯技术,各种不同的区块链系统将尽可能地提供出多种标准跨链通信接口,并抽象出典型的互操作服务供其他系统调用。**跨链技术最终能否形成链联网的 TCP/IP 协议、实现全球区块链的广泛互联,亦或成为多种跨链技术长期共存、实现不同层次的数据连接,将与区块链自身的技术形态、应用模式发展密切相关,也有待跨链技术研究者持续探索实践。
Schwartz D, Youngs N, Britto A. The Ripple protocol consensus algorithm. https://ripple.com/files/ripple_consensus_whitepaper.
pdf ↩︎
Bitcoin cash FAQ. https://www.bitcoincash.org/faq.html ↩︎
Larimer D. EOS.IO technical white paper. https://github.com/EOSIO/Documentation/blob/master/TechnicalWhitePaper.md ↩︎
Buterin V. Chain interoperability. https://www.r3.com/download/chain-interoperability ↩︎
Nolan T. Alt chains and atomic transfers. https://bitcointalk.org/index.php?topic=193281.0 ↩︎
Back A, Corallo M, Dashjr L, Friedenbach M, Maxwell G, Miller A, Poelstra A, Timón J, Wuille P. Enabling blockchain
innovations with pegged sidechains. https://blockstream.com/sidechains.pdf ↩︎
Thomas S, Schwartz E. A protocol for interledger payments. https://interledger.org/interledger.pdf ↩︎
Poon J, Dryja T. The Bitcoin lightning network: Scalable off-chain instant payments. https://lightning.network/lightning-network-paper.pdf ↩︎
ConsenSys. BTC Relay’s documentation. http://btc-relay.readthedocs.io/en/latest/ ↩︎
Kwon J, Buchman E. Cosmos: A network of distributed ledgers. https://github.com/cosmos/cosmos/blob/master/WHITEPAPER.md ↩︎ ↩︎
Kwon J. Tendermint: Consensus without mining. https://tendermint.com/static/docs/tendermint.pdf ↩︎
Castro M, Liskov B. Practical Byzantine fault tolerance and proactive recovery. ACM Trans. on Computer Systems, 2002,20(4):
398−461. [doi: 10.1145/571637.571640] ↩︎
King S. PPCoin: Peer-to-peer crypto-currency with proof-of-stake. http://www.peercoin.net/assets/paper/peercoin-paper.pdf ↩︎
Spoke M, Nuco Engineering Team. Aion: Enabling the decentralized Internet. https://aion.network/media/en-aion-network-technical-introduction.pdf ↩︎
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。