MOVE语言迎来首个GAS设计:链上资源计费方案全解析

MOVE语言首个GAS设计:链上GAS花费计算方法探析

MOVE语言早期版本并未考虑GAS机制,因此某区块链项目为其设计的GAS计划被称为"一场冒险"。该计划阐述了制定GAS的原则、流程、计算方法、后期调整等内容,并欢迎社区提供建议。

GAS计量是很多区块链的基本概念,用于衡量执行和存储链上交易所需的计算和存储资源。GAS计划确定了链上所有执行的成本,用于计算交易执行期间的GAS花费。

流程

该区块链项目的GAS实施流程包括:

  1. 定义原则
  2. 准备评估框架,确定每个执行的价格
  3. 为Move建立GAS计量系统和安全GAS代数
  4. 将上游GAS框架导入
  5. 使GAS框架具有存储意识
  6. 进一步细化GAS计划

原则

项目定义的原则包括:

  1. 操作成本应与网络可用资源直接相关,并随技术进步降低
  2. GAS由链上治理设置,可无缝配置
  3. GAS可防止DoS攻击,可根据网络情况快速调整
  4. GAS价格反映了加速增长和保持区块链普及性的愿景
  5. 鼓励在设计中做出有利于安全性、模块化等的选择

计算GAS

用户提交交易时需指定:

  • 最大GAS数量:愿意为执行交易花费的最大GAS单位数
  • GAS单价:以八进制计算,1八进制=0.00000001原生代币

交易执行过程中收取:

  1. 固定成本
  2. 执行成本
  3. 读取成本
  4. 写入成本

最终交易费用 = 消耗的GAS总量 × GAS单价

例如,一笔交易消耗670个GAS单位,用户指定GAS单价为100 Octa/单位,则最终费用为670 × 100 = 67000 Octa = 0.00067原生代币。

如果交易执行中GAS耗尽,发送方将根据最大GAS量收取费用,该交易所做的所有更改将被恢复。

建立GAS计划表

1. 基本配置

GAS计划包含与单个操作无关的组成部分,如交易大小和最大GAS单位。

2. 交易规模

大多数交易规模在千字节级别,但发布Move模块可达几千字节。最初将交易规模设为32KB,后根据社区反馈调整为64KB。

过大规模的交易会增加网络带宽成本并可能影响性能。内存池会倾向于忽略规模更大的交易,因此需在最大规模和可访问性间平衡。

3. 最大GAS单位

GAS计划中的最大GAS单位定义了交易可执行的最大操作数。设置过高可能导致负面性能影响,如无限循环。经测试发现,即使进行最大框架升级,也不到设定最大GAS单位(1,000,000)的90%。

4. 执行

团队构建了基准框架并使用分析工具评估执行成本,粗略估算了所有Move指令和本机函数的相对成本。通过考虑增强系统稳健性和安全性的编码范例,得出最终执行的机器指令数量。

5. 存储

访问账本状态项或数据时,节点会向存储设备发出读写请求。数据访问总数受存储设备带宽和IOPS容量限制。团队考虑这些成本设计存储GAS计划。

访问和存储状态项会产生与验证整个区块链状态的数据结构相关的成本。费用计算公式为:

存储GAS费 = 项目费 + (字节费 × 字节数)

读、创建和写

状态项访问分为读、创建和写三种类型:

  • 读操作最常见,仅受瞬时资源稀缺限制
  • 创建操作在状态存储中添加新项,成本最高
  • 写操作更新现有项,不产生额外身份验证数据结构开销

存储相关成本基于每笔交易评估,多次读写相同资源只收取一次费用。

团队定义了6个GAS参数构成GAS总费用:

  • per_item_read:根据IOPs校准
  • per_byte_read:根据带宽校准
  • per_item_create:根据目标总项目校准
  • per_byte_create:根据目标总大小校准
  • per_item_write:与per_item_read相同
  • per_byte_write:与per_byte_create相同

稳定的GAS单位成本

每个操作和交易本身需要相对于存储和执行成本的固定单位成本。固定GAS单位成本有助于保持GAS计划不变,并与原生代币市场价值脱钩。

团队以约3位数精度表示GAS单位,如转账交易成本约700个GAS单位。

社区参与

社区成员可以:

  1. 找出GAS计划不合理之处
  2. 表达对GAS计划的担忧并参与讨论
  3. 就GAS相关治理提案投票

如何调整GAS成本?

GAS计划作为链上配置存储,可通过治理提案更改,并可无缝添加新指令或功能。

GAS计划设计可扩展,允许通过治理提案升级。随着项目改进和纳入用户反馈,GAS参数可逐步调整。

复杂的GAS公式更改需更新节点软件,大规模采用后通过治理提案批准使用新版本。

未来工作

作为Move首个可行GAS框架,该项目为未来工作奠定基础:

  1. 降低执行成本:改进编译器和虚拟机效率
  2. 多维GAS计算:允许用户为执行和存储指定单独预算
  3. 缓解臃肿状态:探索每个项目TTL概念,在TTL到期时删除未访问的状态项目
MOVE5.05%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 1
  • 分享
评论
0/400
稳定币守护者vip
· 07-25 15:15
终于有GAS了靠谱
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)