一、跨链概述
1、跨链定义
在区块链所面临的诸多问题中,区块链之间互通性极大程度的限制了区块链的应用空间。不论对于公有链还是私有链来看,跨链技术就是实现价值互联网的关键,它是把区块链从分散的孤岛中拯救出来的良药,是区块链向外拓展和连接的桥梁。
故跨链是指通过技术手段,将原本不同的、独立的区块链上的信息、价值进行交换和流通。狭义上来说是两个相对独立的区块链账本间进行资产互操作(Interoperability)的过程;广义上来说是两个独立的账本间进行资产、数据互操作的过程。
2、跨链面临的的关键问题
1、跨链交易的验证问题:如何确认记录交易发生的区块得到了足够的确认,即交易事务中各分布式网络间的数据一致性问题;
2、跨链事务的原子性问题:如何管理跨链事务中的各子交易确保跨链事务整体完整的原子性,即跨链事务的发生只存在两中状态完成或失败;
3、不同区块链之间的协议适配问题:如何对采用不同架构与协议的区块链之间进行适配,需要跨链协议中设计可以兼容多种异构区块链的数据结构、命名规范以及通信方式等。
3、跨链核心技术
目前区块链行业已经出现了很多的跨链技术产品,主要采用公证人机制(notary schemes)、侧链/中继(sidechains/relays)、哈希锁定(Hash-locking)等技术,已经在公链的场景中有很多应用例如:闪电网络,去中心化交易所、跨链平台等。
哈希锁定(Hash-locking):通过哈希锁和时间锁机制保障了交易的原子性。在不同的系统里,其实现哈希锁和时间锁的方式都不尽相同,但原理是一样的,即只有满足一定的哈希条件或者时间条件后才允许交易生效. 核心技术:哈希时间锁HTLC。
侧链/中继(sidechains/relays):侧链/中继不依赖于可信的第三方帮助其验证交易,而是在拿到发送链数据后由接收链自行验证。验证核心技术:默克尔树证明,其他验证技术。
公证人模式(Notary schemes):通过第三方可信机构充当公证人作为中介,偏中性化,见证人不断的进行数据收集,对交易进行确认和验证。核心技术:多重签名,分布式签名技术。
分布式私钥控制模式(Distributed private key control):主要是基于安全多方计算和门限密钥共享技术,通过密码学将密钥分成n份,并分配给n个参与者,每个参与者掌握一个密钥份额,只有集齐超过k个密钥份额,才能恢复密钥,解锁对应账户中的资产。核心技术:分布式秘钥
联盟链和公链的跨链场景有所不同,在联盟链技术中采用上述类似技术及其增强技术。
4、跨链项目罗列
1、哈希锁定(Hash-locking)
项目 | 项目描述 | 项目地址 | 语言 | 实现方式 | 难度及水平 | 社区活跃度 | 使用场景 |
---|---|---|---|---|---|---|---|
雷电网络 Raiden | 以太坊链下状态通道侧链 未上线 | 官网:https://raiden.network/ 代码地址:https://github.com/raiden-network/raiden | python | 哈希锁定 | 较高 | 高 | 公链 |
闪电网络 Lightning Network | 比特币侧链 比特币第二层支付协议 未上线 将大量交易放到比特币区块链之外进行。闪电网络通过智能合约来完善链下的交易渠道。 | 官网:https://lightning.network/ 代码地址:https://github.com/lightningnetwork/lnd | golang | 哈希锁定 | 较高 | 高 | 公链 |
WeCross 微众跨链解决方案 | 适合联盟链场景 微众银行自主研发并完全开源的区块链跨链协作平台 支持fisco、fabric链 | 官网:https://fintech.webank.com/wecross/ 代码地址:https://github.com/WeBankFinTech/WeCross | java | 哈希锁定 | 一般 | 高 | 联盟链 |
2、侧链/中继(sidechains/relays)
项目 | 项目描述 | 项目地址 | 语言 | 实现方式 | 难度及水平 | 社区活跃度 | 使用场景 |
---|---|---|---|---|---|---|---|
Polkadot 波卡 | 公链 未上线 预期上线时间:2020.10 | 官网:https://polkadot.network/ 代码地址:https://github.com/paritytech/polkadot | rust | 中继链模式(Relay Chain/Parachain 中继链和平行链) | 高 | 高 | 公链 |
Cosmos | 公链 上线时间:2019.3.14 | 官网:https://cosmos.network/ 代码地址https://github.com/cosmos/cosmos-sdk | golang | 中继链模式(Hub-and-Zone(中心枢纽-分区)) | 高 | 高 | 公链 |
BitXHub 趣链科技跨链技术平台 | 适合联盟链场景 趣链科技跨链技术平台,已经在金融、政务等业务场景中进行了相关应用验证 开源版本功能不全,只支持fabric | 官网:https://bitxhub.hyperchain.cn/#/FAQ 代码地址: https://github.com/meshplus/bitxhub | golang | 中继+网关的组合技术 | 一般 | 一般 | 联盟链 |
ChainX | 公链 上线时间:2019 年 5 月 25 数字资产网关 | 官网:https://chainx.org/ 代码地址:https://github.com/chainx-org/ChainX | rust | 中继链模式(核心技术依托于Polkadot) | 一般 | 一般 | 公链 |
BTC-Relay | 一种通过以太坊合约提供对比特币的spv证明 | 官网:http://btcrelay.org/ 代码地址:https://github.com/ethereum/btcrelay | python | 侧链(SPV证明) | 一般 | 低 | 侧链 |
RootStock(RSK) 比特币的侧链 | 官网:https://www.rsk.co/ | 代码地址https://github.com/RSKSmart | java | 侧链(SPV证明) | 一般 | 低 | 侧链 |
3、公证人模式(Notary schemes)
项目 | 项目描述 | 项目地址 | 语言 | 实现方式 | 难度及水平 | 社区活跃度 | 使用场景 |
---|---|---|---|---|---|---|---|
瑞波 Ripple Interledger | 公链 上线时间:2018年11月22日 | 官网:https://interledger.org/ 代码地址:https://github.com/interledger | 混合 公证人机制(notary schemes)/哈希锁定 | 较高 | 较高 | 公链 | |
palletone | 公链 上线时间 2019年6月30日 在 PalletOne 中,共识机制采用了陪审团共识机制,智能合约只需要一组验证人进行验证和执行,这些验证人被称为陪审员,并由他们组成陪审团。通过陪审团共识协议,PalletOne 将智能合约同底层区块链完全解耦,实现跨链价值交换。 | 官网:http://pallet.one/ 代码地址:https://github.com/palletone/go-palletone | golang | 见证人模式(陪审团机制) | 一般 | 一般 | 公链 |
Corda | 没有区块,是一个平台,交易仅在参与方和公证人间传播 | 官网:https://www.corda.net/ 代码地址:https://github.com/corda/corda | Kotlin | 公证人 | 一般 | 较高 | “类区块链” |
4、分布式私钥控制模式(Distributed private key control)
项目 | 项目描述 | 项目地址 | 语言 | 实现方式 | 难度及水平 | 社区活跃度 | 使用场景 |
---|---|---|---|---|---|---|---|
Wanchain 万维链 | 公链 上线时间:2018.12.12 | 官网:https://www.wanchain.org/zh/homepage/ 代码地址:https://github.com/wanchain/go-wanchain | golang | 分布式私钥控制 | 较高 | 较高 | 公链 |
FUSION | 公链 上线时间:2019.07.01 FUSION的设计就是实现分布式控制权限管理,建立智能密码融合合约并实施分级混合共识机制(HHCM) | 官网:https://www.fusion.org/ 代码地址:https://github.com/FUSIONFoundation | golang | 分布式私钥控制 | 一般 | 低 | 公链 |
5、其他
项目 | 项目描述 | 项目地址 | 语言 | 实现方式 | 难度及水平 | 社区活跃度 | 使用场景 |
---|---|---|---|---|---|---|---|
ArcBlock 区块基石 | 链网 上线时间:2019-03-30 https://zhuanlan.zhihu.com/p/60908472 | 官网:https://www.arcblock.io/zh/ 代码地址:https://github.com/ArcBlock | Elixir | 跨链协议:OCAP | 核心技术 未说明 | 一般 | 低 |
链网 AION | 公链上线时间:2018年4月25日 | 官网:https://theoan.com/ 代码地址:https://github.com/aionnetwork | java | 它并不是主打跨链交易,而是主打跨链通信 | 一般 | 低 | 公链 |