HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

什么是跨链?

  • 2020-07-10
  • 本文字数:2491 字

    阅读完需:约 8 分钟

什么是跨链?

密码学是保障区块链技术的基石之一,同时也是互联网产业安全至关重要的学科之一,互联网企业受到黑客的攻击对企业和人民带来了财产的损失和隐私的泄露。同时,随着区块链行业的发展,出现了越来越多的区块链项目,各个链之间的通讯问题使得每条链本身更像是一个信息孤岛,极大地限制了区块链的潜力。


不论对于公有链,还是联盟链,跨链技术是实现区块链“互联网化”的关键。跨链技术可以让不同的区块链实现互操作,从而形成区块链的“互联网”,实现更大的应用空间和价值。

跨链互操作协议

什么是跨链?


狭义来说,跨链是一种解决两个或多个不同链上的资产以及功能状态互相传递、转移、交换的协议。而狭义的侧链是一种让资产从主链转移到其他附属区块链,又可以从其他附属区块链安全地返回主链的协议。


广义的来说,侧链和跨链都是链间互操作协议的一种具体方案,因此我们将所有的侧链和跨链协议统一称为跨链互操作协议。目前跨链协议有三个类型:中心化或者多方签名的公证人形式,侧链或者中继形式和哈希时间锁等密码学形式。


侧链(sidechain)一词最早出现在 2012 年的比特币核心社区(bitcointalk.org),是为了解决比特币主网的可扩展性而提出的。而这一方案被总结归纳在了“Enabling Blockchain Innovations with Pegged Sidechains”这篇论文之中,也就是大家熟知的侧链白皮书。而在 2015 年,闪电网络方案被提出,这也是比特币线下侧链方案的一个具体例子。2016 年 Polkadot 和 Cosmos 两个跨链项目被相继推出。



跨链的分类


跨链协议的类型:


1) 中心化或者多方签名的公证人形式:锁定的资产只有在获取到公证人(中心化或者联盟化)的签名的情况下才会被解锁。


2) 侧链或者中继形式:一条链可以去读取另外一条链的状态或者交易,并基于另一条链的反馈,设置后续操作。


3) 哈希时间锁等密码学形式:预设好一个触发条件(哈希锁或其他类似的密码学证据)以及后续交易,当该条件被触发后后续交易可以被执行。

主流跨链协议介绍

主流跨链协议包含双向锚定的侧链和闪电网络。其中,举了两个有代表性的例子:波卡(Poldadot)和 MAP 协议(MarcoPolo Protocol)。


双向锚定的侧链技术可以实现将主链上的资产锁定,在侧链上释放等价固定侧链资产;当侧链上的资产在侧链上锁定之后,主链上之前被锁定的等价主链资产可被释放。保证资产在不同区块链之间的转移。双向锚定技术实现的最大难点是侧链协议需兼容现有主链的协议,不能对现有主链的功能造成影响。



双向锚定的侧链示意图


闪电网络底层运用了 HTLC(哈希时间锁定合约)技术和 RSMC(序列到期可撤销合约)技术,构建了一个链下支付通道。使得一部分小额的比特币交易可以转移到线下进行,待一定时间累计了足够多的交易之后将整体结果再一起更新到链上。闪电网络可以看作是一个比特币的侧链解决方案。


闪电网络的优点:闪电网络可以极大的提升整体网络的可扩展性。同时由于链下处理交易的耗费更少,可以减少交易费,提升系统流动性。此外,链下的微支付都是不会传到链上的,因此隐私性更好。


闪电网络的缺陷:因为闪电网络是需要交易双方存在一条交易通道,一些拥有大量资金的节点会成为大部分节点的通道枢纽,造成垄断和中心化的可能。同时复杂的渠道设计会导致未来可能的安全性隐患,一些可能的攻击正在被研究,如日蚀攻击等。

案例 1:Polkadot 波卡

波卡是以太坊原 CTO(Gavin Wood)提出的跨链项目,他的设计是通过一个中继链(RelayChain)来提供整个系统跨链通信的验证以及路由功能,而系统中的其他平行链(ParaChain)可以通过中继链将跨链信息转发给其他的平行链从而达到跨链的目的。



波卡网络示意图


Polkadot 波卡的跨链流程


Polkadot 的跨链流程一般是:某一条平行链的交易广播进入到平行链社区,先由收集人(collator)打包交易信息,中间经过钓鱼人(fisherman)的执法检查,然后提供给平行链,平行链的区块头包含在中继链中,经过验证人打包,再转移到另一条平行链中。


Polkadot 波卡跨链方案的问题


1) 波卡的跨链协议是基于单个信任源的(对 RelayChain 的绝对信任),也就是说是半中心化的。


2) 波卡的跨链协议对跨链验证部分缺乏详细分析,基于中本聪论文中 SPV 方案设计的跨链都存在验证数据过大的问题。


3) 卡的跨链协议要求所有的跨链互操作信息都通过 RelayChain 来转发,使得 RelayChain 会成为整个系统的瓶颈。

