科普入門 | 以太坊手續費Gas

買賣虛擬貨幣

在解釋以太坊手續費 Gas 之前,我們首先需要了解一下以太坊的執行情況,整個以太坊其實是執行在一個虛擬環境下的,這個環境的學名是以太坊虛擬機器(EVM)。

大家可以把它想象成一臺汽車,車子要動,就要“吃”汽油,以太坊的交易手續費名為 Gas 就是出於這個想法。

有直接使用錢包轉賬經驗的朋友應該知道,在日常的以太坊錢包對錢包轉賬中,交易發起者往往需要支付額外的 ETH ,這些 ETH 就是老路上面說到的 Gas 。

在以太坊上,每筆交易的額外 ETH 消耗由兩個因素相乘得出,一是 gasUsed,即 GAS 消耗數量,二是 gasPrice ,即每個 GAS 的 ETH 價值。

如果把實際 ETH 消耗比作加油時要付出的錢,那麼所加的汽油升數就是 GasUsed ,而每升汽油的價格就是GasPrice了。

那麼這兩個東西是由誰來制定的呢?

首先,GasUsed 是由 EVM 自身根據一定的規則定價的,EVM 的每個指令都有它的 Gas 消耗數量,明碼標價童叟無欺。如果一次交易中涉及了多個EVM指令,那麼這些指令的 Gas 消耗總和就是這次交易的 GasUsed了。

而 GasPrice 我們可以理解成是交易發起者向礦工(礦池)提出的報價,大概意思是“你幫我把這個訊息傳遞出去,我給你 XX 個 ETH,你看合適不?”(建議 GasPrice 查詢網站http://ethgasstation.info)

當然,報價歸報價,最終接受與否還要看礦工(礦池)的意思。因為看不到加密資訊的具體內容,出於利益方面的考慮,礦工(礦池)們一般會優先傳遞 GasPrice 更高的交易資訊。這也是為什麼出現區塊鏈網路擁堵時,有的人的交易拖了一兩天才成功,有的人卻能立刻完成的原因。

有必要知道一下的是,以太坊中的 GasUsed 是有 3141592 這個上限的,而 GasPrice 的最低價格是 500 億 Wei (以太幣計量單位)。看上去很多對不對,其實它才 0.00000005 個以太幣。

舉個例子

有位使用者發起了一筆以太坊有史以來最複雜的交易,包含了幾乎所有的 EVM 指令。但是他只想給幫忙傳遞交易資訊的礦工(礦池)最低的手續費(周扒皮再世)。

那麼該使用者提出的交易報價應該就是 3141592 * 0.00000005=0.1570796 個 ETH 了。當然,會不會有礦工(礦池)來“運輸”這筆交易就要打個問號了。

綜上所述,在區塊鏈網路較為擁堵時,如果你想要讓你的交易“插隊”進行,那麼額外的“付費”是不可避免的,這一費用和區塊鏈網路的擁堵程度成正比相對的,“付費”較少的交易就會被滯留在區塊鏈網路的“等待區”中。可以說,Gas 體現了區塊鏈技術極為“現實”的一面。

  文字/魔路西

  編輯/魔路西

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;