密码学是保障区块链技术的基石之一,同时也是互联网产业安全至关重要的学科之一,互联网企业受到黑客的攻击对企业和人民带来了财产的损失和隐私的泄露。同时,随着区块链行业的发展,出现了越来越多的区块链项目,各个链之间的通讯问题使得每条链本身更像是一个信息孤岛,极大地限制了区块链的潜力。
不论对于公有链,还是联盟链,跨链技术是实现区块链“互联网化”的关键。跨链技术可以让不同的区块链实现互操作,从而形成区块链的“互联网”,实现更大的应用空间和价值。
跨链互操作协议
什么是跨链?
狭义来说,跨链是一种解决两个或多个不同链上的资产以及功能状态互相传递、转移、交换的协议。而狭义的侧链是一种让资产从主链转移到其他附属区块链,又可以从其他附属区块链安全地返回主链的协议。
广义的来说,侧链和跨链都是链间互操作协议的一种具体方案,因此我们将所有的侧链和跨链协议统一称为跨链互操作协议。目前跨链协议有三个类型:中心化或者多方签名的公证人形式,侧链或者中继形式和哈希时间锁等密码学形式。
侧链(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、物联网、溯源、治理等领域应用提供完整可用的区块链底层基础设施,成为互链网的新基建。
评论