轉髮原文標題:一文讀懂什麽是以太坊Gas、Gas Limit、Gas price、Gas fee、Base fee、Max fee等
Gas翻譯爲中文是燃料/汽油的意思。在以太坊(或其他網絡),爲了執行特定的操作(比如髮送代幣、存儲、兌換代幣)需要消耗一定的燃料,這個燃料我們稱之爲Gas。這就好比汽車要跑,就需要消耗汽油。在以太坊,要進行各種交互,就需要消耗Gas。舉個例子:
假設開車從A地到B地需要消耗10升汽油,每升的價格8元,那麽,從A到B需要消耗的汽油費用:10*8=80(元)。
衕樣,在以太坊網絡,假設執行髮送代幣這個操作,需要消耗Gas的數量是21000個單位,每個單位Gas價格是100gwei。則執行這筆操需要支付的費用:21000*100=2100000gwei。
我們都知道,在web2當中最重要的一個策略就是免費,來吸引流量實現變現。那麽web3中的以太坊爲什麽不這麽做呢?
收取gas費除了打賞獎勵礦工等激勵性質的作用之外,另一個作用就是防止惡意的攻擊,假設沒有gas費的設置,攻擊者就可以髮布無數死循環的合約,然後不斷通過髮送交易讓節點運行,劫持全網的大量算力使得繫統癱瘓。通過規定gas消耗量,以避免一些代碼惡意的無限循環,導緻資源浪費。當所有的gas消耗殆盡,就停止繼續運轉,好比汽車的汽油耗盡,車就停下來不走了,這就不至於無效者繼續占坑。
在開頭例子中,要計算從A地跑到B地汽油花了多少錢,除了要知道汽油價格(多少錢1升),還需要知道消耗的汽油量(用了多少升)。
衕樣,在以太坊網絡,要計算某筆操作的成本(手續費),除了要知道Gas的價格,還要知道消耗的Gas的數量。
Gas數量要消耗多少,由合約創建者設定,不衕合約、不衕類型的操作,消耗的gas數量不盡相衕,操作越覆雜需要消耗的gas越多,所以很難預先估計Ga的消耗量,爲此採取的辦法是,給定一個比實際消耗更高的限值,即Gas Limit,如果實際未消耗這麽多,剩餘部分將退回用戶。
在計算消耗的Gas數量時,錢包提供商比如metamask往往直接給出Gas Limit,如果實際消耗小於Gas Limit,剩餘的返還。如果實際消耗超過Gas Limit,交易無法完成。
假設一筆以太坊網絡轉賬需要消耗的Gas數量爲21000,Gas Limit設置爲50000,而實際隻消耗21000,那麽剩下的29000將自動返還。但如果實際消耗需要51000,而你隻設置爲50000,那麽這筆交易將不會完成,消耗的50000也不會退回。
所以,如果試圖通過減小Gas Limit數值達到減少手續費的目的,可能會適得其反。不僅交易可能不成功,手續費照樣扣。
Gas Limit的數值一般是錢包提供商默認自動給出的,通常不需要我們手動修改或者調整。
Gas price,是指 Gas 的價格/單價,通常用Gwei來錶示。
在2021年8月5日倫敦升級實施後,Gas price變成包含兩部分的費用:基本費(base fee)和小費(Max priority fee)。
「1.Base fee」
即基本費。每個區塊都有一個作爲底價的基本費,爲了有資格被包含在一個區塊中,Gas價格必鬚大於等於基本費。基本費用的確定方法,這裡不展開,反正用戶自己修改不了,由以太坊本身決定。
「2.Max priority fee」
即小費的意思。在滴滴打車的時候,遇到高峰時段,如果加10元、20元小費,可能你會優先叫到車。在以太坊網絡Gas費的設計機製中,衕樣適用這個道理。你給小費,就可能優先成交。這裡需要註意,基本費是根據網絡擁堵情況實時變動的,可以通過網站查詢基本費,而小費可以自己調整,一般調高不調低。
「3.Max fee」
即每單位Gas的最高費用。最高費用是你願意爲每單位Gas支付的絶對最高金額,以使你的交易得到確認。在大多數情況下,你的實際交易費用將低於你預先指定的最高費用,你交易的最低Gas價格是當前的基本費用。然而,如果在你交易尚未完成時,基準費用增加了呢?那麽,你的交易就有可能被卡住,或失敗或被放棄。因此,爲了在EIP-1559下實現可預測的交易結算,目前認爲最好的做法是設置一個預期基本費用增加的最高費用。
上圖是具體的交易信息:
轉髮原文標題:一文讀懂什麽是以太坊Gas、Gas Limit、Gas price、Gas fee、Base fee、Max fee等
Gas翻譯爲中文是燃料/汽油的意思。在以太坊(或其他網絡),爲了執行特定的操作(比如髮送代幣、存儲、兌換代幣)需要消耗一定的燃料,這個燃料我們稱之爲Gas。這就好比汽車要跑,就需要消耗汽油。在以太坊,要進行各種交互,就需要消耗Gas。舉個例子:
假設開車從A地到B地需要消耗10升汽油,每升的價格8元,那麽,從A到B需要消耗的汽油費用:10*8=80(元)。
衕樣,在以太坊網絡,假設執行髮送代幣這個操作,需要消耗Gas的數量是21000個單位,每個單位Gas價格是100gwei。則執行這筆操需要支付的費用:21000*100=2100000gwei。
我們都知道,在web2當中最重要的一個策略就是免費,來吸引流量實現變現。那麽web3中的以太坊爲什麽不這麽做呢?
收取gas費除了打賞獎勵礦工等激勵性質的作用之外,另一個作用就是防止惡意的攻擊,假設沒有gas費的設置,攻擊者就可以髮布無數死循環的合約,然後不斷通過髮送交易讓節點運行,劫持全網的大量算力使得繫統癱瘓。通過規定gas消耗量,以避免一些代碼惡意的無限循環,導緻資源浪費。當所有的gas消耗殆盡,就停止繼續運轉,好比汽車的汽油耗盡,車就停下來不走了,這就不至於無效者繼續占坑。
在開頭例子中,要計算從A地跑到B地汽油花了多少錢,除了要知道汽油價格(多少錢1升),還需要知道消耗的汽油量(用了多少升)。
衕樣,在以太坊網絡,要計算某筆操作的成本(手續費),除了要知道Gas的價格,還要知道消耗的Gas的數量。
Gas數量要消耗多少,由合約創建者設定,不衕合約、不衕類型的操作,消耗的gas數量不盡相衕,操作越覆雜需要消耗的gas越多,所以很難預先估計Ga的消耗量,爲此採取的辦法是,給定一個比實際消耗更高的限值,即Gas Limit,如果實際未消耗這麽多,剩餘部分將退回用戶。
在計算消耗的Gas數量時,錢包提供商比如metamask往往直接給出Gas Limit,如果實際消耗小於Gas Limit,剩餘的返還。如果實際消耗超過Gas Limit,交易無法完成。
假設一筆以太坊網絡轉賬需要消耗的Gas數量爲21000,Gas Limit設置爲50000,而實際隻消耗21000,那麽剩下的29000將自動返還。但如果實際消耗需要51000,而你隻設置爲50000,那麽這筆交易將不會完成,消耗的50000也不會退回。
所以,如果試圖通過減小Gas Limit數值達到減少手續費的目的,可能會適得其反。不僅交易可能不成功,手續費照樣扣。
Gas Limit的數值一般是錢包提供商默認自動給出的,通常不需要我們手動修改或者調整。
Gas price,是指 Gas 的價格/單價,通常用Gwei來錶示。
在2021年8月5日倫敦升級實施後,Gas price變成包含兩部分的費用:基本費(base fee)和小費(Max priority fee)。
「1.Base fee」
即基本費。每個區塊都有一個作爲底價的基本費,爲了有資格被包含在一個區塊中,Gas價格必鬚大於等於基本費。基本費用的確定方法,這裡不展開,反正用戶自己修改不了,由以太坊本身決定。
「2.Max priority fee」
即小費的意思。在滴滴打車的時候,遇到高峰時段,如果加10元、20元小費,可能你會優先叫到車。在以太坊網絡Gas費的設計機製中,衕樣適用這個道理。你給小費,就可能優先成交。這裡需要註意,基本費是根據網絡擁堵情況實時變動的,可以通過網站查詢基本費,而小費可以自己調整,一般調高不調低。
「3.Max fee」
即每單位Gas的最高費用。最高費用是你願意爲每單位Gas支付的絶對最高金額,以使你的交易得到確認。在大多數情況下,你的實際交易費用將低於你預先指定的最高費用,你交易的最低Gas價格是當前的基本費用。然而,如果在你交易尚未完成時,基準費用增加了呢?那麽,你的交易就有可能被卡住,或失敗或被放棄。因此,爲了在EIP-1559下實現可預測的交易結算,目前認爲最好的做法是設置一個預期基本費用增加的最高費用。
上圖是具體的交易信息: