区块链101:核心时间

本文介绍了Polkadot区块链网络中从最初的Parachain插槽拍卖系统到现在的Agile Coretime的演变。最初的拍卖系统存在资源浪费和高成本问题,而Agile Coretime通过引入核心(Core)的概念,允许项目根据实际需求购买验证时间,从而更有效地分配验证资源,并介绍了批量核心时间(Bulk Coretime)和按需核心时间(On-Demand Coretime)两种购买方式。

这是关于区块链的系列文章的一部分。如果你是第一次看到这篇文章,我强烈建议从该系列的开头开始阅读。

到目前为止,我们已经介绍了通用的 Polkadot 架构 及其 共识机制

重要的是要澄清,我们并没有涵盖关于这些主题的所有知识。例如,我们没有提及 运行验证者的要求,或者如何通过 GRANDPA 实现最终性,或者 BABE(或其演进版本 SAFROLE)如何处理验证者的伪随机分配。我将把这些内容留给你们去研究,以便我们可以专注于更大的图景。

上一篇文章 以一个有点悬念的问题结束:Rollups 如何获得中继链验证的访问权限

验证整个区块比简单地检查单个交易是否公平要昂贵得多。此外,中继链验证者需要加载和执行 Rollup 的特定 Runtime,这也意味着它需要在某个时候注册到链上。

我们可以将其与智能合约的部署然后接受交易进行类比——主要的区别在于,对于智能合约,L1 验证者可以直接访问验证所需的所有状态。但对于 Rollups,验证者需要理解完全不同的 Runtime 并管理单独的状态系统。

还有一个问题是,我们为每个链分配多少验证者,以及为什么 - 请记住,共识算法 ELVES 将验证者动态分配给不同的 rollups。

这是由一个基本的资源分配问题驱动的:验证者是昂贵且有限的,但 Rollups 具有截然不同的需求。有些需要持续验证——有些只需偶尔验证。我们如何公平有效地分配这种宝贵的资源,即验证者计算时间

解决方案以 Agile Coretime 的形式出现。但这并非总是如此,从 Polkadot 的原始设计到今天的灵活系统的历程揭示了构建可扩展区块链基础设施的许多挑战。

有了这些,背景就设置好了!让我们开始深入研究!

最初的解决方案

当 Polkadot 首次推出时——我们现在称之为 Polkadot 1.0 的版本——它采用了一种 拍卖系统

稍微简化一下,在拍卖期间,你可以下注(以 DOT,Polkadot 的原生货币),中标者将获得一个 Parachain 槽位 的租赁权,为期 96 周(大约两年)。

我现在将 Rollups 称为 Parachains,因为这是当时使用的术语!

获得一个槽位本质上与购买在 Polkadot 验证计划中的保证位置相同。也就是说,你的 Parachain 将被分配验证者,用于每个中继链区块,从而确保一致的 12 秒区块时间。作为交换,你出价的 DOT 将在整个租赁期间被锁定。你将完全失去对这些 DOT 的访问权限——这是一项巨大的资本承诺。

读完之后,我敢打赌你脑海中会冒出一些疑问。的确,这个系统存在一些问题。比如:

  • 拍卖需要多长时间?
  • 我需要抵押和锁定多少 DOT?
  • 如果我没有赢得拍卖会怎么样?我会不会被排除在 Polkadot 的验证计划之外?
  • 如果我的 Parachain 没有产生区块,我是不是在浪费网络资源?

嗯...是的。虽然拍卖 不是很长,但出价可能会升级到 荒谬的数额,通常超过数百万个 DOT——我们在这里谈论的是在整整两年内锁定的数千万美元。当然,这些资金在租赁期间没有流动性。

拍卖大约每 15 天举行一次,如果你没有赢得你的槽位,你将完全被排除在 Polkadot 之外。句号。没有验证,没有互操作性,没有共享安全——什么都没有。

