官方 Wiki 精选丨 Agile Coretime 简介
本文是关于波卡 Agile Coretime 架构的介绍。
“波卡知识图谱”是我们针对波卡从零到一的入门级文章,我们尝试从波卡最基础的部分讲起,为大家提供全方位了解波卡的内容,当然这是一项巨大的工程,也充满了挑战,然而我们希望通过这样的努力让大家能够正确认知波卡,也让不了解波卡的人方便快速掌握波卡相关知识,今天是该栏目的第 169 期,本文是关于波卡 Agile Coretime 架构的介绍。
调度(Scheduling)(详情请参见: https://en.wikipedia.org/wiki/Scheduling_(computing))是指在特定时间或条件下,将任务分配给资源(如 CPU 核心)的过程。 有效的调度可确保资源得到高效利用,任务能及时完成。
波卡(Polkadot)通过引入 Agile Coretime 实现调度,从而能够高效利用波卡网络资源,并为开发者提供经济灵活性,使波卡超越了其白皮书(详情请参见: https://polkadot.com/papers/Polkadot-whitepaper.pdf)最初提出和设想的范畴。Coretime 的引入使得多线程得以实现。
多线程(Multi-threading)(详情请参见: https://en.wikipedia.org/wiki/Multithreading_(computer_architecture))是一种编程模型,它在单个进程中创建多个线程(较小的编程指令序列),以便同时执行多项任务。多线程通常用于通过并发执行程序的不同部分来提高应用程序的性能。
并发(Concurrency)(详情请参见: https://en.wikipedia.org/wiki/Concurrency_(computer_science))并不意味着并行执行,而是使系统能够通过在多个进程间快速切换来进行管理。
波卡通过拆分和交织(详情请参见: https://wiki.polkadot.network/docs/learn-agile-coretime#splitting-and-interlacing)Coretime 来实现多线程处理。
Coretime 市场:Coretime 市场使用指南(详情请参见: https://wiki.polkadot.network/docs/learn-guides-coretime-marketplaces)
平行链 Coretime:从平行链角度看 Agile Coretime(详情请参见: https://wiki.polkadot.network/docs/learn-guides-coretime-parachains)
Agile Coretime 介绍
在 Polkadot 1.0 中,平行链唯一能够通过波卡获得安全保障的方式是通过拍卖租用租赁期(详情请参见: https://wiki.polkadot.network/docs/learn/learn-auction),该租赁期可保证平行链区块验证有效期长达两年。这需要锁定大量的 DOT,导致中小型区块链项目的准入门槛较高。无论网络活动如何,平行链都以 12 秒的固定间隔产生区块。这就导致了资源分配效率低下和经济激励错位,在网络流量较小时几乎生成空区块,而当流量超过区块限制时又无法应对较大流量。Agile Coretime 解决了所有这些弊端。
下图展示了 Polkadot 1.0 的核心使用情况,其中横轴表示时间,每一行代表一个核心。不同颜色表示不同的平行链,每个平行链使用一个核心(即一条平行链对应一个核心)。
Agile Coretime 允许以“批量”方式购买 Coretime(详情请参见: https://wiki.polkadot.network/docs/learn-agile-coretime#coretime),分配周期为一个月。
对于那些需要每 12 秒(或通过 Asynchronous Backing 每 6 秒,详情请参见: https://wiki.polkadot.network/docs/learn-async-backing)生成一个区块的高负载平行链而言,它们能够每月无缝“续订”核心(详情请参见: https://wiki.polkadot.network/docs/learn-agile-coretime#core)。Coretime 续订订单优先于新订单,并提供价格波动保护,使平行链能够更有效地规划项目预算和成本。
购买的 Coretime 还可以拆分并部分出售,最小可细分到每月单个区块,从而促使二级市场蓬勃发展,提高了 Coretime 的分配效率。
此外,Agile Coretime 还提供按需 Coretime(详情请参见: https://wiki.polkadot.network/docs/learn-agile-coretime#on-demand-coretime)功能,允许按需生成平行链区块。
Agile Coretime 术语
1
Core(核心)
“Core”一词指的是中继链为确保平行链区块安全所提供的计算资源的虚拟抽象概念,这涉及一组随机的中继链验证人。2
Coretime(核心时间)
分配给利用核心的时间,以中继链区块为单位进行计量。3
Bulk Coretime(批量核心时间)
由 NFT 代表的固定时长的连续核心时间,可以拆分、共享或转售。目前,批量 Coretime 的时长设定为 28 天。4
Region(区域)
代表批量 Coretime 单位的 NFT。5
On-demand Coretime(按需核心时间)
之前称为即时 Coretime,按需 Coretime 指的是通过近乎实时竞价获得的 Coretime,用于验证专门保留给按需订单的其中一个核心上的单个平行链区块。Parathreads 更名为 on-demand parachains(按需平行链)。
按需平行链(之前称为 Parathreads)是指购买按需 Coretime 并通过按需 Coretime 池访问中继链的平行链。
6
On-demand Coretime Pool(按需核心时间池)
一组可按需使用的核心。通过批量 Coretime 预留的核心也可以部分或全部放入按需 Coretime 池中。7
Coretime Chain(核心时间链)
一条系统平行链,负责批量 Coretime 的销售、操作以及最终按需 Coretime 积分的购买。它还负责将中继链上的各个核心调度给平行链。8
Timeslice(时间片)
时间片代表 Coretime 链在中继链上调度核心的粒度。Coretime 链会提前宣布每个核心的调度计划,包括接下来的 80 个中继链区块。5040 个时间片对应于 28 天的区域长度(这是为批量核心时间设置的初始配置)。9
Task(任务)
“Task”一词指的是核心效用的抽象概念。核心上的任务不仅限于保障平行链的安全。Agile Coretime Implementation(敏捷核心时间实施)
Coretime 通过部署在 Coretime 链上的中介模块(详情请参见: https://github.com/paritytech/polkadot-sdk/blob/eefd5fe4499515da66d088505093f75b5aa22550/substrate/frame/broker/src/lib.rs)进行管理。
理论上,波卡中继链可以无缝支持大约一百个核心,并通过优化支持数百个以上的核心。
初步测试成功运行了 80 个核心,区块时间为 12 秒。核心时间销售收入将被销毁(详情请参见: https://app.regionx.tech/?network=polkadot)。
1
Coretime Sales(核心时间销售)
Coretime 链上的销售以[timeslice]长度为单位。这些销售分为两个主要时期:续订期和销售期。- 续订期的长度为[interlude_length]个区块,在此期间可以对批量 Coretime 进行续订。
- 销售期也分为两个阶段:价格发现期(Price Discovery period)和固定价格期 (Fixed Price period)。在续订期之后,Coretime 链将设定一个新的[start_price],并启动一个为期[leadin_length]个区块的荷兰式拍卖,通过压低价格来找到合适的平衡点。此过程将确定[regular_price],该价格将在固定价格期内提供。
关于初始 Coretime 定价的讨论可在此处查看,详情请参见: https://forum.polkadot.network/t/initial-coretime-pricing/5187。
2
Splitting and Interlacing(拆分和交织)
如拆分和交织是可以在一个区域内执行的操作。进行这两种操作中的任何一种都会使你失去价格上限续订的权利。- 拆分:将一个区域划分为几个具有不同起始和结束时间片的区域的操作。
- 交织:将一个区域在一个时间片的每个区块内划分为执行不同任务的操作。结果区域将与父区域具有相同的起始和结束时间片,但在不同的块上执行不同的任务。
3
Elastic Scaling(弹性扩展)
通过 Elastic Scaling(仍在开发中),项目可以无缝扩展,而不受之前分配资源的限制。Elastic Scaling 是为一个任务获取多个核心的过程。这使得平行链能够在单位时间内包含更多区块(在中继链一侧),并且在单位时间内生成更多区块(在平行链一侧进行 Async Backing)。Elastic Scaling 可以与按需 Coretime 相结合,以无缝地增加带宽。
原文出自 Polkadot Wiki,详情可查看: https://wiki.polkadot.network/docs/learn-agile-coretime
欢迎大家加入我们 Polkadot 生态研究院的电报:
https://t.me/polkadot_eri
https://mirror.xyz/0x9A259b3a2316281Cc948cE2Cf1Ac610a79844f05
精选文章
平行线程 | 经济模型 | Slash | 通货膨胀 | NPoS | Web3 基金会
Staking | Gavin Wood | 跨链 | 平行链 | 国库 | Parity
DOT | Web3.0 | 网络效应 | Grant 指南
Statemint | 区块链 | SBP 计划 | 新计划
XCVM | BEEFY | XCM
Wasm
免责声明:文章中的所有内容仅代表作者的观点,与本平台无关。用户不应以本文作为投资决策的参考。
你也可能喜欢
活动名称:新春财富节:$3,000 BGB 空投降临社区!
客观的聊聊Gala的新项目GalaMusic 能否“重整再出发”。
BenPay 推出全球首个链上红包,赋能全球多币种支付新时代
BenPay 宣布推出了全球首个链上红包功能,为全球用户带来了一种全新的去中心化支付与社交互动方式。
从孤岛到公海:PicWe 如何为区块链构建无桥自由的交易未来
在区块链世界,这个“公海”则是一个去中心化的交易场所,让所有链的用户都能轻松互动。