MOVE语言首次引入GAS机制:设计原则与计算方法全解析

MOVE语言首个GAS设计探讨

MOVE语言的最新版本原本计划在无GAS环境下运行,因此并未为GAS机制做好准备。近期,一个区块链项目首次为MOVE语言设计了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. 执行成本:用于执行MOVE指令
  3. 读取成本:用于从持久存储读取数据
  4. 写入成本:用于将数据写入持久存储

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

若交易执行中GAS耗尽,发送方将按最大GAS量收费,交易所做更改将回滚。

GAS计划表构建

基本配置

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

交易规模

大多数交易规模在KB级,但发布MOVE模块可达数千字节。项目框架约100KB,多数用户模块在4-40KB之间。最初交易规模设为32KB,后根据社区反馈调整至64KB。

过大规模交易会增加网络带宽成本并可能影响性能。为平衡规模和可访问性,内存池可能会忽略过大交易。

最大GAS单位

GAS计划中的最大GAS单位定义了单个交易可执行的最大操作量。设置过高可能导致性能问题,如无限循环。即使进行最大规模的框架升级,也仅使用不到90%的最大GAS单位(设为1,000,000)。

执行成本评估

通过基准框架和分析工具评估执行成本,估算MOVE指令和原生函数的相对成本。考虑系统稳定性和安全性后,得出最终执行的机器指令数,并与存储和最大GAS单位权衡确定GAS计划中的当前值。

存储成本

存储访问受设备带宽和IOPS限制。存储GAS计划考虑了即时稀缺性和永久占用成本。访问任何状态项都产生与验证整个区块链状态相关的成本。

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

读取、创建和写入操作

  • 读取:最常见操作,基于磁盘IOPS和带宽容量校准
  • 创建:成本最高,基于参考磁盘空间校准
  • 写入:更新现有项,字节费与创建相同

每笔交易仅收取一次相同资源的读/写费用。

稳定GAS单位成本

固定GAS单位成本有助于保持GAS计划稳定,不受原生代币市值影响。精确到约3位数,普通转账交易成本约700个GAS单位。

社区参与

项目鼓励社区成员:

  1. 发现GAS计划不合理之处
  2. 参与社区讨论,表达对GAS计划的担忧
  3. 对GAS相关治理提案进行投票

GAS成本调整

GAS计划作为链上配置存储,可通过治理提案更改。设计具有可扩展性,允许通过提案升级。复杂变更需更新节点软件并广泛采用,最后通过治理提案批准新版本。

未来工作方向

作为MOVE首个可行GAS框架,该设计为未来工作奠定基础:

  1. 降低执行成本:优化编译器和虚拟机
  2. 多维GAS计算:允许用户为执行和存储指定单独预算
  3. 缓解状态膨胀:探索引入状态项TTL概念,自动删除过期未访问项

这一GAS设计为MOVE语言生态系统带来了新的可能性,未来还有很大的发展和改进空间。

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 7
  • 分享
评论
0/400
单身三年多vip
· 18小时前
还是eth香 爷不玩新东西
回复0
无常亏损收藏家vip
· 19小时前
move gas也玩完了?
回复0
FUD_Whisperervip
· 07-02 03:34
move可算熬出头了嘿
回复0
0xLostKeyvip
· 07-02 03:34
坐等亏gas呗
回复0
韭当割不亏vip
· 07-02 03:34
又炒概念了哈 没gas不是更香
回复0
半仓就是空仓vip
· 07-02 03:24
大哥你的gas终于上线啦
回复0
EthMaximalistvip
· 07-02 03:08
move也要烧gas了?!tm的好无聊
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)