原文:《Aptos 存储和执行成本分开的Gas模型是如何规划的?

12月23日,Aptos 团队表示,通过与 Aptos 社区的访谈与反馈,将在未来几个月致力于改善 Gas 费用。

第一步是在 2023 年 1 月将动态 NFT 的 Gas 价格降低 10 倍(应为变为原来的 1/10),第二步是在明年一季度构建 Gas 高效数据结构,第三步是在 2023 年第二季度初设计一种新的 Gas 模型,将存储和执行成本分开,从而为执行提供需求驱动的 Gas 成本。

关于Aptos Gas 计划,主网上线前 Aptos Labs 曾发布过自己制定GAS 的原则、流程、如何计算GAS、后期GAS 费调整。更多可以阅读《一文读懂MOVE语言首个GAS设计:稳定且廉价的GAS单位成本

以下为 AptosLabs 有关明年改进 gas 模型计划的文章

作为我们加速 Aptos 生态系统发展的使命的一部分,我们经常与社区建设者合作,帮助他们实施并收集有关改进 Aptos 的反馈。最重要的要求是改进 gas 费用的时间表。

我们在 Aptos 上交付需求驱动的 gas 成本的三阶段计划:

2023 年 1 月初:改进 NFT 数据的操作,将动态 NFT 的 Gas 价格降低 10 倍(应为变为原来的 1/10)。

2023 年第一季度:通过从指南到索引的端到端支持构建高效的 Gas数据结构。

2023 年第一季度末、第二季度初:设计先进的gas 模型,将存储和执行成本分开,从而为执行提供需求驱动的gas 成本。

背景

最初,该团队的目标是将 gas 费率降低 10 到 100 倍,为了验证这种可能性,我们直接与许多生态系统构建者进行了交谈,包括 Aries、AUX、Econia、Ferum、Nutrios、Pyth、Souffl3、Switchboard、Topaz、Tsunami 等。通过这些采访和对链上大量交易数据的分析得出了以下见解:

Aptos ( aptos_account::transfer) 上的代币转账费用约为 0.00055 APT。许多 DeFi 操作落在 .003 到 .005 APT 的范围内。gas 成本主要占 execution 50%+ 和 item creation 20% 以上。

尽管缺乏短期解决问题的良方,但我们发现了现有的 gas 政策造成的难题:Aptos 将执行和存储 gas 成本捆绑在一起,尽管它们有不同的作用。

对于执行,gas 限制了交易的最大执行时间。对于存储,gas 决定了稀缺资源的智能使用;毕竟,存储是永久性的。考虑到这种捆绑,降低一方的成本会对另一方产生影响。

例如,执行gas 的大幅减少将导致可用于单个交易的存储总量同样大幅下降。我们的分析表明这会导致非常低的增益。

短期——降低10倍动态 NFT gas 

尽管缺乏将gas费降低 10 到 100 倍的立竿见影的良方,但我们发现了一个可以立即产生影响的领域:动态 NFT!在编写我们最初的 SimpleMap 时,我们选择了过早优化的道路。

SimpleMap 提供 O(Log N) 次读取和 O(N) 次添加和删除。然而,用于评估的比较器对gas 价格产生了重大影响,这在实施时是未知的。

事实证明,通过强行实施(brute force)可以实现便宜 50% 以上!Aptos 团队目前正在为 Mainnet 准备此更新,并正在发布我们的第一个Aptos 改进提案 (AIP)。

中期——gas-efficient 高效数据结构

生态系统中的许多团队已经认识到存储 gas 的细微差别,并实施了自己的 gas 高效数据结构。我们也在探索这些。在这个空间中,有几个权衡因素需要探索:1) 数据的大小, 2) 数据的应用。

Aptos gas 存储模型在创建插槽(即表项或资源)时提供免费字节。在现有槽内聚合超过某个点的数据最终将比创建新槽更昂贵。一些聪明的建设者已经找到了这种平衡。在与他们合作的过程中,我们已经开始开发 SmartVector 来帮助促进这一点。

显然,由于查找时间将对成本和规模产生直接影响,向量具有局限性。为此,该团队还在探索具有高效查找和增量操作时间的 SmartTree 。

最后,我们预计将恢复对 BucketTable 的支持,以实现更高效的大规模类地图存储。目前,Table 是大部分此类工作的首选方法,如 Aptos Token标准的TokenStore 所示。

Token可能更有效地存储在 BucketTable 中,为了使这项工作更有效,BucketTable 需要更多的爱。这些努力中的每一项都需要更多的强化、AIP、文档和索引支持。

当然,许多这些改进的代码很容易获得;因此,您无需等待这些解决方案成为主流即可受益!

长期——需求驱动的gas 成本

目前的 gas 框架结合了执行费和存储费,这反过来导致 gas 价格不平衡。此外,当前的存储定价方案缺乏反映数据生命周期的能力;因此,存储交互必须是昂贵的以防止存储滥用。当前的存储定价方案进一步没有提供删除数据的动机。

在接下来的几个月里,Aptos 团队致力于通过两项举措解决这些问题:

1)分离存储和执行 gas 费用并降低执行费用

2)提供支持存储费用返还的框架

虽然仓储退款仍处于早期集思广益阶段,但我们已经确立了以下核心原则:存储费用返还应返回到为数据创建支付的原始帐户。

数据创建的补贴应该可以从中央账户获得,例如,创建 NFT 或促进 DeFi 操作的资源账户。虽然现在还早,但我们期待在 AIP 或未来的 Medium 帖子中分享更多细节!

在这些重大努力结束时,移动或修改 NFT、更新预言机,甚至更新 DeFi 操作中的头寸等交易都将受益于gas费用价格的大幅下跌。