MOVE語言GAS計費機制詳解:計算方式與未來發展

robot
摘要生成中

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單價:以每單位GAS的八進制計算,1八進制=0.00000001 APT

交易執行過程中將收取:

  1. 固定成本
  2. 執行Move指令的成本
  3. 從存儲讀取數據的成本
  4. 將數據寫入存儲的成本

最終交易費用 = 消耗的GAS總量 × GAS單價

GAS計劃表的建立

  1. 基本配置:包括交易大小和最大GAS單位

  2. 交易規模:目前設爲64KB,在規模和可訪問性間取平衡

  3. 最大GAS單位:定義單筆交易最多可執行的操作量,設爲1,000,000

  4. 執行成本:通過基準測試和分析評估Move指令和原生函數的相對成本

  5. 存儲成本:考慮存儲設備帶寬、IOPS和永久佔用成本

存儲GAS費 = 項目費 + (字節費 × 字節數)

讀、創建和寫操作

  • 讀操作:最常見,根據磁盤IOPS和帶寬容量校準
  • 創建操作:成本最高,根據參考磁盤空間校準
  • 寫操作:更新現有項,對更新的字節收取與創建相同的費用

定義了6個GAS參數構成總費用:

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

穩定的GAS單位成本

保持固定的GAS單位成本,以維持GAS計劃穩定性。轉帳交易成本約爲700個GAS單位。

社區參與

社區成員可以:

  1. 指出GAS計劃不合理之處
  2. 參與社區討論
  3. 對相關治理提案投票

GAS成本調整

GAS計劃作爲鏈上配置存儲,可通過治理提案更改。設計爲可擴展的,允許通過提案升級。復雜變更需更新節點軟件並獲得廣泛採用。

未來工作方向

  1. 降低執行成本
  2. 實現多維GAS計算,允許分別指定執行和存儲預算
  3. 緩解狀態臃腫,探索每個項目TTL的概念

這是Move語言首個可行的GAS框架,爲今後工作奠定了基礎。團隊將繼續改進編譯器和虛擬機以降低執行成本,探索更細粒度的GAS定價方案,並解決鏈上數據刪除的挑戰。

查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 讚賞
  • 5
  • 分享
留言
0/400
digital_archaeologistvip
· 07-11 17:04
该链gas也太高了吧
回復0
VCsSuckMyLiquidityvip
· 07-11 06:44
讲得好细 感觉又烧钱了
回復0
链上老中医vip
· 07-11 06:38
这gas贵的我都想退坑了
回復0
Altcoin分析师vip
· 07-11 06:34
从数据看gas消耗陷阱还是太多
回復0
RumbleValidatorvip
· 07-11 06:24
你以为这就是最优gas计量?见多识广的验证节点可不这么想
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)