最近以太坊網絡經常擁堵,用戶為了盡快達成交易,會上調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萬,但遭到了很多阻力。
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]
除了無法根本解決網絡擁堵的問題外,提高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定價會降低重入攻擊的難度。
奇虎360公開“基于聯盟區塊鏈的標識解析方法”專利:8月30日消息,北京奇虎科技有限公司、中國信息通信研究院日前聯合公開一種“基于聯盟區塊鏈的標識解析方法、裝置、存儲介質及服務器”專利,申請日期為2021年4月29日,申請公布號:CN113315811A。天眼查App顯示,該專利屬于計算機技術領域。方法包括在第一對外節點接收到標識解析請求的情況下,從第一對外節點對應的本地數據庫中查詢是否存在與標識解析請求中的標識符對應的IPFS哈希值。
若未查詢到IPFS哈希值,則基于標識解析請求向聯盟區塊鏈中除第一對外節點之外的其他節點發送第一查詢請求;接收由聯盟區塊鏈中響應于第一查詢請求的節點發送的IPFS哈希值,并基于IPFS哈希值通過第一對外節點訪問IPFS服務,以獲取IPFS哈希值對應的標識解析信息由此可有效提高對標識解析過程的安全性,保證通過標識解析得到的數據不易被篡改。(郵箱網)[2021/8/30 22:45:51]
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費,能夠將交易帶來的價值引入到以太坊系統中,提升整個系統的價值也會提高礦工的收入。
聲音 | 魯春叢:推動區塊鏈的創新技術在標識解析中深度應用:據中國信通院官網,8月15日,在中國工業互聯網標識大會上,工業和信息化部信息通信管理局副局長魯春叢演講表示,大力推進標識解析技術,標準研制,搭建規模性基礎技術創新以實驗的環境,聯合產學研用各方面力量,促進新型標識體系的研制,推動區塊鏈的創新技術在標識解析中深度應用。據介紹,標識解析體系是工業互聯網的核心基礎設施,是新一代互聯網的“中樞神經”。[2019/8/18]
以太坊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時,需要一周的時間檢查其他用戶是否提交欺詐證明。
動態 | EOS疑似將推出基于EOS的HandShake DNS解析服務:EOS疑似將推出基于EOS 的 HandShake DNS解析服務,一位開發者的Github顯示正在開發EOS-handshake服務。Cosmos社區總監Chjango Unchained4月30日發推表示發現EOS開發者正在復用 Handshake 的開源代碼。EOS或許會加入域名解析服務,生態會進一步擴大。(IMEOS)[2019/4/30]
以太坊上儲存交易的一個字節花費50Gas,以太坊區塊的Gas上限為1250萬。Rollup可以壓縮以太坊上操作的字節數量,除掉Rollup校驗所需要的Gas量,可以計算出Rollup在擴容方面的表現。
表1:Rollup帶來的擴容空間
總的來說,Rollup在擴容上十分有效,因此可以降低以太坊Gas費。但Rollup會涉及鏈上應用的遷移,使用不同團隊開發的Rollup還會導致互操作性下降的問題。
側鏈
側鏈是一條區別于主鏈的區塊鏈,用戶可以將主鏈資產轉移到側鏈上交易,以節約主鏈的資源和交易者的成本。嚴格意義上側鏈不算是Layer2解決方案,因為無法完全保證用戶的資金安全也不能保證側鏈與主鏈的關聯性。側鏈只能歸為鏈下解決方案,但由于實現方式和其他Layer2較為相似,這里暫時歸為一類討論。狀態通道、Plasma和側鏈都是通過鏈下交易實現擴容的,他們在具體實現方式和安全性上有所不同。側鏈的技術實現有多種,重點在于讓資產安全地轉移到側鏈,并讓側鏈資產安全地轉移回主鏈,也就是能安全地實現雙向錨定。
雙向錨定體現為主鏈上鎖定代幣后到側鏈上發行同等數量的代幣,以及在側鏈上銷毀代幣后到主鏈上解鎖相同數量的代幣。以太坊側鏈的概念從比特幣側鏈衍生而來,有單方或多方的托管方式,SPV模式,中繼模式等。由于目前以太坊因生態應用繁榮擁堵,實際中用戶對于側鏈更偏重易用性和生態問題,也就是資產轉移過程要簡易無感,側鏈上要有與主鏈相同的生態。因此目前最合格且受眾最多的側鏈是BSC和Heco,雖然他們使用了托管方式進行資產轉移,中心化風險較高,但用戶已經足夠信任這些交易平臺作為托管機構。完全去中心化的托管模式會因用戶不了解技術,或者存在黑客攻擊的風險而失去競爭力。
BSC和Heco鏈上的生態發展較為繁榮,和以太坊生態一樣出現了借貸、交易等DeFi應用,所以有很多用戶將ETH轉移到BSC和Heco上來獲得低Gas費的使用體驗。但對于BSC和Heco來說不是將以太坊側鏈作為發展目標,他們同樣有獨立的生態,以太坊資產轉移到側鏈上會因此降低以太坊主鏈的價值。經測算BSC和Heco提高以太坊TPS上限約十倍左右,如果未來側鏈中用戶使用量過多的話,側鏈也會出現擁堵問題。
分析 | 杯柄形態ENJ最高漲幅83% 盤面解析:金色分析師:今日山寨幣ENJ最高漲幅83%,消息面上,ENJ確定成為三星Galaxy S10手機的合作伙伴。從盤面上看,小時圖幣價在未啟動前一直處于上升趨勢中,前期已經漲了一波,縮量調整回落,然后放量上攻,到達前期高處時候,又再次縮量調整,然后在放量上攻突破前期高點,然后幣價進入直線拉升趨勢,營造杯狀帶柄形態。[2019/3/8]
狀態通道和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審核:鄒傳偉,萬向區塊鏈首席經濟學家
根據cryptoanalytics和鏈上市場分析公司Glassnode發布的最新數據,在2020年,比特幣礦工每天僅能賺近1200萬美元,而截至目前.
1900/1/1 0:00:00?炒幣買幾種幣子組合比較適合新人?一般來說我們先把自己的資產分幾份,其次就是我們配置資金,給主流幣,比特幣配置比例高一些,然后以太坊,以及瑞波幣等這些全球市值高的幣埋伏一些,然后呢.
1900/1/1 0:00:00行情觀點:小時盤面來看,以太大陽柱拉升后,隨后插針向上試探,觸壓2198.1一線回調走震蕩,隨后短線下挫插針探底2131.8一線反彈,延續震蕩向上,目前走出三連陽,技術面來看.
1900/1/1 0:00:00尊敬的用戶:???? BKEXGlobal將于2021年4月11日20:00開啟第二期定期挖礦搶購活動,支持幣種為FIL、USDT、BTC、ETH、LTC、DOT.
1900/1/1 0:00:00快樂它肯定是有感染力的,發現機會重要的作用就是跟上它的步伐,沒有那么的精彩瞬間會等人,要是沒有感染力那些機遇就不會被人發現,是誰來主宰自己就是市場的變化,真正的體驗一次逆境翻盤.
1900/1/1 0:00:00吳說作者?|?Rebecca本期編輯?|?ColinWu從2021年以來,第一季度內美債收益率持續攀升,3月31日10年期國債收益率尾盤上漲3.75個基點,報1.7404%.
1900/1/1 0:00:00