撰文:崔晨,就職于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年末已經上漲了近兩倍。
前WWE摔跤手,現諾克斯郡市長正在研究比特幣和萊特幣:美國田納西州諾克斯郡市長,前摔跤手格倫·雅各布(Gane Jacob)正在研究比特幣和萊特幣,以幫助他的自治市發展。他還在推特中提到加密挖礦。田納西州因其廉價的電力而位居比特幣采礦的前五名。礦業公司比特大陸在那也有一家礦場。該文還提到邁阿密市長對此行業的重視。(newsbtc)[2021/4/23 20:50:01]
圖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會更少。
研究:期權交易員押注比特幣價格數月內將回調:據Deribit團隊研究顯示,雖然過去比特幣在一個月時間里的表現不錯,但穩健資金(real money)仍對比特幣看空,一些交易者正在購買看跌期權。也就是說,一些大型投資者將大量資金投入衍生品合約,押注比特幣未來幾個月將走低:“買入看跌期權有各種各樣用戶和說法,并非都是看跌,也有可能是謹慎看漲。但似乎仍有一些積極的買家擔心/預計價格會回調。”根據IntoTheBlock數據顯示,一些鏈上數據也顯示出看跌跡象,包括區塊鏈增長放緩、交易者利潤率走低、以及比特幣經濟吞吐量(economic throughput)萎縮等。(cryptoslate)[2020/5/19]
圖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費,能夠將交易帶來的價值引入到以太坊系統中,提升整個系統的價值也會提高礦工的收入。
動態 | 山東港口集團與工信部賽迪區塊鏈研究院簽署戰略合作協議:金色財經報道,山東港口集團與工信部賽迪區塊鏈研究院今天簽署戰略合作協議,雙方將共同打造區塊鏈人才培訓基地,加快區塊鏈技術在港航領域的研發和應用推廣,形成區塊鏈港航智慧應用案例,進一步提升港航業務運營效率。[2019/11/16]
以太坊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在擴容方面的表現。
北大研究員陳永偉:區塊鏈技術能更有效地界定和保護數據產權:北京大學市場與網絡經濟研究中心研究員陳永偉近日撰文表示,數據被重復使用是界定數據產權的一大難題,而區塊鏈技術憑借其可追蹤的特性,能更有效地對數據進行管理。用對、用好這些新技術,或許能讓我們更為有效地界定和保護數據產權。[2018/5/5]
表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上所有人同時退回資金,那么可能導致以太坊主鏈沒有容量同時處理這么多交易,會導致用戶資金丟失。
AIER研究人員:比特幣價格隨新聞而波動:美國經濟研究所(AIER)的研究人員與密蘇里大學(Missouri University)合作,研究比特幣的價格是否被少數交易者操縱。陰謀論比比皆是,還會定期出現新的指責與論斷。這個項目試圖表明比特幣價格上漲和新聞價值事件的聯系。這篇論文考慮了將近兩年的比特幣價格活動:從2016年到下一年的11月,重點關注“價格每日最大的變化”。價格上漲的時候,顯示關于加密貨幣的新信息被揭示或廣泛討論,但這并不意味著價格的有效和理性。同時,研究人員強調,不能在“事件和價格變動之間建立某種因果關系”。[2018/1/30]
狀態通道和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立場無關。文章內的信息、意見等均僅供參考,并非作為或被視為實際投資建議。
今天稍微有點時間,我們今天展開一點來講。關于BTC的觀點,做投資還是需要回到歷史研究中,所以你看到那么多人告訴你,做投資的人都喜歡讀歷史和哲學的書.
1900/1/1 0:00:00導一個漏洞補丁只讓協議保留了部分功能,但價格仍然存在。周三的加密市場修正給FEI項目帶來了沉重的負擔,FEI項目是一個最新嘗試創建算法的穩定幣,在面對市場動蕩方面將保持穩定.
1900/1/1 0:00:00盡管幣安的支持者在慶祝BNB在2021年第一季度的優異表現,但人們對幣安生態系統中心化的擔憂越來越多.
1900/1/1 0:00:00在體育圈,用于收藏的紙質球星卡片賣出天價并不稀罕。曾開發過著名鏈游“加密貓”的公司DapperLabs將這套玩法搬上Flow公鏈,打造出NBATopShot平臺.
1900/1/1 0:00:00現在市場對比特幣的價值有了更多的了解。這直接體現在比特幣的市值方面。比特幣只用了12年就達到1萬億美元的市值,而且是在沒有一分錢的推廣經費的前提下.
1900/1/1 0:00:00本周技術周刊包含以太坊、波卡、Filecoin、EOS四個網路的技術類新聞。 以太坊網絡 以太坊客戶端Geth發布1.10.2版本以太坊客戶端Geth發布1.10.2版本,包括修復了為柏林硬分叉.
1900/1/1 0:00:00