查看原文
区块链科技

Gavin 重磅演讲:波卡可能取消平行链竞拍,采用更加灵活的资源分配方式!

Gavin Wood PolkaWorld 2023-06-30

加入 PolkaWorld 社区,共建 Web 3.0!

6 月 28 日,波卡的年度旗舰活动 Polkadot Decoded 大会在丹麦哥本哈根举行,来自全球的 Web3 爱好者、Builder、投资人共同探讨波卡生态的最新进展。


这次大会最令人惊喜的环节,应该就是波卡创始人 Gavin Wood 作为神秘嘉宾出席,并且带来了非常重磅的观点。


 

Gavin 分享了波卡未来的发展方向,并提出了一个新的看待波卡的角度:不再受限于原有的平行链、中继链,而是聚焦于区块链所需的更底层资源 —— 计算核心(核),将波卡看作一个多核计算机。

 

并且 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 周

 

即时采购有点像平行线程的即用即付模型,是按需采购。使用波卡的费用,准确来说是使用波卡的核的费用,会根据市场情况来定。可能市场上有多个核可用,也可能没有,市场就是这样的。对于即时的使用,它会是核时间的连续性出售。

 

也就是说,我们把灵活性做到最大化,剩下的交给市场。



大宗采购

 

让我们更进一步地了解一下大宗采购怎么运作。不过这不是最终的提案,而是一个提出来供大家讨论的版本。

 

它的售卖每四周进行一次,每次以固定价格卖出四周的核时间。所有人都会付一样的价钱。

 

  • 目标是 75% 的可用核时间都通过大宗采购来租出。

  • 价格会根据上述比例有一定的浮动。

  • 未出租的核会进入即时市场。

  • 对之前租赁过的老客户有特殊照顾。



即时采购

 

再说说即时采购。本质上就是在需要使用时再去采购的核。

 

  • 它采用链上做市商或者经纪人模式,有规定好的价格,目标是 100% 的使用。

  • 可以从大宗市场拿出核时间,分成小块,然后分别拿到即时采购市场来出售。

  • 即时采购获得的总销售收益会由核时间提供商(包括波卡自己)均分。

 


即时采购的本质

 

  • 由链通过收集人来采购

  • 可以用于增加交易吞吐量(当你有额外的调用时,可以增加到双倍的处理能力)

  • 可以用于降低延迟(链本来是 12-18 秒出一个块,新增一个额外的核之后,就可以是 6 秒出一个块)

  • 可以支持 “核合约” 等新形式

 


大宗采购的本质

 

  • 它是非同质化的资产。核本来是同质化的,但当它们被分成很多份不同的时间,就成了非同质化资产。这种非同质化资产理论上可以由 XCM 来展示。经纪人可以展示这些核时间给其他链,这些链可能会想去交易这些时间。

  • 这个经纪人链(系统链)可以让这些四周的时间段切分开,分成很多个 NFT。

  • 这些时间段可以由经纪人平行链来消费,让所有者可以将计算分配给波卡的核。

 


大宗采购的使用方式

 

那么你获得这些时间之后,要如何去使用呢?

 

  • 可以把它们都指定给某条平行链,这就是目前的情况,只不过不是一个月一个月地进行,但都是一条链独占一个核。

  • 可以指定给多条平行链来共享,轮流使用一个核。

  • 可以放到即时市场上去。

  • 还可以瓜分之后分开售卖,可能可以通过一个单独的平行链用 NFT XCM 的方式来做到。

 


大宗采购中的租金控制

 

那么如果你想要长时间锁定一个核呢?那你当然需要去预测价格的走势。

 

我建议设置这样一个规则。当分配一个新的月份的大宗核时间时,经纪人记录价格和分配给了谁作为备用。在下个月,这个人可以用限价购买到(会设置一个涨价上限)。

 


这对现有的平行链意味着什么?

 

  • 现有的平行链租约会照旧。比如你已经拍到了两年的插槽,那么会继续。

  • 大宗采购的定价由治理决定。

  • 我个人认为应该从一个比较低的价格开始,来降低参与门槛。

  • 对于已会设置地板价租金控制优先受让权,来确保价格方面的长期保证。我们目前最多只是保证两年的使用时间,但之后理论上是可以保证无限期地续约的。

 

另外,平行链将拥有更灵活的出块时间。

 

