本文是波卡联合创始人、领导平行链的核心开发工作的 Robert Habermeier 在波卡社区会议 Polkadot Decoded 上的演讲内容总结。由 PolkaWorld 翻译和总结。

1、平行链正在打破现有局面

从一个很宏观的角度来观察,我们的世界,以及构成该世界的各类系统正在变得越来越复杂。我们很容易迷失在一些细节中,比如监管、监督和各种文书工作。

这就是加密世界,以及我们做波卡的动机。我们的终极目标是让人们可以更公平、更明确地进行交易。让人们可以自主选择加入某些规则,并且互相协作。让人们可以专注于真正重要和有意义的事情,而不是在复杂的官僚和系统中蹉跎时间。加密世界消除了很多低效率组织和合作。

平行链是区块链开发的最后十年的实现,从技术上说是如此,从哲学上说也是如此。

有些东西纸上谈兵了很久,但是纸上不是现实,现实是代码在执行的东西。这就是我们的目标,平行链其实就在这整个过程的真正实现。

平行链将打破网络社会的运作方式

大体来讲,你可以用平行链来做的东西,其实是打破迄今为止我们与互联网交互的方式,也就是说改变我们交易、构建、组织和治理的方式。

在过去几年里,我们已经看到了交易、支付、金融、存款、所有权等都发生了很大的变化。

但是除此之外,我们将有不同类型的企业家、商业模式、为团队提供资金的方式、和其他建设者交互的方式等,还会有新的界面、经济原语库、密码学等。如果没有对真相和信任的去中心化,这些都不会发生。

我们让大家可以聚到一起,让社区可以自行组织,自行治理,在如何升级方面有明确的约束规则。我觉得波卡自身就是一个自治的绝佳例子,一些项目也有自己的治理流程,有治理代币。从最小的项目到最大的项目都在进行自治。

我觉得 “自组织区块链代币社区” 这个概念很有意思。因为它是互联网原生的概念,来自不同阶层、背景、来源和地区的人,围绕某个共同目标或者原则组织起来。这里的图表示了来自全球的不同人群围绕着波卡组织起来。

平行链、Layer 1 区块链和智能合约

平行链正在打破所有现有的区块链技术,即所有现存的 Layer 1 和智能合约。

我们有三个指标:主权性、继承的安全性、专业性。

主权性是指某个对象如何掌控自己的命运。智能合约大大受制于其所属的系统。

继承的安全性是指你是否需要召集自己的验证人集。作为一个开发者,当你构建系统时是否需要担心经济安全性,让你的系统变得足够大从而难以被攻击。

专业性是指提供适应特定问题领域的解决方案的能力。你对于某一个领域越专业,你的解决方案就越高效,就有越多的人可以使用它来进行交易。

我们尝试让平行链能同时符合这三个指标,而目前的 Layer 1 和智能合约却做不到。

波卡架构

如果走近一步观察波卡的架构,在这张图上,我们能看到波卡的运作方式是这样的。在中心有一个中继链,有很多条平行链被中继链保护,每条平行链有自己的验证人和收集人。其中一些平行链是连接其他网络的桥。底部还有平行线程,即拥有不同调度机制的另一类平行链。

平行链正在打破智能合约局面

对于大多数使用场景来说,智能合约平台都太过笼统了。你只能用非常粗略的指令,比如加一个数、减一个数等等。如果你想用它来创建任何复杂一些的东西,就会发现它的效率很低,这主要表现为 gas 费,因为每一次加减都要收费,不管你做的是什么计算,都会造成 gas 费的叠加,让效率变得越来越低。

而使用平行链,你可以很专注于你的使用场景,你可以有一个专门用来存储文件的交易,可以有用来收租金的交易,等等。这比你用 100 万个不同的小指令要更自给自足。

另外一个平行链和智能合约的关键区别,是平行链是主动出击的,而不是被动反应的。

智能合约框架的运行方式是,它们对作为交易提交到链上的事件作出响应。但是你不能写一个智能合约,说 “在一年后叫醒我来执行这项工作”,或者说 “我想在每一出一个区块时都做某件事”。

而你作为一个平行链的开发者,你就拥有这种控制权,可以去调度在某个时间或块高执行某个逻辑。

平行链在打破 Layer 1 区块链

主要是由于平行链提高了沟通的方便程度。Layer 1 的区块链无法很有效地互相桥接,虽然可以桥接,但是最后也会有两套共识系统和两套验证人集。而且,向某一条链证明另一条链确认了一个区块、接受了一笔交易,是一件很庞杂的事情,通常会涉及滞后和延迟。

所以说关于平行链,很有趣的一点是,这些平行链都是由同样的一套共识流程来保证其安全的,所以消息几乎可以在瞬间在平行链之间传递,大概在 1-2 个区块的时间内,这在区块链世界中算是非常非常快的了。

另一点是,当你构建一条平行链的时候,由于这条平行链是波卡共识系统的一部分,你不用召集自己的验证人集或者矿工集,来保证你的安全性。你不用收集数十亿美元来负责安全性,从而确保你的链不会被收购或遭遇 51% 攻击。这一点对于那些有创新的想法,却不一定有能力去做到经济安全的团队来说是一个不错的优势。

2、平行链是一种技术

平行链作为一种技术,究竟是什么?如何运作?

从根本上说,平行链是波卡的执行核心。几乎任何类型的交易,除了一些对于波卡的 root 非常重要的东西,比如余额、Staking、治理等之外,都运行在平行链上。

