一、概述
现在 AIP-17 已经部署, 存储空间成本(存储费用)与 Gas 定价解耦,不再需要利用 存储 Gas 曲线 动态增加存储 Gas 费用,以便根据总状态存储使用情况保护免受状态爆炸。这里提议弃用曲线,并使 IO Gas 价格稳定。
二、动机
存储 Gas 曲线不再必要(见理由),保留它们仍然会使状态读/写相关的 Gas 费用随全局状态存储的增长而增加,这使得定价不必要地不稳定,而且没有保护数据库的有意义效果。弃用曲线的动机是从中消除对 Gas 定价的不稳定影响。
三、影响
主网还没有足够大的状态来触发曲线上的初始价格增长。建议将曲线动态调整的 IO 相关 Gas 费用设置为全局 Gas 计划中的静态值,主要是曲线上的初始值(但稍低,见规范部分)。
测试网已经启动了曲线,但在应用这个弃用后将与主网重新对齐。
四、理由
在 Aptos 启动时,存储分配和访问都按照常规用户指定的 Gas 定价进行收费,预计在网络吞吐量低时,这将是低的,这使得以低廉的价格填充区块链存储空间成为可能。存储曲线被放置在那里,以动态增加存储 Gas 价格,随着全球状态存储的增长,提供了对分配新存储空间的经济压力。 AIP-17 被提出并实施,以便施加额外的收费类别,即存储费用,这些费用以绝对的本地 token 值定价,因此与用户指定的 Gas 单位价格解耦。现在存储 Gas 费用(排除存储费用)只覆盖存储访问成本的瞬态方面 (IO 和带宽),并且不应根据存储空间使用增长而增加。然而,它们仍然根据现有的存储 Gas 曲线动态变化。
五、规范
将这些维度添加到全局 Gas 计划中,并设置为主网曲线上的初始(和当前)值(所有这些都是 Gas 单位):
- storage_io_per_state_slot_write
- storage_io_per_state_byte_write
- storage_io_per_state_slot_read
- storage_io_per_state_byte_read
注意,我们不再区分新的分配和现有项的修改,因为分配存储槽的磁盘空间成本由存储费用覆盖,而这些 Gas 费用覆盖了 IO 成本,这在分配和修改之间是相同的。
六、参考实现
https://github.com/aptos-labs/aptos-core/pull/8605
七、风险和缺点
TIP
译者注:原文未提供
八、时间线
1. 建议的实施时间表
发布1.6
2. 建议的开发平台支持时间表
不需要
3. 建议的部署时间表
与发布1.6一起
九、安全考虑
TIP
译者注:原文未提供