🎉 #Gate Alpha 第三届积分狂欢节 & ES Launchpool# 聯合推廣任務上線!
本次活動總獎池:1,250 枚 ES
任務目標:推廣 Eclipse($ES)Launchpool 和 Alpha 第11期 $ES 專場
📄 詳情參考:
Launchpool 公告:https://www.gate.com/zh/announcements/article/46134
Alpha 第11期公告:https://www.gate.com/zh/announcements/article/46137
🧩【任務內容】
請圍繞 Launchpool 和 Alpha 第11期 活動進行內容創作,並曬出參與截圖。
📸【參與方式】
1️⃣ 帶上Tag #Gate Alpha 第三届积分狂欢节 & ES Launchpool# 發帖
2️⃣ 曬出以下任一截圖:
Launchpool 質押截圖(BTC / ETH / ES)
Alpha 交易頁面截圖(交易 ES)
3️⃣ 發布圖文內容,可參考以下方向(≥60字):
簡介 ES/Eclipse 項目亮點、代幣機制等基本信息
分享你對 ES 項目的觀點、前景判斷、挖礦體驗等
分析 Launchpool 挖礦 或 Alpha 積分玩法的策略和收益對比
🎁【獎勵說明】
評選內容質量最優的 10 位 Launchpool/Gate
MOVE首創GAS設計:鏈上資源消耗計算方法解析
MOVE語言中首個GAS設計:鏈上GAS花費計算方法
MOVE語言的上一個版本原本打算在無GAS的前提下運行,因此並未爲GAS計劃做好準備。近期爲某公鏈建立的GAS計劃是MOVE語言首個GAS設計,被稱爲"一場冒險"。
這個GAS計劃闡明了制定GAS的原則、流程、計算方法、後期調整以及接受社區建議等內容。
GAS計量是許多區塊鏈的基本概念,它定義了執行和存儲鏈上交易所需的計算和存儲資源量的抽象計算。GAS計劃確定了鏈上所有執行消耗的成本,用於計算執行交易期間使用的GAS花費。
流程
爲了有效執行,鏈上流程如下:
原則
定義的原則包括:
GAS計算
用戶提交交易時須指定:
交易執行過程中將收取:
最終交易費用 = 消耗的GAS總量 × GAS單價
例如,若交易消耗670個GAS單位,用戶指定的GAS單價爲100 Octa/單位,則最終費用爲670 × 100 = 67000 Octa = 0.00067 APT。
如交易執行過程中耗盡GAS,發送方將按最大GAS量收費,該交易所做更改將被恢復。
GAS計劃表的建立
GAS計劃包含與單個操作無關的組成部分,如交易大小和最大GAS單位。
大多數交易規模在千字節級別。Move模塊發布可達幾千字節,某框架約100 KB。用戶模塊通常在4-40 KB之間。交易規模值最初設爲32 KB,後根據社區反饋調整爲64 KB。
過大規模交易會增加網路帶寬成本並可能影響性能。內存池可能會忽略規模較大的交易,因此需在最大規模和可訪問性間取得平衡。
GAS計劃中的最大GAS單位定義了單個交易可執行的最多操作數。設置過高可能對區塊鏈性能產生負面影響。經測試,即使進行最大框架升級,也僅使用不到90%的最大GAS單位(設定爲1,000,000)。
通過構建基準框架並使用Valgrind分析Move VM來評估執行成本。輸出爲帶注釋的原始碼,顯示每行代碼產生的機器指令數。
據此粗略估算所有Move指令和本機函數的相對成本。注意到與內聯函數存在一些問題,可通過數字相加解決。
最終,考慮增強系統穩健性和安全性的編碼範例,得出執行的機器指令數量。將此數字與存儲和最大GAS單位權衡,確定GAS計劃中的當前值。
訪問帳本狀態項或數據時,節點會向存儲設備發出讀寫請求。每秒數據訪問總數取決於存儲設備帶寬和IOPS容量。數據訪問是用戶在系統負載時通過費用市場競爭的瞬時稀缺資源。寫入數據的磁盤佔用成本在鏈上是永久的。
訪問和存儲任何狀態項都會產生與驗證整個區塊鏈狀態的數據結構相關的成本。此成本與不同狀態項的基數有關($2^{256}$)。還有一個成本與每個項目的大小成正比。
對狀態項操作的費用(下節描述的例外情況除外)爲:
存儲GAS費 = item_fee + (byte_fee × bytes)
讀、創建和寫
狀態項訪問分爲三種類型:讀、創建或寫。訪問按項目費和字節費收費。
讀操作最常見,僅受瞬時資源稀缺限制。讀取費用根據磁盤IOPS和參考硬件規格的帶寬容量校準。
創建操作在狀態存儲中添加新項,增加了身分驗證數據結構成本,因此最昂貴。創建費用根據網路擁有的參考磁盤空間校準。
寫操作更新現有項,不會在身分驗證數據結構中產生額外開銷。但修改現有條目至更大字節數仍可能佔用磁盤,因此對更新項中的字節收取與創建相同的費用。
存儲相關成本基於每筆交易評估:即使多次讀/寫同一資源,也只收取一次費用。
基於上述考慮,定義了6個GAS參數構成總費用:
穩定的GAS單位成本
每個操作和交易本身需要相對於存儲和執行成本的固定單位成本,無論以APT或法定貨幣計算的市場價值如何。固定GAS單位成本有助於保持GAS計劃不變,並與APT自由市場價值脫鉤。正確選擇GAS單位精確位數有助於保持GAS計劃穩定。考慮到這點,GAS單位以約3位數精度表示。因此,轉帳交易成本約爲700個GAS單位。
社區參與
社區成員可以:
GAS成本調整
GAS計劃作爲鏈上配置存儲,可通過治理提案更改,並可無縫添加新指令或原生功能。
GAS計劃設計可擴展,允許通過治理提案升級。隨着不斷改進和納入用戶反饋,GAS參數可隨時間調整。
有時GAS公式可能需要復雜更改。這些公式通常用Rust編碼,通過鏈上GAS特徵標志區分。升級這些公式需更新節點軟件,大量採用,並通過治理提案批準使用新GAS版本。
未來工作
作爲Move首個可行GAS框架,未來工作方向包括:
降低執行成本:利用真實GAS模型顯示編譯器和虛擬機效率,改進以降低執行成本
多維GAS計算:允許用戶爲執行和存儲指定單獨預算,避免因代碼質量問題支付高昂GAS價格
緩解臃腫狀態:探索每個項目TTL概念,在TTL到期時刪除未訪問的狀態項目