最近以太坊網絡經常擁堵,用戶為了盡快達成交易,會上調Gas費希望能優先被礦工打包,尤其是在交易有利可圖的時候。以太坊網絡在2021年之后利用率長期超過97%,資源短缺的局面暫時不會得到緩解,按照這種趨勢,短期內以太坊的Gas費不會大幅下降。
圖1:以太坊網絡利用率
圖2:以太坊網絡的平均Gas費
以太坊高昂的Gas費深受詬病,嚴重影響了用戶體驗,降低以太坊Gas費迫在眉睫。Gas費全部交給負責維護網絡執行交易的礦工,代表用戶使用網絡資源需要付出的費用。Gas費的計算方式為GasPrice*GasUsed,其中GasPrice由用戶設置,代表用戶為每單位Gas支付的價格,GasUsed是實際中使用的Gas數量。在操作時用戶還需要設置GasLimit,代表用戶愿意為此交易支付最多的Gas數量,如果在執行過程中發現所需的Gas超過設置的GasLimit,會導致交易失敗,此時的GasUsed等于GasLimit,用戶仍需繳納Gas費。如果GasUsed小于GasLimit,交易成功后Gas數量會按照實際執行使用的數量收費。
根據Gas費的計算方式,可以通過降低GasPrice和GasUsed實現降低Gas費,體現在降低網絡擁擠程度,將計算轉移到二層網絡中進行;降低合約復雜度減少計算的執行步驟;改變Gas的收取方式等。本文將從Layer1、Layer2和相關Gas產品這三個角度出發,解析關于降低以太坊Gas費的實踐以及優劣。其中Layer1指的是以太坊網絡本身,Layer2指的是以太坊主鏈外的網絡。
以太坊Layer1上的實踐
提高區塊的GasLimit
以太坊對單個區塊的大小沒有強制規定,但每個區塊承載的Gas單位數量是有上限的,也就是區塊的GasLimit。提高GasLimit帶來最直接的影響是單個區塊可以執行更多的操作,因此提高了整個系統的承載量。每個區塊可以打包更多交易來緩解網絡的擁堵狀況,用戶就可以降低GasPrice。這是最直接對網絡進行擴容的方案,因執行簡便經常被用于擴容。2020年7月之后以太坊區塊的GasLimit達到了1250萬左右,相較于2017年末已經上漲了近兩倍。
圖3:以太坊區塊的GasLimit
可以看出,雖然以太坊區塊的GasLimit一直在提高,以太坊還是會出現網絡擁堵的情況。這是因為以太坊的用戶和使用量是同時上漲的,只要GasLimit的上漲程度沒有超過使用量的上漲,提高GasLimit就無法根本解決高Gas費的問題。GasLimit具體數值由礦工投票決定,在目前的網絡擁堵程度下,有些礦工建議將GasLimit繼續提高到1600萬,但遭到了很多阻力。
Numen發布微軟漏洞解析,黑客可通過該漏洞獲取Windows完全控制權:6月9日消息,安全機構 Numen Cyber Labs 發布微軟 win32k 提權漏洞解析。Numen 表示,該漏洞系 win32k 提權漏洞,是微軟 Windows 系統層面的漏洞。通過該漏洞,黑客可獲取 Windows 的完全控制權。
Numen 指出,win32k 漏洞歷史眾所周知。但在最新的 windows11 預覽版中,微軟已經在嘗試使用 Rust 重構該部分內核代碼。未來該類型的漏洞在新系統可能被杜絕。
此前報道,5 月,微軟發布的補丁更新解決了 38 個安全漏洞,其中包括一個零日漏洞。[2023/6/9 21:25:55]
除了無法根本解決網絡擁堵的問題外,提高GasLimit后由于區塊容量擴大,區塊的驗證和同步時間有所延長。因此導致網絡更容易分叉,叔塊出現的概率升高,節點維護網絡的成本也會增加,最終網絡可能出現安全性和中心化問題。雖然提高GasLimit是最簡單進行網絡擴容的方式,但它帶來的弊端也是不能忽視的。不過目前網絡擁堵情況加劇,出于可用性考慮,加上礦工會受到更多筆Gas費獎勵的吸引,未來極有可能仍會提高區塊GasLimit來增大承載量。
降低操作的Gas消耗
雖然以太坊區塊的GasLimit在增加,區塊的承載量遠超過去,但數據顯示目前的轉賬數量剛剛與2018年初的轉賬數量持平,說明了以太坊網絡中大部分資源被分配給了更復雜的合約交易。如果在合約編寫上能夠降低復雜度,減少合約執行所需要的Gas,或者直接降低操作的Gas定價,就可以實現節約Gas費的目標,并且節約網絡資源。
圖4:以太坊的每日轉賬數
以太坊的黃皮書規定了Gas的消耗規則,智能合約的編寫過程中,同一功能的不同實現方式消耗的Gas會有所不同,為了節約Gas費就需要執行最節約Gas的代碼實現方法。例如儲存新數據和修改數據都要消耗Gas,所以最好避免重復修改,一次性盡可能多地寫入。在下圖中,兩者在結果上相同,但右邊的代碼實現消耗Gas會更少。
圖5:同一結果的兩種代碼實現,右邊更節約Gas
除此之外,壓縮智能合約的數據輸入,避免創建智能合約時將其用作數據存儲等方式也可以節約Gas。有人提出操作消耗Gas的原始定價沒有經過充分分析,存在定價不當的問題。以太坊中的EIP1380、EIP2046等提案就涉及降低某個操作的Gas。但以太坊Gas定價的改變要慎重考慮,因為降低有些操作的Gas定價會降低重入攻擊的難度。
ENS將推出區塊鏈原生的、可通過域名解析系統路由的頂級域名.box:6月7日消息,ENS開發者nick.eth發推稱,ENS將推出區塊鏈原生的、可通過域名解析系統路由的頂級域名.box。該域名系統中所有注冊和轉移都將在鏈上進行,NFT的所有者將同時擁有DNS和ENS域名。
據悉,.box域名可用于DID配置文件和錢包、去中心化的網站和消息傳遞、Web2網站和電子郵件、收藏與交易等。[2023/6/7 21:21:43]
EIP1559
EIP1559已經被納入在以太坊的倫敦硬分叉升級中,它改變了以太坊網絡Gas費的定價和分配規則。目前以太坊Gas費定價規則為市場競價的方式,用戶自行設置愿意支付的GasPrice,礦工挑選支付最高GasPrice的交易打包。每個人都希望能盡快完成交易,因此在網絡擁堵時Gas費會居高不下。EIP1559提出了一種新的Gas費收取方案,用戶支付的Gas費分為基礎費和小費,其中基礎費直接銷毀,小費歸礦工收入。
EIP1559方案引入了GasTarget的概念,區塊Gas上限是GasTarget的兩倍,基礎費根據網絡使用情況進行動態調節,也就是區塊實際包含的Gas與GasTarget的比較。如果區塊的Gas超過GasTarget,那么下個區塊收取的基礎費就會上漲,反之如果低于GasTarget就會下降。上漲和下降的幅度不會超過12.5%,避免了Gas費突然暴漲暴跌。由于基礎費一直是動態調節的,如果連續多個區塊包含的Gas一直超過GasTarget,基礎費就會指數上漲到夸張的價格,讓用戶不得不暫停交易,等待Gas降低到GasTarget以下,基礎費才會下降。基礎費是用戶必須支付的,礦工的小費可選擇支付,在網絡使用率不高的情況下,基礎費就可以讓用戶及時完成交易,沒有必要支付礦工小費。如果網絡擁堵,則需要支付小費優先交易。
目前Gas費收取需要用戶設定支付的GasPrice,如果太低需要等待很久,太高則造成浪費。EIP1559的實施會提高用戶使用體驗,因為基礎費是已經被計算好的,理論上支付基礎費就能保證完成交易,用戶只需要選擇給礦工支付的小費,而且在不擁堵的情況下不需要給礦工小費。對于降低Gas費來說,EIP1559中沒有很直接的體現,在不擁堵時用戶只繳納基礎費于是避免了Gas費浪費。在網絡擁堵時持續調高基礎費沒有讓用戶花費更少,而是通過不斷漲價讓人們面對高昂收費時不得不暫緩交易。因此很多人對EIP1559的實施對降低Gas費的有效程度存疑,尤其是短期受到很大損失的礦工群體。但從長遠看,銷毀本來應該交給礦工的Gas費,能夠將交易帶來的價值引入到以太坊系統中,提升整個系統的價值也會提高礦工的收入。
OKX建立行業BRC-20解析新標準:5月16日消息,據OKX官方公告,OKX正式建立行業BRC-20解析新標準,該標準已通過安全審計機構慢霧的安全審計,旨在逐步完善和增強BRC-20生態的完整性和穩健性。
據悉,OKX持續關注并投入BRC-20基礎設施建設,OKX Web3錢包即將上線Ordinals交易市場,是首個支持Ordinals代幣及NFT交易的多鏈錢包。OKX此前已與UniSat達成官方合作支持雙重驗證,并上線首個BRC-20瀏覽器。[2023/5/16 15:06:48]
以太坊2.0的實現
以太坊升級到2.0階段的最終目標是實現擴容,解決網絡的擁堵問題,除了將共識機制由PoW轉變為PoS,以太坊2.0的還要實現分片和部署eWASM虛擬機。分片就是將整個網絡分區,節點不需要維護整個系統的交易,只需要負責維護其中一個分區即可。以太坊2.0將有64個分片,將交易分布到各分片中增加網絡的承載量。各分片可以與信標鏈進行交聯,信標鏈不儲存以太坊上的賬戶余額和合約狀態等信息,負責管理驗證者和記錄分片狀態。分片要考慮到安全性的問題,因為相對而言攻擊單分片的難度會降低。在以太坊2.0的分片上都存在至少128個驗證者組成的委員會,他們負責表決分片上的信息,這些人每epoch更換一次,由信標鏈通過RANDAOVDF的方案分配。作惡者很難保證在同一時間控制同一分片上超過三分之二的節點,因此保證了網絡的安全。
eWASM是以太坊2.0階段部署的虛擬機,相較于目前的EVM虛擬機,eWASM在速度和效率上會大幅提升,配合分片技術,以太坊2.0能夠實現大規模擴容,降低Gas費。但由于以太坊分片和eWASM的開發難度比較高,短期內不會上線。
以太坊Layer2上的實踐
Rollup
Rollup是目前受到最多關注的以太坊Layer2解決方案,最有可能在短期內解決以太坊網絡擁堵的問題來降低Gas費,Vitalik也指出Rollup是以太坊2.0分片技術上線之前最有效的擴容技術。Rollup的運營者通過將計算和完整的狀態儲存放到鏈下,壓縮交易數據實現主鏈上的擴容。實際上交易數據是儲存在區塊鏈上的,風險源自運行者可能提供錯誤的數據進而控制用戶資產,為了避免風險存在不同的Rollup解決方案。ZKRollup通過有效性證明保證數據安全,使用ZK-SNARK密碼學證明,Layer1可以快速完成驗證并轉賬,同時可以保證隱私性,但ZKRollup很難對EVM進行證明,因此難以應用于使用智能合約的場景。OptimisticRollup使用欺詐證明的方式,如果有人發現運營者處理的狀態根是錯誤的,那么可以發布一個證明,證明通過后會回滾交易并對運營者進行懲罰。OptimisticRollup在主網中支持智能合約的部署,更適用于現在的擴容需求。但由于欺詐證明的要求,在退出Rollup時,需要一周的時間檢查其他用戶是否提交欺詐證明。
Beosin解析Reaper Farm遭攻擊事件:_withdraw中owner地址可控且未作任何訪問控制:8月2日消息,據 Beosin EagleEye 安全輿情監控數據顯示,Reaper Farm 項目遭到黑客攻擊,Beosin 安全團隊發現由于_withdraw 中 owner 地址可控且未作任何訪問控制,導致調用 withdraw 或 redeem 函數可提取任意用戶資產。攻擊者(0x5636 開頭)利用攻擊合約(0x8162 開頭)通過漏洞合約(0xcda5 開頭)提取用戶資金,累計獲利 62 ETH 和 160 萬 DAI,約價值 170 萬美元,目前攻擊者(0x2c17 開頭)已通過跨鏈將所有獲利資金轉入 Tornado.Cash。[2022/8/2 2:54:18]
以太坊上儲存交易的一個字節花費50Gas,以太坊區塊的Gas上限為1250萬。Rollup可以壓縮以太坊上操作的字節數量,除掉Rollup校驗所需要的Gas量,可以計算出Rollup在擴容方面的表現。
表1:Rollup帶來的擴容空間
總的來說,Rollup在擴容上十分有效,因此可以降低以太坊Gas費。但Rollup會涉及鏈上應用的遷移,使用不同團隊開發的Rollup還會導致互操作性下降的問題。
側鏈
側鏈是一條區別于主鏈的區塊鏈,用戶可以將主鏈資產轉移到側鏈上交易,以節約主鏈的資源和交易者的成本。嚴格意義上側鏈不算是Layer2解決方案,因為無法完全保證用戶的資金安全也不能保證側鏈與主鏈的關聯性。側鏈只能歸為鏈下解決方案,但由于實現方式和其他Layer2較為相似,這里暫時歸為一類討論。狀態通道、Plasma和側鏈都是通過鏈下交易實現擴容的,他們在具體實現方式和安全性上有所不同。側鏈的技術實現有多種,重點在于讓資產安全地轉移到側鏈,并讓側鏈資產安全地轉移回主鏈,也就是能安全地實現雙向錨定。
雙向錨定體現為主鏈上鎖定代幣后到側鏈上發行同等數量的代幣,以及在側鏈上銷毀代幣后到主鏈上解鎖相同數量的代幣。以太坊側鏈的概念從比特幣側鏈衍生而來,有單方或多方的托管方式,SPV模式,中繼模式等。由于目前以太坊因生態應用繁榮擁堵,實際中用戶對于側鏈更偏重易用性和生態問題,也就是資產轉移過程要簡易無感,側鏈上要有與主鏈相同的生態。因此目前最合格且受眾最多的側鏈是BSC和Heco,雖然他們使用了托管方式進行資產轉移,中心化風險較高,但用戶已經足夠信任這些交易平臺作為托管機構。完全去中心化的托管模式會因用戶不了解技術,或者存在黑客攻擊的風險而失去競爭力。
前美聯儲理事Kevin Warsh:從美國經濟政策角度解析比特幣價格波動: 前美聯儲理事、斯坦福大學胡佛研究所杰出訪問學者Kevin Warsh今日撰文,從政府經濟政策角度解讀了比特幣價格波動的原因。對于2017年BTC價格的狂飆,Warsh認為:1.特朗普上臺后推出的減稅等寬松政策持續刺激美國經濟增長,繼而帶來的通貨膨脹預期促使美國加息進度超預期,比特幣成為規避法幣貶值的避風港;2.特朗普政府貿易保護政策致使美元在2017年貶值12%,投資者尋求比特幣規避貶值;3.據去年10月、11月調查,美國民眾對政府的信任度下降14個百分點達到33%,而美元正是建立在公眾對政府信任的基礎上。而對于今年以來比特幣價格的大幅波動,是因為投資者正在調整對政府政策的預期,新任美聯儲主席也在重新考慮如何更好地實施貨幣政策,同時也在考慮推出自己的加密貨幣。[2018/3/8]
BSC和Heco鏈上的生態發展較為繁榮,和以太坊生態一樣出現了借貸、交易等DeFi應用,所以有很多用戶將ETH轉移到BSC和Heco上來獲得低Gas費的使用體驗。但對于BSC和Heco來說不是將以太坊側鏈作為發展目標,他們同樣有獨立的生態,以太坊資產轉移到側鏈上會因此降低以太坊主鏈的價值。經測算BSC和Heco提高以太坊TPS上限約十倍左右,如果未來側鏈中用戶使用量過多的話,側鏈也會出現擁堵問題。
狀態通道和Plasma
狀態通道是一種在鏈下進行交易和狀態更新的技術,比特幣閃電網絡就是一種支付通道。以太坊的狀態通道可以讓交易雙方在鏈下進行狀態的更新和交易,無需占用鏈上資源。他們通過狀態通道進行交易時,需要對雙方的行為進行簽名并保存副本,每一步的操作是清晰的。如果他們結束了鏈下交易,就將最終狀態簽名后返回到主鏈上來更新主鏈上的狀態。
狀態通道在用戶撤回資金時有挑戰期的要求,是為了防止用戶上傳過期的交易記錄牟利。用戶要等待一段時間確認沒有人上傳更新的副本,等待期結束后會按照最新的副本內容執行。如果其中一個用戶在挑戰期受到攻擊掉線等,他就會因無法回應而受到損失。狀態通道需要有一組確定的參與者,因為在通道中的狀態改變只限用于通道內的用戶,而且部署狀態通道需要成本,適合在一段時間內頻繁進行狀態更新的場景。Plasma也是一種鏈下交易的方式,它通過在以太坊主鏈上創建子鏈實現,交易和狀態更新通過子鏈操作,以太坊不會保存交易副本,因此可以節約以太坊空間實現擴容。Plasma子鏈上同樣存在區塊生產者,其中的共識機制可以與以太坊主鏈不同。他們在以太坊上建立交易的根節點來記錄子鏈狀態,作為子鏈更新的證據。
為了防止Plasma鏈上的區塊生產者作惡,Plasma使用欺詐證明機制,如果有人發現了生產者的作惡,那么可以提交證明讓錯誤的區塊回滾并沒收生產者的保證金。如果用戶要退出Plasma,也需要經歷挑戰期來證明他的交易為最新交易。但如果Plasma上所有人同時退回資金,那么可能導致以太坊主鏈沒有容量同時處理這么多交易,會導致用戶資金丟失。
狀態通道和Plasma的共性問題是要求資產具有所有者,這樣資產所有者才可以出具證明。但對于智能合約不屬于任何人的應用來說很難與狀態通道和Plasma兼容,因此這兩者只能針對降低轉賬Gas費時效果明顯,但由于易用性和挑戰期的問題,技術進展處于停滯狀態。
Gas相關產品
GasToken
以太坊的GasPrice不是一直都保持在高位,而是在高低之間不斷變化,因此可以利用GasPrice的不斷變化進行Gas的儲存和套利,例如GasToken的應用。GasToken利用以太坊的定價系統實現,在清理狀態和存儲插槽以及刪除帶有自毀操作碼的合約時的Gas收費為負值,也就是會收到Gas的退款,最高退款為創造時消耗量的一半。于是在低價時創建狀態,在高價時刪除會獲得Gas,再用于其他交易就可以節約Gas的花費。GST1和GST2是使用不同機制的GasToken,鑄造和銷毀就完成了一次GasToken的應用,他們分別使用了儲存和退款機制、創建和自毀機制來獲得Gas退款,其中GST2得到的Gas更多。
1inch實踐并創新了一種名為Chi的GasToken。在價格低的時候,Chi會創建來「儲存」Gas,未來Gas費上漲后釋放來完成交易。就相當于花費Chi退回的Gas來支付應本應花錢購買的Gas。Chi或者任何GasToken都可以集成到其他系統中來節約Gas費,用戶可以鑄造GasToken,也可以購買GasToken。GasToken的價格會隨著GasPrice的漲跌而變化,對于用戶或項目方來說,在GasPrice低的時候自行鑄造更為劃算。
由于以太坊網絡交易量增加,賬簿容量擴張,GasToken由于占用了空間被認為是不利于網絡發展的。除了增加全節點成本的問題,未來對Gas操作的重新定價也會讓GasToken失效,因此GasToken不應該作為長期降低Gas費的手段。
Gas衍生品
GasPrice的不斷變化會讓用戶和礦工支出收入隨之改變,為了消除這部分的不確定性,GasPrice可以被設計為期貨類產品,讓投機者和用戶之間交易。例如uGas取一個月中以太坊交易GasPrice的中位數來定價,它類似于一種期貨產品。頻繁花費Gas的人可以通過購買uGas來鎖定花費,礦工可以通過鑄造并售出來鎖定收益。但期貨衍生品實用的前提是人們對GasPrice的預期不同,才能保證足夠的流動性。目前以太坊網絡GasPrice由網絡擁擠程度決定,所以很容易出現大部分人會對GasPrice產生相同的預期。如果大家統一看漲或看跌,uGas就會因流動性問題偏離正常的定價范圍而很難使用。
其他節省Gas費的方式
一些用戶習慣以及相關輔助工具可以幫助用戶節約Gas費,例如:
進行同種代幣的批量轉賬;
挑選交易者休息、網絡GasPrice低的時間段交易;
利用GasPrice實時監控產品確定準確的GasPrice區間;
查詢常見的GasLimit范圍再進行設置,避免因交易失敗造成Gas費浪費;
開發者可以通過代交Gas費的方式為用戶節約費用等。
思考與總結
用戶在以太坊網絡中支付Gas費進行交易本質上就是為使用以太坊網絡資源付費,在網絡擁堵資源稀缺的情況下Gas費自然就會上漲。在不減少使用人數的情況下,最好地降低以太坊Gas費的方法就是進行網絡擴容,降低用戶對網絡資源的競爭。以太坊擴容存在多種方案,包括提高GasLimit、分片、Rollup、側鏈、狀態通道等,他們的優劣進展各不相同,其中分片和Rollup是最有效和最可能實現的擴容方案。簡潔的代碼實現也很重要,優化智能合約降低用戶使用Gas的單位數量是有效降低Gas費的方式,AMM的興起有這方面的因素。
EIP1559通過改變Gas費收取方式來改善目前的擁堵狀況,雖然最終仍是網絡閑暇時收費低,網絡擁堵時收費高的效果,但這是由系統自動對基礎費調整的結果。在網絡擁堵時Gas費會呈指數型增長,高收費會抑制人們的使用需求,所以達到緩解擁堵的效果。EIP1559的方案不適合長期用于緩解擁堵的手段,但由于基礎費被銷毀所以整體對以太坊生態是有利的。除此之外,針對EIP1559,礦工可能會聯合起來讓區塊的容量維持在GasTarget左右,這樣想優先交易的用戶和現在一樣只能交給礦工更多小費。因此這里對EIP1559最終實現降低Gas費的效果存疑。對于其他的Gas產品,都不適合作為長期、大規模降低Gas費的工具使用。下表是對上文中提到的降低以太坊Gas費方式有效性和缺點的總結。
表2:降低以太坊Gas費的方式比較
如果將以太坊比作一條承載了很多汽車的公路,提高GasLimit就是在擴建公路,但過去經驗告訴我們擴建公路永遠趕不上路上車輛增多的速度。EIP1559是通過改變收費方案,讓一些車會因高昂的收費而不愿出門,其實這是與降低Gas費讓更多人享受到以太坊服務的理念相悖的。優化智能合約就是將車輛改小,讓同一條公路能夠承載更多的車,雖然方式可行,但車輛不可能無限制地縮小,而且大部分智能合約在部署前都考慮到了這一點。分片是在原來的基礎上建立交橋和快速路,實現更有效率的擴容。Layer2是讓開汽車的人放棄這種交通方式,讓他們乘坐火車或者飛機達到目的地,將本應該在原鏈上完成的交易轉移到鏈下進行,減少對原來公路的使用。這個比喻就很清楚地讓我們看出哪些對擴容降低Gas費是有幫助的。
撰文:崔晨,就職于HashKeyCapitalResearch審核:鄒傳偉,萬向區塊鏈首席經濟學家
Bitfly官方渠道: Bitfly官網:https://www.bitfly.bizBitfly微博:https://weibo.
1900/1/1 0:00:00消息面:過去24小時BTC資金凈流入6.8億美元過去24小時BTC全網資金凈流入6.8億美元。其中,主力凈流入-8.0億美元;散戶凈流入14.8億美元.
1900/1/1 0:00:00公告編號2021041003各位關心ZBG.io的投資者們和項目方:GDFC因錢包升級暫停提幣,具體開放時間以公告為準,給您帶來不便深感抱歉,敬請諒解.
1900/1/1 0:00:00FUNProtocol旨在捕獲DeFi世界的價值,致力于構建一個跟隨NFT市場不斷繁榮的平行世界,在該平行世界內,有專屬的流動的貨幣體系,有不斷激發NTF創作的網絡.
1900/1/1 0:00:002021年4月10日,區塊鏈行業又一話題被諸多大V引爆,區塊鏈卡牌西游記NFT被推上微博熱搜。一時間行業內仿佛人人都在討論西游記NFT的話題.
1900/1/1 0:00:00項目簡介: DEK是由全球DeFi社區開發者共同打造的首個聚合收益DeFi生態平臺,目前已完成BSC生態鏈和OKExChain生態鏈的鏈上部署.
1900/1/1 0:00:00