波卡创始人 Gavin Wood:波卡不再受限于原有的平行链,将更聚焦于区块链所需的计算核心

6 月 28 日,波卡的年度旗舰活动 Polkadot Decoded 大会在丹麦哥本哈根举行,来自全球的 Web3 爱好者、Builder、投资人共同探讨波卡生态的最新进展。
这次大会最令人惊喜的环节,应该就是波卡创始人 Gavin Wood 作为神秘嘉宾出席,并且带来了非常重磅的观点。
图片
Gavin 分享了波卡未来的发展方向,并提出了一个新的看待波卡的角度:不再受限于原有的平行链、中继链,而是聚焦于区块链所需的更底层资源 —— 计算核心(核),将波卡看作一个多核计算机
此外,波卡还将从以链为中心转变到以应用为中心,并致力打造具有韧性的平台。以下文字由 PolkaWorld 整理自 Gavin 的本次演讲内容。
波卡 1.0
现阶段波卡可以叫做波卡 1.0 版本。
在这个阶段,波卡的功能已经完备,已经实现了 7 年前在白皮书中提到的所有功能,并且即将发布波卡 1.0 的代码库。
那么波卡 1.0 是什么呢?在最初的白皮书中,我写道 “波卡是可扩展的异构多链”。也就是说它是一条区块链,但它有一个独特的共识机制“BABE”,它可以为其他区块链(平行链)提供安全性。
艺术化地概括一下,它大概是这样的。
图片
中间就是中继链,它负责 Crowdloan、Auction、管理余额、质押、治理等,是功能很多的中继链。边上的小点是平行链,中继链还要保障平行链的安全。而且这些平行链可以互相通信。
那么波卡提供的产品形式是什么呢?是以插槽的形式,6 个月一个租期,最长可以提前获取两年的插槽使用期,再加上 Crowdloan 的机制。但除此之外,没有其他方式可以利用波卡了。在波卡 1.0 中仅有的产品就是平行链插槽。
看待波卡的新角度:多核计算机
图片
这句名言说了这样一个道理:一个人想要真正了解这个世界,那么视角的转变是至关重要的,甚至比去到更广大的世界更重要。
因此在这里我们将转变视角,重新认识波卡是什么。
平行链、中继链这些概念都很好,也是我和很多人早期理解波卡的方式,是我们努力在构建的对象。
但随着时间的推移,我们发现自己在做的东西其实和原本设想的不太一样。有时候如果你比较幸运,或者你的团队很强,可能会做出比你最初想做的更牛逼的东西。
在计算机科学里,抽象化和通用化是很重要的。后来我们发现,我们对波卡进行的抽象化和通用化程度,远比我们之前想象的要高。
那么看待波卡的新角度到底是什么样的?
波卡是一个多核计算机
首先,我们所做的东西其实不是关于链,而是关于空间,关于链所需的底层资源。
其次,波卡是让构建者去创造应用,让用户去使用应用的平台。从本质上说,它不是托管区块链的平台。链刚好是让波卡变得有用的方式之一,但可能不是唯一的方式。
最后,它的韧性(Resilience)也很强。我觉得这是比 Unstoppable 更加中性的词,意思是可以抵御任何想要让它做它本来无意去做的事情,也就是说可以抵御对原有意图的扭曲。
所以总的来说,波卡是一个很有韧性的、通用的、连续计算的提供商。连续计算的意思是 —— 并不是你有一个工作,你把它做完了,这事儿就结束了;我们想做的是长期进行的任务,就算中间暂停了,但是可以继续持续做。有点类似在 2015、2016 年所说的 “世界计算机” 的愿景。
那么从这个角度看波卡是什么呢?它是一个多核计算机,多个核可以同时运行,做不同的事情。那么我们会发现,在一个核上运行的区块链就是平行链,平行链就是在一个预留好的核上持续不断地运行。现在我们用这种新的范式来理解了平行链。
“波卡超级计算机” 是什么样的
那么我们来更深入地了解一下这个“波卡计算机”
图片
“波卡超级计算机” 是多核的,比普通的计算机更强大。它有大概 50 个核,在持续不断地运行,并且是并行的。
根据我们的预测模型,再过几年,当它经过大量的基准测试、优化之后,后期核的数量可以增加到 500-1000 个。
每个 “核” 的性能
图片
再来看看每一个 “核”。
这些核和 CPU 核差不多。它有很多特征、属性,你可以描述它,本质上它就是一个做计算的东西,和 CPU 核很像。
带宽,也就是进出这个核的总数据量,大概是 1 MB/s。
底层的算力,也就是它可以做多少计算呢?在 Geekbench 5 的情况下大概是 380。
延迟,也就是做两个连续工作的间隔时间,大概是 6 秒。
随着时间的推移和硬件的进步,这些指标还会有一定的提升。
在过去,这些核能够发挥用处的唯一方式是通过平行链。但其实,还有其他的使用核的方式,让它更普惠,让人人都可以使用。
波卡需要更灵活的分配方式
这些意味着什么呢?
核其实是很灵活的。它不是仅能永远处理一个固定任务,它可以轻松地切换它做的事情,就像一个 CPU 可以切换任务一样。既然核很灵活,那么核的采购也应该是灵活的。
而插槽拍卖模型不够灵活,它是基于波卡原有的范式——长期运行的单链而设计的。不过后来我们又有了平行线程作为补充,但也仅仅是朝向正确范式的一小步而已。
而这个模型给波卡生态设置了很高的进入门槛。如果你像我一样,是一个喜欢自己捣鼓各种技术的人,以我自己为例,我可不想去搞些募资、营销的东西,我只想部署一下代码,然后看看能不能跑起来。但在当前的模型下,我想我们错过了很多这样的潜在合作者。
一种可能的未来 —— 灵活版波卡
下面我将提出一种可能的未来方案,可以叫它 “灵活版波卡”。
我们可以抛弃掉租期、插槽模型,而是将波卡视为一些 “核”。这些核上的时间,我们现在叫做 “核时间(Core Time)”,但之前也被称为 “区块空间(Block Space)”。这些时间可以被定期出售,即大家可以购买并使用核时间。
我的建议是这样。对于波卡原生的核时间出售(一级市场),可以分为大宗采购和即时采购两种方式。
大宗采购每个月进行一次,买一次可以使用 4 周
即时采购有点像平行线程的即用即付模型,是按需采购。使用波卡的费用,准确来说是使用波卡的核的费用,会根据市场情况来定。可能市场上有多个核可用,也可能没有,市场就是这样的。对于即时的使用,它会是核时间的连续性出售。
也就是说,我们把灵活性做到最大化,剩下的交给市场。
这对现有的平行链意味着什么?
现有的平行链租约会照旧。比如你已经拍到了两年的插槽,那么会继续。
大宗采购的定价由治理决定
我个人认为应该从一个比较低的价格开始,来降低参与门槛
对于已会设置地板价、租金控制和优先受让权,来确保价格方面的长期保证。我们目前最多只是保证两年的使用时间,但之后理论上是可以保证无限期地续约的
另外,平行链将拥有更灵活的出块时间。
目前平行链都是固定的出块时间,大概是 12 秒,等进一步优化之后大概是 6 秒。在未来,我觉得平行链的出块时间会更灵活。
平行链会有一个“基础速度”。比如一条平行链与其他一条或几条平行链共享一个核,每隔 12 或 18 秒出一个块。但如果需要更高的吞吐量时,可以去即时市场或者在一些企业链上通过 OTC 购买更多的核时间。
核时间还可以压缩(通过牺牲带宽来降低延迟)。把多个平行链区块压缩为一个中继链的核,这会降低延迟,但会增加一些带宽的成本,因为你得为一个区块的开启和结束来付费
核时间还可以结合(通过增加额外的核来提高性能从而降低延迟)。你可以搞两个同一时段的核,来获得两个完整的平行链区块。这样就可以把出块时间从 12 秒降低到 6 秒甚至再降到 3 秒。
以链为中心 → 以应用为中心
波卡 1.0 是以链为中心的范式:让孤立的链可以互相发送消息,这种方式本质上和单链加跨链桥很相似,只不过平行链都连接到中继链而已。这导致了碎片化的用户体验。用户可能在一条链上使用某应用,但他在另一条链上也想使用这个应用,也就是用多链的方式来使用应用。
但如果我们拥有以链为中心的范式,那么也会拥有以链为中心的用户体验。而如果某个应用不是以链为中心,那么所有事情都会变得很难。在现实中,如果我们想充分利用波卡的潜力,那么应用就需要跨链部署,而且需要是无缝跨链,至少对于用户来说要如此,更理想的情况是对于开发者来说也是如此。
这是一个 “波卡是什么样子” 的艺术化示意图:
图片
现在,系统级功能正在转向跨链部署的范式。系统链更加普遍,中继链处理的东西越来越少。应用需要能够跨越这些链,并且不能因此让用户体验变得困难。
这是我半小时前刚画的示意图,这是我认为理解 “波卡是什么” 的更好的观察角度。
图片
波卡其实并不是中继链在中间,平行链围绕在周边,至少对于来到波卡生态的人来说不应该是这样。事实上,波卡应该是一个集成系统,一个运行了很多应用的计算机。
没错,不同链的业务逻辑组件(即平行链)之间是有边界的,但这对用户来说可能没有我们以为的那么重要。更重要的是,用户能做到他们想做的事情,并且是轻松地、清楚地、快速地做到。
图上的圆点是应用,分割圆点的虚线是“paras”,我不想说成平行链,因为那会引诱我们掉入“每条平行链对应一个核” 的思维陷阱。这是波卡到目前为止的模式,但并不是唯一的选择。
这些圆点在正常情况下应该可以互相交流,并且几乎与在虚线范围内的空间交流一样轻松。
XCM
要怎样做到这一点呢?这就说到 XCM 了。XCM 是一种语言,而真正传递消息的传输层叫 XCMP,我承认这两个名字有点容易混淆。
XCM 是做什么的呢?它的作用是抽象出链中常见的功能,它创造了一种描述性的语言,来描述你想要做什么或者想要什么事情发生。
在波卡中,我们也面临类似的问题。XCM 是一种表达意图的语言,WebAssembly 是表达平行链在波卡中要遵守的法律,可以把它想象成欧洲法院(ECJ),保证平行链遵守了自己提出的逻辑,但这并不意味着这个逻辑无法被平行链合法地更改,从而去拒不遵守 XCM 语言。
XCM 是一种表达意图的语言,比如“我准备去转账资产”、“我准备去投票”。在互相信任的系统链之间,这不成问题。但如果它们是在不同的治理流程、立法程序之间,就会有问题了。在波卡生态中我们可以做得更好。
Accord(协定)
这里我提出了一个新的术语叫 Accord(协定)。协定是跨多条链的自愿性条约。有点像说 “我自愿遵守这一个业务逻辑,并且我做的任何事情都不会改变这一点”。链自己不能破坏条约的逻辑。
波卡保障该逻辑的忠实执行。协定会针对特定的函数。任何加入该协定的链都要遵守规则,这个规则会针对这个特定的函数。为了保证较低的进入门槛,提出协定是无需许可的。因为它是自愿加入的,所以在通过和注册之前都不会影响任何人。
这个示意图不是最精确的,但大概意思是这样。外圈是波卡,里面有一些小圆点,我们把这个图水平放置。那么 Accord 就是一个统治其本地的主权性的单独的机制。
图片
Accord 并不是在所有系统中都能存在的。据我所知,波卡是唯一能够支持它的存在的系统,因为波卡是唯一一个拥有同强度安全层的系统,而且还能为每个分片提供特定的状态转换函数。这些特点让波卡可以做到在其他架构(如跨链桥)中不可能达到的合作模式。
对波卡比较熟悉的人可能听过“SPREE”,SPREE 就是可以实现 Accord 的技术。
Project CAPI
简单讲讲用户界面 —— Project CAPI。它的作用是让跨越多条链的波卡应用可以拥有顺滑的、体验良好的用户界面,即使是在使用轻客户端的情况下也是如此。
隐士中继(Hermit Relay)
也就是将中继链中所有用户级功能,都转移到系统链中。例如:余额、质押、治理与身份、核的租赁。最终让波卡的功能跨越多个平行链,释放中继链的空间。
打造有韧性的应用平台
最后一个部分,我想重申一下我们在做的事情,以及为什么要做。一切都是关于韧性。世界总在变化,但如果大家有明确的意向,那么让这些意向能够被尊重是很重要的。我们现在所用的系统不够有韧性,它们是基于很老派的思想而建立的。
那么怎样打造一个不受到这些威胁的系统呢。首先当然是建造一个去中心化的、基于密码学的、经得起博弈论考验的系统了。但我们具体要做什么呢?
虽然我们天天都在宣扬“去中心化”,但是如果所有东西都要通过同一个 RPC 供应商,就算不上真正的去中心化。去中心化需要由多种因素共同提供:
轻客户端的使用:Smoldot 和 CAPI 将允许高性能的基于轻客户端的 UI。
ZK 原语:构建一个功能丰富的、高性能的ZK原语库。第一个库已经快完成了,将为链上集体(包括 Fellowship)提供隐私保护。
Sassafras 共识:新的无分出块共识算法。提高了安全性和随机性,具有高性能的交易路由。提高了平行链的性能和用户体验,加密的交易防止了 Front-Running,可能带来潜在的 MEV 收益。
混合网络/洋葱路由:避免泄露交易的IP信息。是用户、链和OCW之间的通用消息系统。
人的去中心化:引入很多的且足够多元的人参与到系统中。通过治理、国库支出、工资、补助等方式激励大家的参与,并且吸取和维护集体知识。
最后,我想要重申一下我们的初心。波卡并不是为了创建某个特定的应用而存在,而是去提供一个平台,在该环境中提供一个部署多种应用的方式,并且让应用可以互相利用对方的功能,来提高广大用户的福祉。并且我们要确保这个愿景能够尽快实现,这就是波卡的使命所在。
如果波卡无法对世界上的变化保持一定的韧性,那么构建波卡将毫无意义。这些变化可以是达到同样目的的其他方式,或者已有的来自厌恶去信任世界的外部组织的威胁。