MOVE语言首创GAS设计 区块链项目探索新型资源计量模式

MOVE语言首创GAS设计:探讨区块链上的GAS消耗计算方法

近期,一个区块链项目公布了其GAS计划。由于MOVE语言之前版本并未考虑GAS机制,这是MOVE语言首次引入GAS设计,被称为"一次冒险"。

该项目的GAS计划阐明了制定GAS的原则、流程、计算方法、后期调整以及社区参与等方面。

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

实施流程

为有效执行,该区块链项目采取以下步骤:

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

核心原则

项目团队定义了以下原则:

  1. 操作成本应与网络可用资源直接相关,如CPU、内存、网络、存储I/O和空间使用等。技术和流程改进后,GAS成本应相应降低。

  2. GAS应由链上治理设置,可灵活配置。

  3. GAS可防止对网络固定资源的DoS攻击,并可根据网络情况通过治理建议快速调整。

  4. GAS价格反映了加速增长和保持区块链普及性的愿景。

  5. 鼓励在设计中做出优良选择,如优先考虑安全性、模块化、断言等。

GAS计算方法

用户提交交易时需指定两个数量:

  1. 最大GAS数量:以GAS单位计量,表示用户愿意为执行交易花费的最大GAS单位数。

  2. GAS单价:以每单位GAS的八进制计算,1八进制=0.00000001 APT。

交易执行过程中将收取:

  1. 固定成本:固定基数加上大额交易的额外费用
  2. 执行成本:用于执行Move指令
  3. 读取成本:从持久存储读取数据
  4. 写入成本:将数据写入持久存储

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

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

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

GAS计划表的构建

  1. 基本配置

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

  1. 交易规模

大多数交易规模在千字节级别。Move模块发布可达几千字节,框架约100 KB。用户模块通常在4KB到40KB之间。初始交易规模设为32KB,后根据社区反馈调整为64KB。

大规模交易可能提高网络带宽成本并影响性能。项目在最大规模交易大小和可访问性间寻求平衡。

  1. 最大GAS单位

GAS计划中的最大GAS单位定义了交易可执行的最大操作量。设置过高可能导致负面性能影响。经验表明,即使进行最大框架升级,也不到设定最大值(1,000,000)的90%。

  1. 执行成本评估

团队构建基准框架并使用Valgrind分析Move VM,估算所有Move指令和本机函数的相对成本。考虑系统稳健性和安全性后,得出最终执行的机器指令数量。

  1. 存储成本

存储GAS计划考虑了数据访问的瞬时稀缺性和永久磁盘占用成本。访问和存储状态项产生与验证区块链状态数据结构相关的成本。

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

读取、创建和写入操作

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

  • 读取:最常见操作,根据磁盘IOPS和带宽容量校准费用。
  • 创建:在状态存储中添加新项,成本最高,根据网络磁盘空间校准。
  • 写入:更新现有项,对更新项中的字节收取与创建相同的费用。

每笔交易只需为同一资源的多次读/写支付一次费用。

稳定的GAS单位成本

固定的GAS单位成本有助于保持GAS计划不变,并与代币市场价值脱钩。项目以约3位数精度表示GAS单位,使转账交易成本约为700个GAS单位。

社区参与

作为社区项目,成员可以:

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

GAS成本调整

GAS计划作为链上配置存储,可通过治理提案更改。设计具有可扩展性,允许通过治理提案升级。随时间推移,GAS参数可根据用户反馈调整。

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

未来展望

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

  1. 降低执行成本:通过改进编译器和虚拟机效率。

  2. 多维GAS计算:允许用户为执行和存储指定单独预算,实现更细粒度的最大GAS价格定义。

  3. 缓解状态膨胀:探索每个项目TTL概念,在TTL到期时删除未访问的状态项目。

这一创新性GAS设计为MOVE语言生态系统开辟了新的可能性,未来有望进一步优化和完善。

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 5
  • 分享
评论
0/400
OPsychologyvip
· 26分钟前
看公告看了眠了,谁总结下move搞啥呢
回复0
MagicBeanvip
· 18小时前
move也要充gas了?
回复0
SybilSlayervip
· 18小时前
搁这种都是烧钱学
回复0
资深链上考古学家vip
· 18小时前
某区块链公链从业者,看啥都喜欢诧异和惊叹,喜欢调侃吐槽
回复0
Meme币操盘手vip
· 18小时前
嘘... move的gas模型刚刚部署。顶级alpha泄露季节即将到来,真的。
查看原文回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)