最后,一些 Parachain 在某些时期活动量低或完全不活动,Polkadot 本质上是在验证空内容。一个槽位可能被分配给一个什么都不做的链。

这些通常被称为 幽灵链。 “昂贵”的槽位产生空区块,而其他项目则在场外观望,根本无法访问网络。

所以是的,情况有点糟糕。竞标过程不是很吸引人,如果你的 Parachain 流量较低,只会导致资源分配效率降低。

很明显,这无法扩展。我想这就是为什么在系统被废弃之前只举行过 20 次拍卖,转而支持几个月前启动的更具可扩展性的解决方案:Agile Coretime

重新设计系统

有一件事非常清楚:如果 Polkadot 要成为一个可扩展的区块链,它需要一个更好的策略来分配验证资源。

让我们首先解决一个显而易见的问题:为什么我们需要2 年的租期?这是一个非常长期的承诺,并且没有任何保证 Parachain 在此期间会保持一致的流量和活动。

好吧,先划掉这一点。但是现在……我们如何选择在每个区块上验证哪个 Parachain?我们需要一种灵活的方式来允许这些系统根据需要为验证时间付费。

这听起来有点像你可以出售的资源。而且是一种稀缺资源——你只有这么多验证者,并且中继链区块的空间有限,因此你每个周期只能验证一定数量的 Rollup 区块。

是的,从现在开始我将开始称它们为 Rollups。我相信这是社区希望它们被调用的方式,所以让我们坚持这一点!

因此,区块空间 作为一个(商品)资源的概念诞生了。当你需要中继链来验证你的 Rollup 时,你只需在你需要时购买你需要的区块空间。

剩下的就是确定如何提供和消耗区块空间。

Agile Coretime

从这些新想法中浮现出来的解决方案称为 Agile Coretime。它建立在这个简单而强大的洞察力的基础上,即不同的项目可能有截然不同的需求。

Coretime 围绕着 核心 的概念展开。

什么?

是的,一个核心。

它只不过是一个抽象的概念,可以被认为是 Polkadot 调度系统中的一个保证验证槽位。本质上,当你购买 Coretime 时,你就是在验证队列中预留了一个位置。

Polkadot 对这些核心的数量有限制(目前大约 80 个,计划扩展到更多)。每个核心代表了每个中继链区块验证一个 Rollup 区块的能力。当需要验证区块时,共识算法 (ELVES) 会查看哪些 Rollup 购买了 Coretime,并相应地分配验证者。

在旧系统中,租用一个槽位与租用一个核心两年——确保你的 Rollup 获得验证资源——完全相同。

说到这里,这些负责检查 Rollup 区块的验证者集合正在做实际的计算工作。因此,在每一轮共识中,每个验证者组才是真正构成一个核心的要素。

因此,我们可以将一个核心视为 Polkadot 网络的虚拟 CPU,它在每个区块运行单个程序——而这些“程序”仅仅是对单个 Rollup 的验证。

请注意,这种 核心 概念自然是稀缺的——每个核心代表每个中继链区块验证一个 Rollup 区块的能力,因此你只能同时验证与你拥有的核心数量一样多的 rollup。

因此,Polkadot 本身可以被认为是一个巨型的多核分布式计算机,能够并行运行所有这些 Rollup 程序!

如果你问我,这太酷了。

购买 Coretime

现在我们了解了核心是什么,下一个问题显而易见:你如何实际购买 Coretime

在这里,Agile Coretime 有几个非常聪明的技巧。有两种购买 Coretime 的方式:批量按需。让我们来分解它们。

批量 Coretime

第一种模式类似于每月订阅,就像你为 Netflix 订阅的那样。

除非...你知道

你预先支付固定期限的费用,作为交换,可以获得对该服务的可预测访问权限。

你实际购买的是 28 天的按时段计费,称为 regions。在这 28 天内,你可以随意使用该核心——你可以保证每个中继链区块都获得验证。

