# MOVE语言首个GAS设计:一种创新的链上资源计算方式MOVE语言的最新版本原本设计为无GAS运行,因此并未为GAS计划做好充分准备。为适应区块链生态系统的需求,某知名公链平台于近期公布了其独特的GAS计划,这是MOVE语言首个GAS设计,被视为一次大胆的尝试。该GAS计划阐明了制定原则、流程、计算方法以及未来调整机制。平台方表示将积极采纳社区建议,共同完善这一创新机制。GAS计量是许多区块链的基本概念,它定义了执行和存储链上交易所需计算和存储资源的抽象量。GAS计划确定了链上所有执行的成本,用于计算交易执行期间的资源消耗。### 设计流程为实现有效执行,该平台采取了以下步骤:1. 明确设计原则2. 制定评估框架,确定各项执行的价格3. 为MOVE建立GAS计量系统和安全GAS代数4. 将上游GAS框架整合到平台5. 增强GAS框架的存储感知能力6. 持续优化GAS计划### 核心原则该GAS设计遵循以下原则:1. 操作成本应与网络可用资源直接相关,并随技术进步而降低2. GAS由链上治理设置,可灵活配置3. GAS能防止对网络固定资源的DoS攻击,可根据网络情况快速调整4. GAS价格反映平台方促进增长和保持区块链普及性的愿景5. 鼓励在设计中优先考虑安全性、模块化等良好实践### GAS计算方法用户提交交易时需指定两个数量:- 最大GAS数量:用户愿意为执行交易支付的最大GAS单位数- GAS单价:以每单位GAS的八进制计算,1八进制=0.00000001平台代币交易执行过程中将收取:1. 固定成本:基本费用加大额交易额外费用2. 执行成本:用于执行MOVE指令3. 读取成本:从持久存储读取数据的费用4. 写入成本:将数据写入持久存储的费用最终交易费用 = 消耗的GAS总量 × GAS单价如果交易执行中耗尽GAS,发送方将按最大GAS量收费,所有更改将被撤销。### GAS计划表构建1. 基本配置GAS计划包含一些与单个操作无关的组成部分,如交易大小和最大GAS单位。2. 交易规模大多数交易规模在KB级别,但发布MOVE模块可达数KB至数十KB。平台初始将交易规模设为32KB,后根据社区反馈调整为64KB,以便于应用开发。3. 最大GAS单位GAS计划中的最大GAS单位定义了单个交易可执行的最大操作量,目前设定为1,000,000。即使进行最大规模的框架升级,通常也不超过此限制的90%。4. 执行成本评估通过构建基准框架并使用分析工具,团队估算了所有MOVE指令和本地函数的相对成本。考虑到系统稳健性和安全性,最终确定了执行所需的机器指令数量。5. 存储成本存储GAS费用考虑了数据访问的带宽、IOPS容量以及永久存储成本。访问任何状态项都会产生与验证整个区块链状态相关的成本。存储GAS费 = 项目费 + (字节费 × 字节数)### 读取、创建和写入操作- 读取:最常见操作,基于磁盘IOPS和带宽容量校准- 创建:在状态存储中添加新项,成本最高- 写入:更新现有项,字节费用与创建相同### 稳定的GAS单位成本每个操作和交易本身都有相对固定的单位成本,有助于保持GAS计划稳定,并与代币市场价值脱钩。### 社区参与平台鼓励社区成员:1. 指出GAS计划中不合理之处2. 参与相关讨论3. 对GAS相关治理提案进行投票### GAS成本调整机制GAS计划作为链上配置存储,可通过治理提案进行更改。它被设计为可扩展的,允许通过治理提案进行升级。### 未来展望作为MOVE语言的首个GAS框架,该设计为今后工作奠定了基础:1. 降低执行成本2. 实现多维GAS计算3. 缓解状态臃肿问题团队正在探索每个项目TTL的概念,以在TTL到期时自动删除未访问的状态项目,从而优化链上数据管理。
MOVE语言首创GAS设计:创新链上资源计算方式
MOVE语言首个GAS设计:一种创新的链上资源计算方式
MOVE语言的最新版本原本设计为无GAS运行,因此并未为GAS计划做好充分准备。为适应区块链生态系统的需求,某知名公链平台于近期公布了其独特的GAS计划,这是MOVE语言首个GAS设计,被视为一次大胆的尝试。
该GAS计划阐明了制定原则、流程、计算方法以及未来调整机制。平台方表示将积极采纳社区建议,共同完善这一创新机制。
GAS计量是许多区块链的基本概念,它定义了执行和存储链上交易所需计算和存储资源的抽象量。GAS计划确定了链上所有执行的成本,用于计算交易执行期间的资源消耗。
设计流程
为实现有效执行,该平台采取了以下步骤:
核心原则
该GAS设计遵循以下原则:
GAS计算方法
用户提交交易时需指定两个数量:
交易执行过程中将收取:
最终交易费用 = 消耗的GAS总量 × GAS单价
如果交易执行中耗尽GAS,发送方将按最大GAS量收费,所有更改将被撤销。
GAS计划表构建
GAS计划包含一些与单个操作无关的组成部分,如交易大小和最大GAS单位。
大多数交易规模在KB级别,但发布MOVE模块可达数KB至数十KB。平台初始将交易规模设为32KB,后根据社区反馈调整为64KB,以便于应用开发。
GAS计划中的最大GAS单位定义了单个交易可执行的最大操作量,目前设定为1,000,000。即使进行最大规模的框架升级,通常也不超过此限制的90%。
通过构建基准框架并使用分析工具,团队估算了所有MOVE指令和本地函数的相对成本。考虑到系统稳健性和安全性,最终确定了执行所需的机器指令数量。
存储GAS费用考虑了数据访问的带宽、IOPS容量以及永久存储成本。访问任何状态项都会产生与验证整个区块链状态相关的成本。
存储GAS费 = 项目费 + (字节费 × 字节数)
读取、创建和写入操作
稳定的GAS单位成本
每个操作和交易本身都有相对固定的单位成本,有助于保持GAS计划稳定,并与代币市场价值脱钩。
社区参与
平台鼓励社区成员:
GAS成本调整机制
GAS计划作为链上配置存储,可通过治理提案进行更改。它被设计为可扩展的,允许通过治理提案进行升级。
未来展望
作为MOVE语言的首个GAS框架,该设计为今后工作奠定了基础:
团队正在探索每个项目TTL的概念,以在TTL到期时自动删除未访问的状态项目,从而优化链上数据管理。