🎉 Gate xStocks 交易开启啦,现货、合约、Alpha齐上线!
📝 在Gate广场发帖,晒出你的交易体验或精彩截图,瓜分$1,000大奖池!
🎁 广场优质创作者5名,每人独享$100合约体验券!
🎉 帖文同步分享到X(推特),浏览量前十再得$50奖励!
参与方式:
1️⃣ 关注 @Gate广场_Official
2️⃣ 带 #Gate xStocks 交易体验# ,原创发帖(不少于20字,仅用活动标签)
3️⃣ 若分享到推特,请将链接提交表单:https://www.gate.com/questionnaire/6854
注:表单可多次提交,发布更多帖文可提升获奖机会!
📅 7月3日16:00—7月9日24:00(UTC+8)
详情:https://www.gate.com/announcements/article/45926
每一条体验,都有机会赢取大奖!快在Gate广场show出你的操作吧!
MOVE语言首次引入GAS机制:设计原则与计算方法全解析
MOVE语言首个GAS设计探讨
MOVE语言的最新版本原本计划在无GAS环境下运行,因此并未为GAS机制做好准备。近期,一个区块链项目首次为MOVE语言设计了GAS计划,这被视为一次创新性尝试。该项目团队公布了制定GAS的原则、流程、计算方法以及后期调整计划,并表示欢迎社区建议。
GAS计量是许多区块链的基本概念,用于量化执行和存储链上交易所需的计算和存储资源。GAS计划确定了链上所有执行的成本,用于计算交易执行期间的GAS消耗。
设计流程
为实现有效执行,该项目采取了以下流程:
设计原则
该项目遵循的原则包括:
GAS计算方法
用户提交交易时需指定两个数值:
交易执行过程中将收取:
最终交易费用 = 消耗的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费 = 项目费 + (字节费 × 字节数)
读取、创建和写入操作
每笔交易仅收取一次相同资源的读/写费用。
稳定GAS单位成本
固定GAS单位成本有助于保持GAS计划稳定,不受原生代币市值影响。精确到约3位数,普通转账交易成本约700个GAS单位。
社区参与
项目鼓励社区成员:
GAS成本调整
GAS计划作为链上配置存储,可通过治理提案更改。设计具有可扩展性,允许通过提案升级。复杂变更需更新节点软件并广泛采用,最后通过治理提案批准新版本。
未来工作方向
作为MOVE首个可行GAS框架,该设计为未来工作奠定基础:
这一GAS设计为MOVE语言生态系统带来了新的可能性,未来还有很大的发展和改进空间。