gas費之爭已經上演了很多年了,如今以太坊即將轉為pos鏈,那最大的期待,就是gas費可以降到很低,為什麼呢?
因為pos的處理效率遠大於pow,並且網絡資源成本也足夠低,只是驗證者需要抵押ETH,賺取出塊獎勵。網絡本身的“硬件”成本,降了很多倍。
那以太坊轉了pos之後,gas費究竟能降多少?好奇心驅使我通過多種角度去嘗試預測。
gas費的算法是gas price乘以gas用量,gas price的單價在pos和pow鏈裡完全不是一個數量級。而gas用量則和交易大小、合約大小、塊大小、優先交易小費等關鍵詞相關了。
首先我們詳細拆解一下pow鏈上的gas費。
在假設以上這個價格的gas price。
我們打開一個區塊中打包的數據。
在這個14454322高度的塊裡面,一共打包了62次轉賬和餓19次合約調用。正常情況下轉賬價格低,合約調用價格高。
這些交易最後一共計算約為0.161922個ETH。
在看這個塊的大小和gas單價,
這個塊最後打包了31965字節數據,gas單價在27gwei左右。
因為塊有一個基本大小,基本大小和交易大小加在一起是塊大小。我們沒時間把所有交易數據字節大小查一遍加起來計算,我試著去找了一下空塊,查到空塊大小在540字節左右。
也就是可以計算到上面那個塊,所有交易大小在31425字節。
通過eth.gas.station的數據可以查到,平均一筆交易轉賬的花費在1.96美元左右。 14454322高度時的ETH價格在3100美元左右,按3100美元計算,塊中交易gas費為500美元左右。
這樣一來,塊中62筆轉賬,大概需要122美元,則剩下19筆合約調用需要378美元。
為什麼19筆合約調用需要378美元呢,通過交易查詢,這些調用合約,都是參與opensea的nft交互和uniswap v2的代幣買賣,這些交易的平均gas費消耗是20美元一次,19筆交易,就出現了378美元的數字。
從上面數據來看,在以太坊鏈上,保存3.1兆的數據,價格就達到了500美元,如果gas單價水漲船高,那價格就更貴的離譜了。
從如此昂貴的數據,我們再計算一下如果以太坊合併後,數據如何?
首先要看以太坊合併後的測試網Kiln上的gas價格,目前Kiln上交易量比較低,這一條利用beaconchain機制運行的鏈,主要是測試合併數據和合併後的運行情況。因為beaconchain現在還沒有進行實際的交易打包運行,只是去同步一些數據。所以Kiln上才有效。
首先我們打開了一個只有1筆交易的塊。
這個塊是119605,塊大小627字節,有1筆交易,但這個塊沒有交易gas費消耗。
這裡我們可以看到一個關鍵信息,gas單價已經降為了0.000000007gwei。而因為這打包的1筆交易是分發給驗證者地址的獎勵,所以不計入交易。也因此,這樣的塊可以計算一個沒有其他交易的塊的大小。為了保證應對多種情況,通過查詢空塊,發現一個空塊大小仍然在540字節。
因為現在交易較少,我們找到了一個打包了10筆交易的塊。
但發現這個塊裡的交易都是沒有消耗gas的交易,即都是鏈上的一些“系統交易”。所以我在交易瀏覽裡找尋一些轉賬和合約調用交易。
在一筆40ETH的轉賬裡,我們找到了一些數據,顯示
Transaction Fee
0.000016800000126 Ether
Gas Price
0.800000006 Gwei
Gas Limit
21,000
Priority Fee / Tip
0.000016799999979 Ether
Transaction Burnt Fee
0.000000000000147 Ether
Gas Used by Transaction
21,000 | 100%
在這筆交易裡,使用了21000gas,一共為0.0000168ETH,價格約為0.052美元。
而我們查詢了這筆交易打包的塊,塊中有6筆轉賬交易,一共花費了0.0001008ETH,約0.312美元。這6筆交易共佔730字節,每筆交易約120字節。
為了尋找對比,我們繼續尋找一些合約調用記錄。通過查詢,找到了一個合約上傳、一次合約調用和代幣鑄造的費用。
以上是一筆代幣合約生成的交易,交易使用了0.021個ETH,因為該合約大約佔據了6000字節的空間,所以使用了1120000gas,在pos網絡裡,算是巨額花費。
而在這個合約裡,6個用戶賬戶調用合約成功後共花費0.006個ETH,每次調用大約0.001個ETH,以ETH3000美金的價格,大約3U,這個價格也是因為合約大小比較大,而引起的gas費較高。
再看代幣鑄造。在一個dai穩定幣鑄造合約裡,一次dai的鑄造如下圖,只花費了0.000036ETH。
這筆交易的字節數在200字節左右。
綜上,在轉為pos後,用戶的日常轉賬費用極低,而項目上傳一些較大的合約,gas費會比較高,而用戶調用這樣的合約,也會花費更高的gas。
但與pow鏈的成本相比,pos的gas消耗與其差了多個數量級。