以太坊的Gas和手續費

買賣虛擬貨幣

智慧合約,顧名思義,是指計算機程式碼可以自動執行的合同;以太坊虛擬機器是用來執行智慧合約的;智慧賬戶是智慧合約能夠被執行的載體。換句話說,智慧賬戶,這個“賬戶”是可以被以太坊虛擬機器操控的,依據什麼操控呢,依據智慧合約來操控。

天下沒有免費的午餐,智慧合約這個功能這麼好,可不是白用的,你在以太坊進行交易的時候也要付給礦工手續費的,那麼在以太坊系統上,你要付出的手續費是怎麼回事,Gas和手續費之間又有什麼關聯呢?

一、以太坊Gas是什麼?

以太坊Gas類似於汽車燃油,智慧合約的驅動,需要以太坊GasGas是一個英文單詞,中文意思是:瓦斯、汽油,這個東西在日常生活中,是一種消耗品。以太坊為什麼會產生燃料呢?以太坊裡面的Gas是什麼意思呢?其實,以太坊的Gas和交易費息息相關。以太坊交易需要手續費,這個Gas就是以太坊手續費的計算模式。

在以太坊的設定中,交易費類似於一種加密的燃料,也就是Gas,這個東西可以驅動智慧合約的運動。當以太坊在區塊鏈上執行交易時,燃料將按照特點的規則而逐漸被消耗。從這一點看呢,Gas真的是和它的本意一樣,像汽車燃油一樣,想要發動汽車,必須需要燃油。

二、以太坊Gas和比特幣交易費有那些不同?

說到手續費,大家可能很熟悉。天下沒有免費的午餐,無論是以太坊,還是比特幣,都需要手續費,但是二者的手續費模式是不一樣的。比特幣是直接支付比特幣作為轉賬手續費的,以太坊卻不是這樣的。

以太坊本質上是一個虛擬機器,這個虛擬機器是去中心化的,全世界各國人民各自掌控的虛擬機器,聯合起來形成一個世界級的計算網路。當你傳送token,執行合約、轉移以太坊,或者在區塊上做其他事情時,計算機在處理這筆交易時,需要進行計算,這個計算過程需要消耗網路資源。這樣一來,你必須支付燃料費(也就是Gas),才能讓計算機為你工作,讓礦工為你處理交易。

通常情況下,傳送方願意支付的Gas價格越高,礦工從交易中獲得的價值就越大,礦工們也就越有可能選擇這個交易。透過這種方式,礦工可以自由地選擇交易。為了給傳送者設定Gas 價格做參考,礦工們可以直接提出他們執行交易所需的最低Gas 價格。

三、以太坊Gas的消耗量該如何計算?

以太坊虛擬機器處理交易時,虛擬機器會根據交易中確定的一個一個的操作指令進行逐個處理,而每個操作指令都有明文規定的Gas消耗量。

以太坊系統規定了兩個賬戶:一個是正常賬戶,一個是智慧賬戶。那麼,普通的轉賬交易,也就是呼叫正常賬戶,所需要的Gas是固定的21000;而呼叫智慧賬戶的的話,因為智慧合約的複雜程度不同,使得所需要的Gas也不同,處理交易佔用的資源(計算量、記憶體等)越多,那麼所需要的Gas也就越多,比如:執行一次加法運算將消耗 3Gas,如果執行更復雜的運算,那麼消耗的Gas就更多。

那麼大家可能會問一個問題:當使用者的交易涉及一個惡意的智慧合約,這個合約超級複雜,執行這個合約要消耗無限的燃料,怎麼辦呢?以太坊系統的方案是:為了避免惡意智慧合約引起無限的Gas消耗,使用者需要在傳送交易時設定允許消耗的燃料上限,即 GasLimit,這樣一來,就算有惡意智慧合約,最壞情況也只是消耗 GasLimit 所規定的燃料範圍之內。

四、以太坊Gas和交易手續費有什麼關係?

以太坊上,你所支付的手續費等於:GasPrice 乘以GasUsed

你可以把 GasPrice 理解為是燃油單價, GasUsed 理解為汽車所需多少升燃油。對於汽車,假如說每升汽油是20塊錢,一萬升汽油就是20萬塊錢。對於以太坊,每Gas20吉偉(吉偉是以太幣的數量單位),一萬個 Gas 就是:20乘以一萬,等於20萬吉偉,2萬吉偉等於0.0002以太坊,也就是說,本次交易手續為 0.0002以太坊。(具體的兌換值見下表)

(註釋:以太幣數量的基礎單位是,以太幣的數量單位有偉、芬尼、以太,其中,以太被用作普通交易;芬尼被用作微交易;薩博被用作進行關於費用和合約實施。)

由此我們可以發現,Gas並不是以太坊,它是一種單獨的體系,它的匯率與以太坊成一定的比例,經過了比例兌換,最終形成交易費。

具體的匯率查詢,可以檢視以下網站:https://jin10086.github.io/etherconVerter/

Gas價格和以太幣價格都是由市場自由調節的,但是二者是不一樣的,他們的不同之處在於:以太幣的價格是根據市場情況波動,而Gas的價格由礦工決定的,如果燃料價格低於礦工們的最低要求,礦工就會拒絕處理交易。Gas和以太坊分離,可以保護系統免受隨著以太坊價格的快速變化而可能出現的波動。

大部分礦工都會選擇利益優先,處理交易時候,他們會按Gas價格從高到底排列,優先處理Gas價格高的,如果你很著急交易 ,就需要提高Gas價格,讓礦工早點看到你;如果你不著急呢,你只需要設定一個Gas價格,這個價格在礦工設定的Gas價格底線之上就行了。

五、Gas是怎麼獲取的呢?

實際上,Gas就是從礦工那裡購買的以太幣,使用者自己賬戶中的以太幣就可以向礦工購買Gas,以太坊客戶端根據指定的交易最大支出限額,自動用以太坊購買Gas

六、Gas最後去了哪裡?

每筆交易,交易發起方都要設定交易的Gas限定和 Gas價格,不同的操作會產生不同的Gas成本,Gas用完時礦工將停止執行,使用的Gas會作為獎勵,獎勵給挖礦的礦工,這將涉及到幾下幾種情況:

第一種情況是,如果有剩餘Gas,那麼這些剩餘的Gas會退還給交易發起方或智慧合約建立者,比如我傳送1個以太坊給依依,我設定的 Gas limit 5萬,正常需要消耗的Gas21000,,那麼,剩下沒有被消耗的29000會返還給我。

第二種情況是,如果我設定的Gas limit太低,或者我賬號中的以太坊不足以支付我的Gas消耗,那麼,這筆交易會因為Gas不足而被取消,並且用於計算的Gas不會退回到我的賬戶。

第三章情況是,如果交易失敗,我也必須為已經佔用的計算資源來支付手續費。

七、怎麼設定合理的Gas價格?

每次交易之前,可以查詢這個網站來確認需要設定的Gas價格:https://ethGasstation.info/

八、總結

這篇文章我們主要介紹了以太坊的Gas和手續費:Gas相當於燃油,你在以太坊虛擬機器上處理交易,會消耗計算資源,也就是Gas。在以太坊上,你所支付的手續費等於:GasPrice 乘以GasUsed,也就是:Gas的單價乘以消耗掉的Gas總量。操作的複雜程度不同,產生的Gas成本也不同,Gas用完時,礦工將停止執行,使用的Gas會作為獎勵,獎勵給挖礦的礦工,礦工會優先選擇Gas價格出的高的交易者。

免責聲明:

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

推荐阅读

;