MOVE语言首创GAS设计:链上费用计算全解析

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

MOVE语言的上一版本原本计划在无GAS环境下运行,因此未为GAS设计做好准备。最近,一个区块链项目团队为其基于MOVE语言的链推出了首个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单价:以每单位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单位。

  1. 交易规模

大多数交易规模在千字节级别,但Move模块发布可达几千字节,该项目框架约100 KB。最初交易规模设为32KB,后根据社区需求调整为64KB,以简化应用开发。

  1. 最大GAS单位

GAS计划中的最大GAS单位定义了单个交易可执行的最大操作数。设置过高可能对区块链性能产生负面影响。目前设定为1,000,000,即使最大框架升级也未超过90%。

  1. 执行

通过基准框架和分析工具评估执行成本,估算所有Move指令和本机函数的相对成本。考虑系统稳健性和安全性,得出最终执行的机器指令数量,并与存储和最大GAS单位进行权衡。

  1. 存储

存储GAS计划考虑了数据访问的瞬时稀缺性和永久磁盘占用成本。访问和存储状态项产生与验证整个区块链状态相关的成本。存储GAS费 = 项目费 + (字节费 × 字节数)

读、创建和写

状态项访问分为读、创建和写三种类型,各有不同的费用计算方式。读操作最常见,创建操作成本最高,写操作介于两者之间。

基于这些考虑,定义了6个GAS参数:

  • per_item_read
  • per_byte_read
  • per_item_create
  • per_byte_create
  • per_item_write
  • per_byte_write

稳定的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到期时删除未访问的状态项目

这个GAS设计为MOVE语言生态系统的发展提供了重要基础,未来还有很多优化和改进的空间。

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 6
  • 分享
评论
0/400
单身三年多vip
· 5小时前
不错的突破方向
回复0
TokenTaxonomistvip
· 6小时前
还得多测测才行
回复0
ConsensusDissentervip
· 07-15 08:49
支持大胆创新尝试
回复0
liquidation_watchervip
· 07-15 08:47
公平计费很重要的
回复0
Hodl熊本熊vip
· 07-15 08:46
费用设计真优雅
回复0
逼仓小能手vip
· 07-15 08:42
狠起来连自己都干
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)