目前平行链都是固定的出块时间,大概是 12 秒,等进一步优化之后大概是 6 秒。在未来,我觉得平行链的出块时间会更灵活。

 

平行链会有一个 “基础速度”。比如一条平行链与其他一条或几条平行链共享一个核,每隔 12 或 18 秒出一个块。但如果需要更高的吞吐量时,可以去即时市场或者在一些企业链上通过 OTC 购买更多的核时间。

 

核时间还可以压缩(通过牺牲带宽来降低延迟)。把多个平行链区块压缩为一个中继链的核,这会降低延迟,但会增加一些带宽的成本,因为你得为一个区块的开启和结束来付费。

 

核时间还可以结合(通过增加额外的核来提高性能从而降低延迟)。你可以搞两个同一时段的核,来获得两个完整的平行链区块。这样就可以把出块时间从 12 秒降低到 6 秒甚至再降到 3 秒。

 

以上所有这些东西,对于现有平行链的意义就是:

 

  • 在你需要的时候,获得更多的交易带宽

  • 在你不需要的时候,只需更低的成本

  • 可以成为高性能多核链

  • 可以成为周期性运行的链

  • 可以成为纯粹按需付费的链

  • 可以成为低延迟链(例如做到每 1 秒出一个块)

  • 可以进行长期资金支出规划 

那么核可以怎样使用呢。核的时间可以拆分开然后重组。

 


核的傻瓜式用法



这张图是目前情况,对核时间的傻瓜式用法。从左至右,时间逐渐向后。每一行相当于波卡上的一个核。目前 5 条平行链每条占据一个核。


 

但实际上每条链分配给哪一个核不重要,都无所谓。即平行链可以在任何可用的核上运行,而不会影响性能,这些核并不会对某一条链有特殊的亲和力。

 


核的灵活式用法

 

灵活的核用法,又叫做新型调度(exotic scheduling)。

 


可以分割区间



区间可以分割,区间的所有者可以分割区间并交易。一条平行链可以运行一段时间,然后停止自己的交易处理,让另一条平行链来运行。

 

我们看到浅蓝色的这条平行链,它停止了一段时间,然后又继续了。绿色的链也是一样。



可以跨越区间



多条链可以轮流在一个核心上运行,以分摊成本。可能你占 2/3 的时间,另一条链占 1/3,例如图中浅蓝色和黄色的链。



可以将核压缩



同一个核在同一个时间可以处理多个区块。在一个核心上验证多个区块,以实现更高的区块速率和更低的表现延迟。



可以将核组合



使用多个核心获得更强大的计算能力,这些核可以是瞬时的或长期的。

 

同一个 paraID,同一个 “任务”,可以在同一时间分配给多个核。它可以运用两个核,从而在这一时段里处理两个区块。比如这里的橙色有一个固定使用的核,但还有另一个间歇性使用的核。

 


未来可能的方向:多链共享一个核



两至三条链可以在同一时间共享同一个核,以降低成本,而不降低延迟。这是一种比较投机的用法啦。



未来可能的方向:把上面的用法混搭



理论上说上述所有的用法都是可组合的,把它们混搭起来用,就会得到一个极致灵活的普适计算资源。



小结

 

在这部分的内容中,我们用一个新的视角去看待波卡要做的事情。从以链为中心,转变为以真正的资源 ——“核” 为中心。

 

在后面的演讲中,Gavin 会分享波卡将怎样从以链为中心,转变为以应用为中心,以及如何让波卡更具韧性。这部分内容将在下一期发布,敬请期待。

 

  • 完整 PPT:https://hackmd.io/@polkadot/Decoded2023#/21

  • 原视频:https://events.polkadot.network/event/polkadot-decoded-2023/planning/UGxhbm5pbmdfMTQxMDAyNg==

  • 编译:PolkaWorld




  • PolkaWorld Telegram 群:

    t.me/polkaworld

  • PolkaWorld Youtube 频道:

    https://www.youtube.com/c/PolkaWorld

  • PolkaWorld Twitter:

    @polkaworld_org


更多内容


Polkadot 官方发文:Polkadot 区块空间及其生态系统将启动一个无限 Web3 创新的新时代!

Parity Shawn:用「贝佐斯」的决策思想来思考 Polkadot 背后的所有决策和权衡!

Polkadot 联合创始人 Rob:可扩展、技术和工具!

关注 PolkaWorld

发现 Web 3.0 时代新机遇


点个 “在看” 再走吧!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存