Aptos鏈GAS費用計算機制解析:MOVE語言首創設計

MOVE語言首個GAS設計:Aptos鏈上GAS費用計算詳解

MOVE語言最初並未爲GAS計劃做好準備,因此Aptos爲其建立的GAS計劃被視爲一次創新嘗試。Aptos的GAS計劃闡明了制定GAS的原則、流程、計算方法以及後期調整機制,同時也歡迎社區提供建議。

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

實施流程

Aptos鏈上的實施流程包括:

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

核心原則

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

GAS計算方法

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

  1. 最大GAS數量:用戶願意爲執行交易花費的最大GAS單位數。
  2. 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計劃表的構建

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

  2. 交易規模:目前設置爲64KB,平衡了大規模交易的需求和網路性能。

  3. 最大GAS單位:定義單個交易可執行的最大操作量,目前設置爲1,000,000。

  4. 執行成本:通過基準框架和Valgrind分析工具評估Move指令和本機函數的相對成本。

  5. 存儲成本:考慮數據訪問和永久存儲成本,設計存儲GAS計劃。存儲GAS費 = 項目費 + (字節費 × 字節數)

讀取、創建和寫入操作

  • 讀取:最常見操作,費用基於磁盤IOPS和帶寬容量校準。
  • 創建:在狀態存儲中添加新項,成本最高,基於網路磁盤空間校準。
  • 寫入:更新現有項,字節費用與創建相同。

穩定的GAS單位成本

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

社區參與

Aptos鼓勵社區成員:

  1. 指出GAS計劃中不合理之處
  2. 參與社區討論,表達對GAS計劃的擔憂
  3. 對Aptos上與GAS相關的治理提案進行投票

GAS成本調整機制

GAS計劃作爲鏈上配置存儲,可通過Aptos治理提案進行更改。設計爲可擴展,允許通過治理提案升級。復雜的GAS公式更改需要更新節點軟件並獲得大量採用,最後通過治理提案批準。

未來展望

作爲Move的首個可行GAS框架,Aptos團隊計劃:

  1. 降低執行成本
  2. 實現多維GAS計算,允許用戶爲執行和存儲指定單獨預算
  3. 緩解臃腫狀態問題,探索每個項目TTL概念,在TTL到期時刪除未訪問的狀態項目
APT-0.46%
MOVE-0.38%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 6
  • 分享
留言
0/400
区块链养老院院长vip
· 07-31 12:51
又是被模仿的开始
回復0
汤米老师vip
· 07-30 11:32
好像规划的不错
回復0
GateUser-a180694bvip
· 07-29 09:16
gas设计很有创意
回復0
Just Here for Memesvip
· 07-29 09:16
太多流程不如干干净净
回復0
metaverse_hermitvip
· 07-29 09:06
机制有点复杂呀
回復0
Blockchain智囊vip
· 07-29 09:05
数据分析代价高啊
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)