这当然非常适合需要持续验证的成熟项目。也许是一个繁忙的 DEX,每天处理数千笔交易,或者是一个处理定期跨链传输的桥——这些都是可以从批量 Coretime 中受益的应用程序。

但这并没有结束。这些 region 不仅仅是简单的订阅。它们实际上是存在于 Coretime 链 上的 NFT ——一个专门的系统 Rollup。这些 NFT 可以被分割、共享,并在二级市场上交易,从而实现一些非常酷的行为,例如:

  • 交织 (Interlacing):如果你想与另一个项目分摊核心的成本,你可以使用 interlacing,并安排谁在每个区块使用该核心。例如,可能有两个项目使用一个核心,并且它们可以获得交替的区块(一个获得偶数区块,另一个获得奇数区块)。

  • 分区 (Partitioning):除了使用 interlacing 定义区块时间表之外,另一种选择是使用 partitioning 将一个 region 分割成两个较小的块。这将创建两个不相交的 region,其总时间等于原始的时间段。最酷的部分:你可以随心所欲地分割它!
  • 池化 (Pooling):如果你有未使用的批量 region,你可以将它们 放置在池中,供其他服务使用,同时赚取奖励。
  • 流水线 (Pipelining):虽然 interlacing 和 partitioning 是共享 Coretime 的技术,但 pipelining(或异步备份)是一种充分利用核心的方法。通过在开始备份新区块之前不等待将区块包含在中继链中,验证可以更快地发生。

另一个很酷的功能是,如果你在不分割或交织的情况下将整个 region 分配给单个 Rollup,你将获得具有价格保护的 续订权。这意味着你可以以价格上限续订下一个 28 天期间的核心,从而保护你免受突然的价格上涨的影响。

这是一个非常灵活的模型,在区块链系统中几乎是前所未有的。它有可能为共享基础设施成本创造全新的经济模式!

按需 Coretime

另一方面,我们有按需 Coretime。

为了继续进行应用类比,可以将其视为区块验证的 Uber ——你只需在你需要时付费!

你无需预先购买整整一个月的使用时间,而是按区块投标验证。需要立即验证你的 Rollup 吗?出价,如果足够高,你将获得下一个可用插槽。

这非常适合:

  • 测试其 rollups 的新项目
  • 具有不规则使用模式的应用程序
  • 仅在投票期间激活的治理链
  • 任何想要在没有大量前期投入的情况下进行实验的人

当然,你需要核心来进行任何验证活动。那么,这些核心从哪里来呢?嗯,我们刚才描述的 池化 行为实际上说明了这种计算时间的可用性,并且这些“过剩”资源可通过按需 Coretime 获得!

定价是动态的——需求越多,价格越高。但是当网络安静时,验证会更便宜。

总的来说,该系统解决了我们之前看到的幽灵链问题。核心将不再闲置——或者至少,如果是这样,则需要 Coretime 买家采取有意的行动。

总结

Polkadot 从那些僵化的 2 年拍卖走过了漫长的道路,演变为这种灵活的、市场驱动的 Coretime 系统。

Agile Coretime 是我们思考区块链资源方式上的一大转变。它侧重于高效分配,这是可扩展性的关键。正如我们所知,可扩展性是区块链设计的三大支柱之一。

而这仅仅是个开始。Coretime 模型相对较新,我们已经看到了诸如 RegionX 之类的二级市场以及创造性的成本分摊安排的出现。

这是一个非常不同的价值主张,这是肯定的!

像这样的系统通常会以令人惊讶和意想不到的方式发展。所以我想,与 Polkadot 领域的许多事情一样,我们不得不拭目以待!

此外,Polkadot 并未就此止步。下一个重大演变已经在进行中

因为,如果我们可以有效地分配计算资源……我们是否应该将自己限制在 Rollups?我们难道不能推广到任何类型的计算 吗?

银河大脑时刻

我们将在下一篇文章中介绍这些以及更多内容。再见!

  • 原文链接: medium.com/@francomangon...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论