随着 Rusty Kaspa (RK) 节点软件(稳定版本)的成功部署,以及 Kaspa 的 P2P 网络和挖矿社区的广泛采用(~97% 的 Kaspa 区块是通过 RK 节点开采的),核心开源开发团队现在开始为硬分叉做准备¹,该分叉将把网络的区块率从 1 个增加到 10 个区块/秒 (BPS)²。在这篇文章中,我概述了即将到来的硬分叉的暂定路线图,特此命名为 Crescendo 硬分叉,它可能包含什么,以及部署它的过程。
概述
概括地说,以下是我们如何设想在 Kaspa 的主网络上实施这种加速所需的步骤。该过程涉及以下迭代阶段:
启动和稳定:启动具有所需区块率和相关网络设置的测试网,并努力稳定它。这是通过现有的 10 个基点 Kaspa 测试网 TN11 实现的,该测试网自 2024 年 1 月 7 日起投入运营。(完成)
确定瓶颈:以迭代方式识别处理瓶颈并进行性能优化,以降低运行节点所需的硬件规格。(完成)
迭代改进:重复上述操作,直到最低规格足够负担得起,并且足够低,以满足主网所需的去中心化。(我们在这里,接近这个优化循环的收敛。大致时间表:~2 个月后。
提升用户体验:一旦满足了性能要求,就将节点软件完善到主网运营商所需的用户体验水平。也就是说,在测试网设置中可以忽略的一些小问题需要在这里解决(~从现在起 ~3 个月)。(下一页)
附加功能:实施任何其他硬分叉功能并在 TN11 上部署它们。(目标时间表:从现在起 ~4-5 个月。为了适应时间线,可能会排除某些功能。
功能冻结。
硬分叉版本:实现硬分叉过渡版本
部署过渡测试网:在 TN10(1 BPS 测试网)上部署过渡版本,模拟主网过渡。
1-2 个月后激活硬分叉过渡的主网部署
更详细的演练
目前,RK 开发人员正忙于准备一个主网版本,该版本专注于引入许多内存池功能,其必要性在 KRC-20 测试版发布中进行了详细说明。其中包括 RBF(按费用替换)和费用估算 API 等微妙功能,这两者都需要与生态系统开发人员进行仔细工作。
在此版本发布后³,重点将转移到创建旨在稳定 TN11 节点的性能导向版本。该版本将用于将 TN11 参与者对齐在一个版本后面,该版本有望解决所有当前的处理瓶颈,并提供整个网络的平稳运行。
主要的工作是合并以下现有的 PR:
在创建修剪证明时,仅按需在更高级别上计算 GHOSTDAG。这是一个重要而微妙的公关,在合并之前仍然需要进行彻底的审查。
并行输入验证,通过并行验证输入,在处理事务时引入更精细的粒度。
将 TN11 上的 KIP9 公式升级到其最终形式(TN11 是与 KIP9 的过早版本一起推出的)。
改进了在构建块模板时进行事务采样的逻辑
合并这些功能后,TN11 将与此新版本一起推出,并在最大负载下运行几周。这将使我们能够了解运行此类节点所需的系统要求。如果认为最低系统要求太高,则必须调整一些参数(例如难度调整窗口大小和采样率、终结深度等),然后再进行几周的测试。或者,可以考虑进一步的性能周期。
在测试期间,将恢复一些其他功能的工作,包括:
改进和完善 IBD 流程,解决新节点同步过程中的一些边缘情况,这些情况在主网上极为罕见,但随着 BPS 的提高和修剪周期的缩短,这种情况会加剧。
加密收据 (KIP6),一种修改,允许更小、更简单的证明,证明已确认任意旧的交易。
启用交易有效载荷,这将简化 KRC-20 等规格。
一旦完成了上述所有操作,我们就可以开始编写这个硬分叉的主网版本了。此版本必须包含从当前协议参数过渡到新协议参数的逻辑。这是一个错综复杂的过程,必须经过严格的测试,并涉及做出一些关键决定,例如HF何时生效,以及是应该逐步完成还是一气相成。
我们强调,上述计划是暂定的。这篇文章的目的不是要提出一个最终的、一成不变的路线图,而是要强调 10BPS 硬分叉是核心团队的下一个主要关注点,我们将付出巨大的努力来实现这一目标。最重要的是,我们的指导原则保持不变:网络安全和稳定,并为生态系统留出足够的时间来适应。本着同样的精神,我们注意到,虽然上述细节与核心开发人员的责任有关,但更广泛的生态系统——包括钱包开发者、矿池、交易所、区块浏览器等——也需要做出调整,并应通过在 10-BPS 测试网中测试他们的软件组件来积极参与这项工作。
¹在我们的上下文中,“硬分叉”是指社区同意并计划对共识协议进行更改,而不是由于网络内部的分歧而导致的有争议的分叉。
²本次硬分叉中包含的任何更改都不会影响用户资金或排放计划。增加到 10 个 bs 将导致 10 倍的奖励,但每个区块的奖励将减少相同的因子,保持相同的每秒发射率。
³预计在本周末(~8 月 25 日)将推出以 mempool 为重点的主网候选版本。