[TOC]
AIP-60 - 提高共享计算资源的公平性
一、概述
目前,单笔交易对 max_execution_gas 和 max_io_gas 的限额设置使得部分交易能不合理地占用过多资源,并且执行时间约为 ~1s。提案建议短期内将这些限额降低至 ~100ms 左右,中期目标是进一步减少至 10ms。
1. 不在范围内
任何 Gas 校准更改或区块限制更改。
这也不涉及交易总体的 gas 上限,这些上限本身就远比个别交易的限制要高——尤其是考虑到存储费用自身就相对较高。
二、动机
允许单笔大额交易可能导致这些交易不公平地独占计算资源,进而增加了实现资源公平分配的难度,并可能导致区块链的反应速度减慢。
经过调查,导致单个交易花费大量时间执行的最常见原因是:
- 实现效率低下
- 将许多个别操作合并到单个交易中
较不常见的是,在大约 10-30ms 的时间范围内,确有一些特定情况实际上需要较高的计算资源,例如执行计算量较大的加密操作。
这表明减少交易限制应该总体上是有益的:
-
性能不佳的合约能够提前获得必要信息来进行性能优化。
-
减少交易的批量处理有利于提升并行处理能力和系统的处理速率。
-
区块链将能更快地响应,并保持更高的公平性。
我们将专注于理解那些有真实需求的使用场景,并研究我们如何解决它们。如果你的交易正是这种情况,请联系我们。
三、影响、风险和缺点
任何超出设定上限的 max_execution_gas 或 max_io_gas 的交易都将被拒绝。 那些需要执行较大工作量的合法场景必须通过分割成多笔交易来进行。
完整的系统框架升级的成本要高于设定新限制的成本,因此我们将增加一种特殊处理方式(与特定的交易大小处理方式相似)。而在此期间,我们所提出的逐步方案是:将首先提升这些限制,其次进行框架升级,最后再把限制降低回原来的水平。
四、参考实施
修改 transaction.rs 中的两个配置项
PR 以应用更改并创建主网提案
五、时间表
1. 建议的部署时间表
到一月中旬,将主网限制降低到 100ms,以立即提高公平性。 主网交易中不到 0.1% 属于此类别。
逐步地,与生态系统合作,进一步将限制降低到 10ms,在未来的几周/几个月内。
在开发网络/测试网络上,我们将更积极地降低限制,以帮助每个人了解其应用程序的影响,并更顺利地进行主网过渡。
六、安全考虑
无