撰文:崔晨,就職于HashKeyCapitalResearch審核:鄒傳偉,萬向區塊鏈首席經濟學家
最近以太坊網絡經常擁堵,用戶為了盡快達成交易,會上調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年末已經上漲了近兩倍。
歐科云鏈研究員:區塊鏈可提高醫療數據的安全性和可靠性:歐科云鏈研究院高級研究員王海峰表示,目前我國區塊鏈技術在政府管理系統、醫藥數據、能源管理等公共領域均有應用。尤其在醫藥數據管理方面已經趨于成熟,曾經醫院面臨的挑戰之一是缺乏用于儲存和共享數據的安全平臺以及由于基礎設施的落后,區塊鏈技術可以讓醫院安全的儲存數據,提高醫療數據的安全性、可靠性。(證券日報)[2021/6/10 23:25:55]
圖3:以太坊區塊的GasLimit可以看出,雖然以太坊區塊的GasLimit一直在提高,以太坊還是會出現網絡擁堵的情況。這是因為以太坊的用戶和使用量是同時上漲的,只要GasLimit的上漲程度沒有超過使用量的上漲,提高GasLimit就無法根本解決高Gas費的問題。GasLimit具體數值由礦工投票決定,在目前的網絡擁堵程度下,有些礦工建議將GasLimit繼續提高到1600萬,但遭到了很多阻力。除了無法根本解決網絡擁堵的問題外,提高GasLimit后由于區塊容量擴大,區塊的驗證和同步時間有所延長。因此導致網絡更容易分叉,叔塊出現的概率升高,節點維護網絡的成本也會增加,最終網絡可能出現安全性和中心化問題。雖然提高GasLimit是最簡單進行網絡擴容的方式,但它帶來的弊端也是不能忽視的。不過目前網絡擁堵情況加劇,出于可用性考慮,加上礦工會受到更多筆Gas費獎勵的吸引,未來極有可能仍會提高區塊GasLimit來增大承載量。
降低操作的Gas消耗
雖然以太坊區塊的GasLimit在增加,區塊的承載量遠超過去,但數據顯示目前的轉賬數量剛剛與2018年初的轉賬數量持平,說明了以太坊網絡中大部分資源被分配給了更復雜的合約交易。如果在合約編寫上能夠降低復雜度,減少合約執行所需要的Gas,或者直接降低操作的Gas定價,就可以實現節約Gas費的目標,并且節約網絡資源。
圖4:以太坊的每日轉賬數
以太坊的黃皮書規定了Gas的消耗規則,智能合約的編寫過程中,同一功能的不同實現方式消耗的Gas會有所不同,為了節約Gas費就需要執行最節約Gas的代碼實現方法。例如儲存新數據和修改數據都要消耗Gas,所以最好避免重復修改,一次性盡可能多地寫入。在下圖中,兩者在結果上相同,但右邊的代碼實現消耗Gas會更少。
聲音 | 中國電子標準化研究院李鳴:不同國家對區塊鏈的關注重點不同:近日在2019甲子引力大會上,中國電子標準化研究院區塊鏈研究室主任李鳴表示,從全球來看,不同的國家對標準的方向重點不一樣,比如美國比較關注基礎共性的標準。德國更偏向工程化的標準,比如說工業區塊鏈;日本更關注服務類的標準,比如基于區塊鏈的服務和應用實踐等。所以不同國家根據自身不同特點關注重點方向有所不同,中國跟國外專家在術語和參考架構基礎層面在共同制定標準。國內主要工作是基于各區塊鏈頭部企業的最佳實踐,將其抽象成標準。我們希望通過把中國的最佳實踐貢獻給全球,同時借鑒國際標準成果,把中國區塊鏈行業發展跟國際接軌。(甲子光年)[2019/11/21]
圖5:同一結果的兩種代碼實現,右邊更節約Gas除此之外,壓縮智能合約的數據輸入,避免創建智能合約時將其用作數據存儲等方式也可以節約Gas。有人提出操作消耗Gas的原始定價沒有經過充分分析,存在定價不當的問題。以太坊中的EIP1380、EIP2046等提案就涉及降低某個操作的Gas。但以太坊Gas定價的改變要慎重考慮,因為降低有些操作的Gas定價會降低重入攻擊的難度。
EIP1559EIP1559已經被納入在以太坊的倫敦硬分叉升級中,它改變了以太坊網絡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費,能夠將交易帶來的價值引入到以太坊系統中,提升整個系統的價值也會提高礦工的收入。
動態 | 賽摩電氣:區塊鏈技術目前公司處在應用研究階段:9月29日,賽摩電氣(SZ300466)在互動平臺上表示,公司在工業互聯網協同制造平臺、智能工廠\\智慧電廠的建設中均有人工智能等先進技術的應用,區塊鏈技術目前公司處在應用研究階段,為拓展工業互聯網的應用領域打基礎,這些技術的研究將推動工廠的設備管理,決策方式和運營管理逐步從經驗型轉變為數據驅動型。[2019/9/29]
以太坊2.0的實現
以太坊升級到2.0階段的最終目標是實現擴容,解決網絡的擁堵問題,除了將共識機制由PoW轉變為PoS,以太坊2.0的還要實現分片和部署eWASM虛擬機。分片就是將整個網絡分區,節點不需要維護整個系統的交易,只需要負責維護其中一個分區即可。以太坊2.0將有64個分片,將交易分布到各分片中增加網絡的承載量。各分片可以與信標鏈進行交聯,信標鏈不儲存以太坊上的賬戶余額和合約狀態等信息,負責管理驗證者和記錄分片狀態。分片要考慮到安全性的問題,因為相對而言攻擊單分片的難度會降低。在以太坊2.0的分片上都存在至少128個驗證者組成的委員會,他們負責表決分片上的信息,這些人每epoch更換一次,由信標鏈通過RANDAO+VDF的方案分配。作惡者很難保證在同一時間控制同一分片上超過三分之二的節點,因此保證了網絡的安全。
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時,需要一周的時間檢查其他用戶是否提交欺詐證明。以太坊上儲存交易的一個字節花費50Gas,以太坊區塊的Gas上限為1250萬。Rollup可以壓縮以太坊上操作的字節數量,除掉Rollup校驗所需要的Gas量,可以計算出Rollup在擴容方面的表現。
聲音 | 研究人員:過多的監管有可能扼殺Facebook的Libra:據MarketPlace消息,競爭企業研究所(Competitive Enterprise Institute)研究員Patrick Hedger表示,Libra的發布令人興奮,過多的監管有可能扼殺該貨幣。“如果我們轉向一個系統,我們太害怕像這樣的產品的潛在缺點,我們將永遠不會看到充滿活力的繁榮市場,我們需要真正了解像這樣的產品的好處。” Hedger承認對隱私的擔憂,并表示Facebook有責任與消費者建立信任。他表示,消費者應該自己決定是否要注冊這項服務。[2019/6/19]
表1:Rollup帶來的擴容空間
總的來說,Rollup在擴容上十分有效,因此可以降低以太坊Gas費。但Rollup會涉及鏈上應用的遷移,使用不同團隊開發的Rollup還會導致互操作性下降的問題。側鏈側鏈是一條區別于主鏈的區塊鏈,用戶可以將主鏈資產轉移到側鏈上交易,以節約主鏈的資源和交易者的成本。嚴格意義上側鏈不算是Layer2解決方案,因為無法完全保證用戶的資金安全也不能保證側鏈與主鏈的關聯性。側鏈只能歸為鏈下解決方案,但由于實現方式和其他Layer2較為相似,這里暫時歸為一類討論。狀態通道、Plasma和側鏈都是通過鏈下交易實現擴容的,他們在具體實現方式和安全性上有所不同。側鏈的技術實現有多種,重點在于讓資產安全地轉移到側鏈,并讓側鏈資產安全地轉移回主鏈,也就是能安全地實現雙向錨定。雙向錨定體現為主鏈上鎖定代幣后到側鏈上發行同等數量的代幣,以及在側鏈上銷毀代幣后到主鏈上解鎖相同數量的代幣。以太坊側鏈的概念從比特幣側鏈衍生而來,有單方或多方的托管方式,SPV模式,中繼模式等。由于目前以太坊因生態應用繁榮擁堵,實際中用戶對于側鏈更偏重易用性和生態問題,也就是資產轉移過程要簡易無感,側鏈上要有與主鏈相同的生態。因此目前最合格且受眾最多的側鏈是BSC和Heco,雖然他們使用了托管方式進行資產轉移,中心化風險較高,但用戶已經足夠信任這些交易平臺作為托管機構。完全去中心化的托管模式會因用戶不了解技術,或者存在黑客攻擊的風險而失去競爭力。BSC和Heco鏈上的生態發展較為繁榮,和以太坊生態一樣出現了借貸、交易等DeFi應用,所以有很多用戶將ETH轉移到BSC和Heco上來獲得低Gas費的使用體驗。但對于BSC和Heco來說不是將以太坊側鏈作為發展目標,他們同樣有獨立的生態,以太坊資產轉移到側鏈上會因此降低以太坊主鏈的價值。經測算BSC和Heco提高以太坊TPS上限約十倍左右,如果未來側鏈中用戶使用量過多的話,側鏈也會出現擁堵問題。狀態通道和Plasma狀態通道是一種在鏈下進行交易和狀態更新的技術,比特幣閃電網絡就是一種支付通道。以太坊的狀態通道可以讓交易雙方在鏈下進行狀態的更新和交易,無需占用鏈上資源。他們通過狀態通道進行交易時,需要對雙方的行為進行簽名并保存副本,每一步的操作是清晰的。如果他們結束了鏈下交易,就將最終狀態簽名后返回到主鏈上來更新主鏈上的狀態。狀態通道在用戶撤回資金時有挑戰期的要求,是為了防止用戶上傳過期的交易記錄牟利。用戶要等待一段時間確認沒有人上傳更新的副本,等待期結束后會按照最新的副本內容執行。如果其中一個用戶在挑戰期受到攻擊掉線等,他就會因無法回應而受到損失。狀態通道需要有一組確定的參與者,因為在通道中的狀態改變只限用于通道內的用戶,而且部署狀態通道需要成本,適合在一段時間內頻繁進行狀態更新的場景。Plasma也是一種鏈下交易的方式,它通過在以太坊主鏈上創建子鏈實現,交易和狀態更新通過子鏈操作,以太坊不會保存交易副本,因此可以節約以太坊空間實現擴容。Plasma子鏈上同樣存在區塊生產者,其中的共識機制可以與以太坊主鏈不同。他們在以太坊上建立交易的根節點來記錄子鏈狀態,作為子鏈更新的證據。為了防止Plasma鏈上的區塊生產者作惡,Plasma使用欺詐證明機制,如果有人發現了生產者的作惡,那么可以提交證明讓錯誤的區塊回滾并沒收生產者的保證金。如果用戶要退出Plasma,也需要經歷挑戰期來證明他的交易為最新交易。但如果Plasma上所有人同時退回資金,那么可能導致以太坊主鏈沒有容量同時處理這么多交易,會導致用戶資金丟失。
聲音 | 張連勇:北京互聯網法院一直在研究區塊鏈等取證方式:據中國新聞出版廣電報消息,3月26日,在中國人民大學舉行的電子商務版權保護研討會上,針對很多出版社反映的著作權案件取證難的問題,北京互聯網法院法官張連勇說:“在實踐中,對于比較靈活的時間戳或者區塊鏈技術的取證方式,北京互聯網法院一直在研究。現在的取證方式可能也會牽扯到取證主體,取證人可能會熬夜取證,但是,已經不太需要配合公證處的時間了。只要有互聯網的地方就可以取證,作為權利人來講,這或許是一個好的思路。”[2019/4/4]
狀態通道和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費是有幫助的。
免責聲明:作為區塊鏈信息平臺,本站所發布文章僅代表作者個人觀點,與鏈聞ChainNews立場無關。文章內的信息、意見等均僅供參考,并非作為或被視為實際投資建議。
NFT:鏈接區塊鏈和價值實體。NFT,即非同質化代幣,具有不可分割、不可替代、獨一無二的特點,其作為承載物品價值的新型數字憑證,市場潛力也被越來越多的投資者看見.
1900/1/1 0:00:00NFT這股熱風從圈內吹到圈外,在圈外的熱度似乎蓋過了比特幣。和菜頭寫了一篇《關于NFT的一些胡說八道》,他在發布之前就抱定創造閱讀量新低的期待,但是他沒有想到閱讀量達到7.4萬,眾多幣圈人打賞,
1900/1/1 0:00:00梨園:每日經濟新聞 注:本文對最新行情數據進行了更改,主要是比特幣的當前價格和歷史新高。今日比特幣盤中加速向上突破,截至發稿,比特幣突破63000美元關口,報63024美元/枚,再創歷史新高.
1900/1/1 0:00:00寫在前面:算法穩定幣項目FEI自上線主網以來,其代幣FEI的價格一直低于錨定匯率,這給該項目帶來了巨大的壓力,而其創始團隊近日提出了一個FIP-1儲備穩定方案.
1900/1/1 0:00:00從去年DEFI火爆起來之后,以太坊區塊鏈上的手續費也水漲船高,一時間大量DEFI項目溢出到BSC和HECO之上,而這也使得EIP-1559成為社區關注的焦點.
1900/1/1 0:00:00本文由IPFS原力區原作最近,Chainlink正在與Filecoin進行集成,以實現Filecoin網絡與以太坊等支持智能合約的區塊鏈之間的雙向連接.
1900/1/1 0:00:00