MOVE語言迎來首個GAS設計:鏈上資源計費方案全解析

MOVE語言首個GAS設計:鏈上GAS花費計算方法探析

MOVE語言早期版本並未考慮GAS機制,因此某區塊鏈項目爲其設計的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單價:以八進制計算,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單位。

2. 交易規模

大多數交易規模在千字節級別,但發布Move模塊可達幾千字節。最初將交易規模設爲32KB,後根據社區反饋調整爲64KB。

過大規模的交易會增加網路帶寬成本並可能影響性能。內存池會傾向於忽略規模更大的交易,因此需在最大規模和可訪問性間平衡。

3. 最大GAS單位

GAS計劃中的最大GAS單位定義了交易可執行的最大操作數。設置過高可能導致負面性能影響,如無限循環。經測試發現,即使進行最大框架升級,也不到設定最大GAS單位(1,000,000)的90%。

4. 執行

團隊構建了基準框架並使用分析工具評估執行成本,粗略估算了所有Move指令和本機函數的相對成本。通過考慮增強系統穩健性和安全性的編碼範例,得出最終執行的機器指令數量。

5. 存儲

訪問帳本狀態項或數據時,節點會向存儲設備發出讀寫請求。數據訪問總數受存儲設備帶寬和IOPS容量限制。團隊考慮這些成本設計存儲GAS計劃。

訪問和存儲狀態項會產生與驗證整個區塊鏈狀態的數據結構相關的成本。費用計算公式爲:

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

讀、創建和寫

狀態項訪問分爲讀、創建和寫三種類型:

  • 讀操作最常見,僅受瞬時資源稀缺限制
  • 創建操作在狀態存儲中添加新項,成本最高
  • 寫操作更新現有項,不產生額外身分驗證數據結構開銷

存儲相關成本基於每筆交易評估,多次讀寫相同資源只收取一次費用。

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

  • per_item_read:根據IOPs校準
  • per_byte_read:根據帶寬校準
  • per_item_create:根據目標總項目校準
  • per_byte_create:根據目標總大小校準
  • per_item_write:與per_item_read相同
  • per_byte_write:與per_byte_create相同

穩定的GAS單位成本

每個操作和交易本身需要相對於存儲和執行成本的固定單位成本。固定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到期時刪除未訪問的狀態項目
MOVE0.28%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 1
  • 分享
留言
0/400
稳定币守护者vip
· 07-25 15:15
终于有GAS了靠谱
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)