Aptos推出MOVE語言首創GAS設計 詳解鏈上費用計算機制

MOVE語言首創GAS設計:探索Aptos鏈上GAS費用計算機制

10月14日,Aptos Labs公布了Aptos的GAS計劃。由於MOVE語言之前的版本並未考慮GAS機制,這次爲Aptos建立的GAS計劃是MOVE語言首個GAS設計,被稱爲"一次冒險"。

Aptos的GAS計劃闡明了制定GAS的原則、流程、計算方法、後期調整以及社區參與等方面。

GAS計量是Aptos等多數區塊鏈的基本概念,用於抽象計算執行和存儲鏈上交易所需的計算和存儲資源量。GAS計劃確定了鏈上所有執行的成本,用於計算交易執行期間的GAS花費。

實施流程

Aptos鏈上的實施流程包括:

  1. 定義原則
  2. 準備評估框架,確定每個執行的價格
  3. 爲Move建立GAS計量系統和安全GAS代數
  4. 將上遊GAS框架導入Aptos
  5. 使GAS框架具有存儲意識
  6. 進一步細化GAS計劃

核心原則

Aptos定義的核心原則包括:

  1. 操作成本應與網路可用資源直接相關,並隨技術進步而降低
  2. GAS由鏈上治理設置,可無縫配置
  3. GAS可防止DoS攻擊,需要根據網路情況快速調整
  4. GAS價格反映了加速增長和保持區塊鏈可及性的願景
  5. 鼓勵在設計中做出優先考慮安全性、模塊化等良好選擇

GAS計算方法

用戶提交交易時需指定兩個數量:

  • 最大GAS數量:用戶願意爲執行交易支付的最大GAS單位數
  • GAS單價:以每單位GAS的八進制計算,1八進制=0.00000001 APT

交易執行過程中將收取:

  1. 固定成本
  2. 執行成本
  3. 讀取成本
  4. 寫入成本

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

例如,一筆交易消耗670個GAS單位,用戶指定GAS單價爲100 Octa/單位,則最終費用爲670 × 100 = 67000 Octa = 0.00067 APT。

如果交易執行過程中耗盡GAS,發送方將按最大GAS量收費,且所有更改將被撤銷。

GAS計劃表構建

基本配置

GAS計劃包含與單個操作無關的組成部分,如交易大小和最大GAS單位。

交易規模

大多數交易規模在千字節級別,Move模塊發布可達幾千字節,Aptos框架約100 KB。用戶模塊一般在4KB到40KB之間。目前交易規模設置爲64KB,以平衡網路帶寬成本和應用開發便利性。

最大GAS單位

GAS計劃中的最大GAS單位定義了單個交易可執行的最大操作量,設置爲1,000,000。過高設置可能導致性能問題,如無限循環。

執行成本評估

通過基準框架和Valgrind分析,估算Move指令和本機函數的相對成本。考慮系統穩健性和安全性,得出最終執行的機器指令數量,並與存儲和最大GAS單位權衡確定當前值。

存儲成本

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

訪問類型包括讀、創建和寫,各有不同的計費標準:

  • 讀操作:基於磁盤IOPS和帶寬容量校準
  • 創建操作:基於網路參考磁盤空間校準,成本最高
  • 寫操作:對更新項中的字節收取與創建相同的費用

定義了6個GAS參數:每項讀取、每字節讀取、每項創建、每字節創建、每項寫入、每字節寫入。

穩定的GAS單位成本

固定的GAS單位成本有助於保持GAS計劃穩定,與APT市場價值脫鉤。Aptos團隊以約3位數精度表示GAS單位,如轉帳交易成本約700個GAS單位。

社區參與

Aptos鼓勵社區成員:

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

GAS成本調整

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

未來展望

作爲Move首個可行的GAS框架,未來工作方向包括:

  1. 降低執行成本
  2. 實現多維GAS計算
  3. 緩解臃腫狀態問題

團隊正探索每個項目TTL概念,在TTL到期時自動刪除未訪問的狀態項目。

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 3
  • 分享
留言
0/400
ApeShotFirstvip
· 5小時前
靠 aptos终于来劲了老铁 gas先炸一波
回復0
治理提案狂vip
· 5小時前
这么多人都搞过GAS了 轮到MOVE来冒险了?呵呵 新瓶装老酒罢了
回復0
夹心饼干哥vip
· 5小時前
就move这新手村玩意还敢吹?
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)