案例 2:MAP 协议

MAP 协议是一种开放的、完全去中心化的通用链间交互协议,在独立自验证的共识机制下,链与链之间可以直接实现轻量级地互操作而不需要通过中继链。它的核心模块包括有超轻量级的跨链验证模块以及可组合触发条件的智能脚本模块。它与波卡的最大区别在于,MAP 是一种通用的跨链协议,无需通过中继链即可达成任意两条链之间的互操作。



MAP 网络示意图


MAP 协议的跨链流程


任意两条链之间通过 MAP 协议的跨链验证子协议可以互相验证对方的某一状态或者交易,之后,通过可组合触发条件的智能脚本系统去检查验证结果并执行后续操作,可以是往本链的 P2P 网络发送一笔交易,也可以向对方的 P2P 网络发送一笔交易,来达成互操作。


MAP 协议的特性:


1) 简洁性


2) 安全性


3) 通用性



简洁性


简洁性:跨链验证某一笔交易或者某一个状态需要的网络带宽和本地存储都应该是随着链长度增长而亚线性增长的。也就是说,即使区块链的本身高度增长的非常快,验证需要的数据量增长却很慢。而这是基于中本聪 SPV 验证方案所无法达成的。



安全性


安全性:安全性指的是,不具备完整状态的验证节点获取到的链上状态和全节点获得的链上状态不一致的概率是微乎其微的。通常来说,通过欺骗验证节点而攻击协议本身的成功概率只有 $2^{-100}。



通用性


通用性:通用性指的是不同的区块链系统可以随意嵌入跨链协议模块,该模块是可插拔且兼容的,不会侵入原有链的原生系统。



 跨链方案的对比表


如果说比特币是区块链的 1.0,解决了分布式存储的难题;以太坊是区块链的 2.0,解决了分布式计算的难题;那么跨链网络的建立则是真正的区块链 3.0。它将会沟通协调不同职能的区块链系统使其成为一个整体,共同为金融、AI、物联网、溯源、治理等领域应用提供完整可用的区块链底层基础设施,成为互链网的新基建。


2020-07-10 09:114758

评论

发布
暂无评论
发现更多内容

1-3年Android开发工程师面试经验分享,真的太香了

android 程序员 移动开发

12道Android高级面试题:android开发视频百度网盘

android 程序员 移动开发

2021Android大厂面试真题,面试必知必会

android 程序员 移动开发

厉害了!尚硅谷mysql中employees表,腾讯T2手把手教你

Java 程序员 后端

只需一篇文章吃透Java多线程技术,那些BAT大厂的Java面试官到底在想些什么

Java 程序员 后端

大数据Flink作业

Clarke

10年阿里开发架构师经验分享:享学课堂架构师vip百度云

android 程序员 移动开发

15分钟的字节跳动视频面试,34岁Android程序员裸辞

android 程序员 移动开发

2021Android大厂面试经验,一招教你看懂Netty

android 程序员 移动开发

2021Android大厂面试题来袭,Android程序员如何通过跳槽薪资翻倍

android 程序员 移动开发

反向代理、负载均衡实战,【深度思考

Java 程序员 后端

DevOps 时代的高效测试之路

CODING DevOps

DevOps 团队 自动化测试 持续交付

人力资源管理系统和oa的区别?

优秀

低代码

2019-2021历年华为跳动Android面试真题解析,面经解析

android 程序员 移动开发

河北联通全光智慧专线,构筑更智运营新体验

12道Android高级面试题:android项目开发实战入门百度网盘

android 程序员 移动开发

1个月学会Android开发!动脑学院vip

android 程序员 移动开发

2020-2021华为Android面试真题,凭借这份Android面试题集

android 程序员 移动开发

2021Android大厂面试知识分享,含面试题+答案

android 程序员 移动开发

只用了几百行代码写的百度搜索引擎,程序员Javaweb源码

Java 程序员 后端

QCon复盘之《58 集团反爬系统建设之路》

IT蜗壳-Tango

Qcon 10月月更

100%好评,扔物线学堂

android 程序员 移动开发

我有一台服务器,能干啥?

程序员鱼皮

程序员 IT 代码 计算机 java

1307页阿里Android面试全套真题解析在互联网火了,附赠复习资料

android 移动开发

使用 Spring Boot 进行单元测试

码语者

Java Spring Boot Unit Test

10天用Flutter撸了个高仿携程App,2021年Android面试心得

android 程序员 移动开发

厉害了,java入门电子书百度网盘下载,Java中高级面试

Java 程序员 后端

原来SqlSession只是个甩手掌柜,Redis有几种数据类型

Java 程序员 后端

只需一篇文章吃透Java多线程技术,内容非常全面

Java 程序员 后端

史上最全的Java面试题集锦,高级Java工程师面试技术

Java 程序员 后端

【免费报名】与阿里云一同探索视频云的新技术与新场景

阿里云视频云

阿里云 音视频 视频编码 视频编解码 视频云

什么是跨链?_区块链_Geek_a4e13e_InfoQ精选文章