所有的智能合约、文件存储、预言机逻辑等,都发生在平行链上。平行链就是波卡这个去中心化系统中一切工作进行的地方。

平行链是什么?

中继链维护着一组平行链,中继链的验证人为所有的平行链提供共识,让他们可以以一致的步伐前进。我们把所有中继链的验证人随机分配,检查不同的平行链。

一些平行链正在实现和其他 Layer 1 区块链之间的桥。这种网络之间的桥的抽象,比如波卡-比特币桥、波卡-以太坊、波卡-Monero 或者其他桥,会被封装在平行链原语中。所以说你可以直接注册一条平行链,而这条链刚好是桥,你不用在波卡的根级别,辛辛苦苦地编写一条平行链出来。

所以这里我们所说的把验证人拆分给所有平行链用,其实很像我们以前听到的分片(Sharding)的概念。主要的区别在于波卡是一组异构链,而不是同构链,所以每条链可以做不同的事情,有不同的状态转换函数。

平行线程

平行线程是平行链的一种稍微有点不同的版本。

当你获取平行链插槽的时候,都是一次性竞拍好几个月或者几年,你会与全球的平行链社区竞争插槽。如果你的链做的工作对时间特别敏感,那么这么做是值得的。但对于很多长尾项目来说,这么做太昂贵了。

很多的使用场景其实都只需要每隔一段时间定期出块,比如每小时一次,或每天几次。

平行链是一种 “即用即付” 的平行链。我们有一些固定数量的插槽专门预留给平行线程。比如有五个插槽用于平行线程,可能有 500 或 5000 条链来竞争在这些插槽上创建区块。

3、平行链是工具

平行链的种类

平行链可以有很多种类。比如有币的平行链、无币的平行链(比如公共物品平行链)、专业于某一领域的平行链(比如预言机、身份、文件存储、零知识证明等)、服务于某一社区的枢纽链(如 DeFi 枢纽、治理枢纽等)。

举个例子,智能合约平行链。你可以有一条平行链,来让人们执行智能合约,可以是 ink! 合约或者传统的 EVM Solidity 合约。我习惯把智能合约平行链归类到通用的专业链。它可以让人运行智能合约,提供了很大的灵活性,但是也有智能合约缺点。

但是好在你是可以选择的。你可以自己写一条平行链,也可以使用智能合约。

平行链将分担部分中继链的功能

目前的中继链承担了很多功能,之后中继链的其中的一些功能如 Staking、治理、转账等可以下放到平行链,而中继链只用负责平行链的共识。这将解放中继链的计算资源,让中继链成为第一条无交易的区块链,只需专注于平行链共识,从而尽可能地扩大平行链规模。

转接桥

短期内比特币和以太坊不会消失,我们希望波卡上的应用可以使用比特币资产和以太坊上的项目。目前桥相关的研究、开发都在进行中,最终将部署到波卡上,通过平行链机制来将波卡同比特币、以太坊连接起来。

4、平行链是组织

平行链代表了金融资产和社交资产的集合。

平行链是行为人

每条平行链可以代表其利益相关者作为一个行为人进行很多活动,如通过提案和投票来参与中继链的治理,成为波卡网络理事会成员,管理赏金任务,分配国库资金等。

平行链是数字国家

平行链就像一个个数字的国家,每个国家有自己的比较优势。波卡的 XCMP 让平行链之间可以进行交互,就像国家之间可以进行国际贸易一样。

5、平行链是软件

为多个客户端和开发者搭建舞台

2020 年初我们做了《波卡平行链宿主实现者指南》,它是研究和开发之间的桥梁,是一种规范,让研究人员知道开发者在做的事,让开发者知道研究的更底层的细节。

代码数据

代码方面,在过去的一年半中,仅仅跟平行链相关的代码,我们就写了 6 万 5 千行。包括了平行链 Runtime 模块、平行链网络代码、平行链执行代码。还有 800 多个 PR、150 多个功能和增强。

设计和标准方面,写了 4 万 7 千多字的标准、23 个负责不同模块的子系统、16 个 Runtime 模块。

网络和测试方面,我们在 Rococo 上有 900 个验证人,运行了 15 条区块链,将出块时间做到了 12 秒。事实上链上的代码已经能做到 6 秒的出块时间,但是链下的代码还需要优化一些。

从去年 12 月的 Polkadot Decoded 之后发生了什么?

上线了 Rococo 测试网(900 个验证人、15 条平行链、使用 XCMP-lite 进行了跨链资产转账)完成了分片安全协议和代码库审计上线了 Westend perma-testnet给 Kusama 添加了 16 个 Runtime 模块给 Kusama 添加了平行链、众贷和拍卖的代码发布了 V0.9.2给 Kusama 添加了首条平行链 Shell(即将升级成 Statemine)

接下来会发生什么?

进行 5 条 Kusama 平行链拍卖(尚未公布具体时间,等平行链在 Kusama 上稳定运行后就将进行)上线公共物品平行链和社区平行链完成审计把平行链、众贷、拍卖模块代码添加到波卡上(理论上说,如果平行链在 Kusama 上运行得不错,那么在波卡上也会不错)开始在波卡上推出平行链进行优化和扩展,目标是 50 条平行链和 1000 个验证人更多功能的开发,如平行线程、链下 XCMP、链下代码存储(将会提高性能)等

欢迎学习 Substrate: https://substrate.dev/关注 Substrate 进展:https://github.com/paritytech/substrate关注 Polkadot 进展:https://github.com/paritytech/polkadot