Polkadot跨链技术架构解析:与IPFS分布式的结合或带
导语:在上一篇文章中分析了Substrate框架的起源以及和ETH、IPFS的关系。本文将深度揭晓Substrate框架与跨链网络Polkadot之间的技术架构,探寻为何Polkadot被称为"跨链之王"的原因,并解析跨链通信和分布式技术对于未来应用的重要性。
区块链技术已经进入下一阶段,由前以太坊CTO率领团队开发的Substrate框架,允许开发者打造自己的区块链,"一键发链"不再是梦想。基于该框架的Polkadot区块链网络成为最受期待的跨链解决方案,Polkadot又被称为天王级项目。在互联网科技的新一轮变革悄然开始的背景下,Substrate和Polkadot到底是什么,其技术架构是否真的逆天?它们为何出现又到底解决了哪些问题?与IPFS技术的集成又将让区块链技术如何演进?
从以太坊出走再创奇迹
说起以太坊,很多人都会想到V神(Vitalik Buterin)。实际上,有一位才是以太坊的灵魂人物--Gavin Wood(盖文·伍德),是一名计算机科学博士,是现实世界中隐藏的大神。他和V神一起联合创办了以太坊项目,并担任CTO技术总监。Gavin Wood发明了Solidity语言,用于编写智能合约,这也是以太坊和比特币的最大不同点,智能合约的引入让太坊彻底爆发。
图:Gavin Wood在Github上有一万三千个关注者
离开以太坊,Gavin Wood带着Jutta Steiner博士(担任安全和审计总监)等伙伴共同创立了Parity Tech。他们开发了Substrate项目,一个强大的区块链跨链开发框架,目的是帮助开发者使用下一代技术打造自己的区块链。
现有区块链技术遇到的关键问题
包括现有的三个主要的区块链系统:比特币、以太坊、EOS等,每个区块链项目、用户、矿工、DApp等形成了独立的生态王国,彼此是割裂的。从某种意义上,它们违背了区块链去中心化的承诺,将互联网变得更加地封闭且孤立的形态,严重制约了区块链技术的发展。
当前区块链技术堆栈中的五个关键的问题:首先是可扩展性不足,缺乏互操作性和可开发性,DApp去中心化应用的开发受限,难以大规模应用。其次治理牺牲了大部分人的利益,算力垄断和超级节点的权益垄断,大部分分散的用户/矿工的利益实际被摒弃。最后是区块链网络之间的孤立,且从一开始直到现在长久存在。
跨链打通区块链价值交换通道
所谓跨链(Cross Chain)就是在不同的区块链网络进行价值交换的技术。为什么说区块链网络之间的互通如此重要?因为它能打破现有网络的孤立,建立多个网络的链上资产交换。跨链就像是凿开巴拿马运河让两个陌生的海域迅速连通融合。
在许多方面,区块链的互操作性和可扩展性的挑战是相互关联,跨链让两个区块链网络先后与作用,各平台实现互操作性,并提升总的吞吐量来增强可扩展性。
看似美好,但跨链解决方案也有技术难点:
第一:如何保证跨链交易的原子性?
第二:如何确认另一条链的交易?
第三:跨链交易,如何保持总资产的不变量?
第四:如何保证两个链的网络安全?
第五:如何实现多链之间的跨链互连?
为了解决上述技术难题,区块链行业出现了许多解决方案。
1.交易原子性
HTLC(哈希时间锁合同)是原子交换协议的一种实现,它通过哈希锁定和时间锁定机制保证事务的原子性。
2.交易确认
区块链是封闭的、独立的,没有直接的沟通渠道。跨链交易如何确认发送链的交易确实发生并得到确认?答案是"中间人",通过"中间人"的角色来交换信息,"中间人"可以是一个节点或一个组,可以是一个集中组织,也可以是一个分布式组。现有解决方案主要包括以下内容:公证模式、中继模式、侧链模式。
▶公证模式:公证模式的"中间人"不仅收集数据,还确认和验证交易。根据验证事务的方式,它还可以分为以下类型:集中公证方案,多信号公证方案和分布式签名公证方案。
▶中继模式:中继模式的"中间人"仅充当数据收集器并将收集的数据转发到目标链。目标链基于收集的数据验证交易。验证方法根据系统结构而有所不同,例如依赖SPV认证,或依赖验证节点的签名数量等。中继模式是一种相对分散且松散耦合的方式,它具有更高的可扩展性。中继模式有许多跨链实现方案,如Cosmos Hub、Polkadot(下文将详细讲到)中的Relay链、BTC-Relayer中的Relayer等,它们都充当中继作用。
▶ 侧链模式:侧链模式是一种强耦合设计。这两个链通过"中间人"收集彼此的数据,并以某种方式直接将数据嵌入到他们自己的块或存储空间中。在跨链交易中,交易验证可以直接通过存储在其系统中的原始链数据来完成。
3.总资产保持不变
为确保资产总额保持不变,有必要确保资产转移过程在两个链条上得到准确计算。也就是说,有必要保证:1)跨链交易的原子性,无论是否发生。2)跨链交易在两个链上都是真实有效的,交易由整个网络确认,并且fork的可能性很小。因此,在正常情况下,只要解决难度1和难度2,就解决了难度3。
4.独立安全
在不同的跨链实施方案中存在基本的安全性和独立性考虑因素,一般每个方案都有所并一同。
5.跨链互连
这个问题包含两个潜在的问题:第一,现有的区块链系统如何实现互连和互操作性。第二,如何为将来开发的区块链的互连做好准备和铺平道路。
一键发链的区块链框架Substrate
Substrate是下一代区块链技术框架。Gavin Wood曾说,"In the future, trusting an institution with our interests will be as archaic a concept as reckoning on an abacus is today."其意义是"在未来,信任一个符合我们利益的机构,将成为一个古老的概念,就像今天用算盘计算一样。"如果要打破屏障,除旧布新,建立跨链通信,强大的技术框架设计必不可少。
Substrate主要的技术特点如下:
●为企业创建完美的自定义区块链
○创建具有严格隐私级别的区块链
○轻客户端(Light Client)优先的设计,适用于移动应用和物联网
○网络几乎不分叉,可升级
其中,Light Client(轻客户端)允许以分散的方式访问区块链,并与网络进行交互而无需同步完整的区块链。其目的是简化交易验证,即不必下载每笔交易和每个块,只需下载区块头等数据,如前一个区块头的hash值、时间戳、证明随机数、根哈希值等。
●以下一代技术为基础
○在行业标准的WebAssembly架构上
○高度可扩展的Libp2p网络
○基于Rust集成快速可靠特性
○支持Javascript二次开发
○用Rust编写的Wasm WebAssembly解释器
这里有一个异常重要的技术:WebAssembly(缩写为Wasm), 是一项由 Mozilla、谷歌、微软及苹果联合开发的项目,可以使用非 JavaScript 编程语言编写代码并且能在浏览器上运行的技术方案,可以看做是对JavaScript的加强(暂未是替代),弥补JavaScript在执行效率上的缺陷。其通过Web执行低级二进制语法,把高级别的语言(C,C++和Rust)编译为WebAssembly,以便有机会在浏览器中运行。其特点是几何级的性能提升、快速灵活、可移植。2015年,四大浏览器厂商(Chrome, Firefox, Edge, Safari)全部默认支持WebAssembly,这种技术随后在前端高性能开发领域中大放异彩。
●安全和扩展性的突破
○WebAssembly智能合
○多级权限
○交易和状态双重加密
○限制异步调用选项
○帐户级锁定
○治理工具和方法(如投票系统)
●技术组件概览
网络 Libp2p
共识算法 混合PBFT / Aurand
随机信标 Collective coin flipping
验证算法 Edwards-Curve Ed25519
哈希算法 Blake2b
地址格式 Versioned Base-58 + Blake2b校验
其中,Substrate有一个异常强大的算法--Blake2b哈希算法。它有什么优势?以前如比特币等加密数字货币大多采用SHA-1哈希函数来作为运行算法,但是这一算法被密码学研究专家发现存在安全问题,所以之后加密货币逐渐开始使用blake2b算法来代替SHA-1算法。
BLAKE2 哈希算法速度对比
Blake2b被认为是目前安全系数最高的哈希函数。该算法从2012年发布,之后OpenSSL、WhatsApp 和 FreeBSD 的包管理器均在使用 BLAKE2哈希算法。
Polkadot:跨链之王
开源的Substrate本身是一个框架和平台,人人均可用。为了更好地支撑起区块链网络之间的连通,建设一个新的区块链网络就有必要了。Polkadot是一种旨在解决上述问题的跨链解决方案。它使用上文提到过的典型的跨链技术,即中继技术。Polkadot是Gavin Wood带领团队基于Substrate框架开发的。
在Polkadot的架构中,组建技术主要分为平行链、中继链、转接桥。
平行链:基于应用的定制链
平行链(Parachains)是平行于波卡网络的区块链,每个平行链都可以根据不同的业务需求独立设计自己的架构。平项链也会用来并发交易提高扩展性,其通过连接中继链保证其安全。
中继链:连接并验证平行链
中继链(Relay chain)可以连接波卡网络和平行链,并确保两者之前的通信安全, 通信可以是交易或者任意形式的数据。
转接桥:连接异构的外部链
转接桥(Bridges)是一种特殊的平行链,它允许波卡网络不通过中继链的安全验证而是使用外部链条自身的安全机制,与外部独立的区块链交流通信,例如 BTC、 ETH。
平行链可以看做是 Polkadot 网络中高扩展的解决方案,平行链没有确认区块的能力,需要借助中继链验证。中继链作为信任代理,参与 polkadot 网络和平行链之间的通信,确保通信安全,也能实现风险隔离。转接桥是服务于其他拥有独立安全验证机制的外部区块链网络,这些链条拥有自己的共识和出块机制,例如 BTC 或 ETH 网络,通过转接桥直接与 polkadot 网络通信。
此外,Polkadot定义了协议运行所必须的几种角色:
1.验证者(Validator):验证以及最终化平行链候选区块,将其加入中继链的区块中,并接受代币奖励;
2.收集者(Collators):收集平行链交易,放入有效性证明的候选区块中,并收取交易手续费;
3.钓鱼人(Fishermen):是充当监察员角色,在网络中钓鱼各种不当行为,并且收取各种恶意操作者保证金的一部分作为奖励;
4.提名者(nominator):拥有投票权,提名谁成为验证者,保证验证者的安全性。
Polkadot是一个网络协议,能够传递任何 数据(不只限于代币)到所有区块链。这意味着它是一个真正的多链应用环境,使跨链注册和跨链计算等类似操作成为可能。Polkadot能传递数据到公共、开放、公开的区块链和私有或联盟链。使得构建从私有链获得许可数据并在公有链上使用的应用程序成为可能。
在Polkadot中,其中的Parachain(平行链)是关键的组建技术,它指的是使用链中继来实现区块链间的交互。Polkadot具有共享安全性,避免其它跨链中的双花交易。平行链还具有通用性,它没有不必要限制和约束。在这里,由于平行链的作用,区块链之间的就好比有了一个互联网。
平行链Parachain的出现,被视为下一代区块链技术演进的方向。
Polkadot + IPFS = 无限的可能
俄国著名数学家马尔科夫有一句名言:"任何一个进步的体系,也都是开放的。"世界上没有孤立的技术,也没有孤立的工程师。不然,就会丧失其发展的可能性。
Polkadot之所以在众多解决方案中,成为跨链之王,很大程度上和它的开放性分不开。其基础的Substrate框架开源,在底层也应用到了下一代互联网的协议--IPFS,星际文件系统是面向去中心网络的、点对点的、分布式超媒体传输协议。Polkadot网络(及Substrate框架)使用IPFS底层核心Libp2p协议。
Libp2p是一个模块化的p2p协议堆栈,定位为未来去中心应用程序的标准,一种灵活的跨平台网络框架,用于点对点应用程序。可以处理Polkadot生态系统中的对等方的发现和通信。现在多个网络都采用了Libp2p技术。如EOS、以太坊2.0(进行中)、Substrate(Polkadot)、Agoric、Filecoin(IPFS激励层)。
对于科技发展而言,始终不能脱离具体的应用场景孤立地谈技术。在IPFS应用检索层中,IPSE网络可集成应用Polkadot的Parachain平行链技术。IPSE主链基于DPos负责价值结算,而平行链主要负责价值交易。在平行链间所有交易可以立即执行,不用担心产生冲突。
好比现在有10条平行链,可以获得相同的安全,并能执行10倍的工作任务。IPSE是基于IPFS的搜索引擎,Filecoin是存储层也是官方激励层。IPSE主要负责搜索,而Filecoin负责存储。两者的底层的存储依赖于IPFS星际文件系统。平行链引入,可让IPSE在和Filecoin的数据存储和事务操作上获取最高效的方案。
Polkadot开发的愿景是为互操作性,安全性,可扩展性和创新提供最强大的平台。根据官方的路线图,该网络将增加到大约100条平行链。IPFS作为点对点的分布式超媒体传输协议,其构建的Filecoin去中心化分布式存储网络,预计将由全球的分布式节点组成,其主网也将在Q2/Q3上线。两者代表着跨链技术和点对点分布式技术的最高峰,或许在将改变现有的区块链技术和应用。
参考资料:
[1]Github: Substrate
[2]Polkadot:A scalable, interoperable & secure network protocol for the next web
[3]Medium:Cross-chain Technology and Polkadot,by LongHash-Dot
[4]Polkadot Lightpaper:A scalable, interoperable & secure network protocol for the next web
[5]IPSE:A Distributed Search Engine Based on IPFS
[6]Filecoin:A Decentralized Storage Network
[7]Polkaworld:Polkadot里的中继链、平行链、桥是什么?
[8]WebAssembly技术