Ginger 使效率翻倍, Celestia 的数据可用性吞吐量立即增加了 2 倍!
来源:Celestia;编译:邓通,金色财经
Lemongrass 升级于 9 月部署到主网测试版,是 Celestia 的首次共识升级。即将推出的 Ginger 升级,即 Celestia-App V3 是第二个。
Ginger 使效率翻倍, Celestia 的数据可用性吞吐量立即增加了 2 倍!在 v3 中,这是通过将出块时间从 12 秒减少到 6 秒来实现的,这也通过更快的事务单时隙最终确定时间来改善用户体验。
Ginger 还为社区治理奠定了基础,将块大小增加到每 6 秒最大 8MB,相当于 1.33 MB/s。
Ginger 在Arabica高度 2348907 激活(预计 2024 年 11 月 5 日)。预计将于 11 月进入 Mocha 测试网,并于 12 月进入主网 Beta。
Ginger 升级中包含的 CIP 在 CIP-25(一种元 CIP)中指定。
Ginger 中的 CIP 包括:
CIP-21:引入经过验证的签名者的 blob 类型
CIP-24:版本化Gas调度程序变量
CIP-26:版本化超时
CIP-27:PFB 和非 PFB 数量的块限制
CIP-28:交易大小限制
除了上述 CIP 之外,celestia-app v3 还包含一个重要的非共识更改:默认需要 BBR。
现实生活中的 p2p 网络必须在很长的距离上发送大量数据。这会成为问题,因为最常见的拥塞控制算法会随着更多丢失的发生而显著减少发送的数据包数量,换句话说,降低吞吐量。数据传输的时间越长,丢失的数据包就越多,带宽利用率就会直线下降。更糟糕的是,缓冲区开始积累,即使对于小数据包也会造成大量延迟。更糟糕的是,在去中心化网络中,节点不会等待缓冲区中的消息;它们只会继续到下一个块,导致这些缓冲的消息变得陈旧,并在最终发送时浪费更多的带宽。
谷歌的研究人员发现,数据包丢失实际上并不是检测拥塞的良好机制。相反,我们可以简单地使用往返时间。这就是 BBR 所做的,并导致现实生活中的地理分布式网络的吞吐量大幅增加。
这为未来吞吐量和性能的提高打开了大门,例如 Mammoth Mini 测试网中展示的改进。 celestia-app v3 要求默认打开 BBR。
CIP-21 引入了“创作的 blob”,其中直接将签名者的地址包含在 blob 元数据中。 Celestia 验证器现在验证该签名者是否与支付 blob 的地址匹配,从而无需汇总来单独检索和处理 PayForBlobs 交易。这简化了汇总的验证过程,允许他们直接检查 blob 的签名者字段以确保真实性。
CIP-24 将 Gas 调度程序变量 GasPerBlobByte 和 TxSizeCostPerByte 设置为只能通过网络升级进行修改,从而消除了通过链上治理更改它们的能力。这一变化旨在使交易成本更加稳定和可预测。它允许更简单的离线Gas计算方法,而无需在每次交易之前查询网络。
CIP-26将出块时间和相关超时设置为由应用程序版本控制,并将出块时间从v3中的12秒减少到6秒。此更改旨在提高网络吞吐量并减少交易最终确定时间。它还将内存池的 ttl-num-blocks 参数从 5 增加到 12,以通过更快的块时间保持一致的事务行为。
CIP-27 对每个块的 PayForBlob (PFB) 和非 PFB 消息的数量进行了限制。该提案实施了每个块 600 个 PFB 消息和每个块 200 个非 PFB 消息的限制。这些限制是PrepareProposal 阶段的软限制,这意味着它们并未在共识级别严格执行。此更改的基本原理是通过限制每个块中可以验证的交易数量来防止块处理时间过长。这些限制是根据基准确定的,目标是在推荐的验证器配置下每个块的处理时间约为 0.25 秒。
CIP-28 在 Celestia 上将单个事务的大小限制为 2MiB(2,097,152 字节)。此限制将在交易处理的所有阶段(CheckTx、PrepareProposal 和 ProcessProposal)强制执行,因此是一个打破共识的更改。其基本原理是为了防止八卦大型交易的问题,即使是 8 MiB 或更大的区块。它还为减少区块时间和增加区块大小以增加未来的吞吐量敞开了大门。