以太坊的gas費由什麼決定?智能合約,顧名思義,是指計算機代碼可以自動執行的合同;以太坊虛拟機是用來執行智能合約的;智能賬戶是智能合約能夠被執行的載體換句話說,智能賬戶,這個“賬戶”是可以被以太坊虛拟機操控的,依據什麼操控呢,依據智能合約來操控,我來為大家講解一下關于以太坊的gas費由什麼決定?跟着小編一起來看一看吧!
智能合約,顧名思義,是指計算機代碼可以自動執行的合同;以太坊虛拟機是用來執行智能合約的;智能賬戶是智能合約能夠被執行的載體。換句話說,智能賬戶,這個“賬戶”是可以被以太坊虛拟機操控的,依據什麼操控呢,依據智能合約來操控。
天下沒有免費的午餐,智能合約這個功能這麼好,可不是白用的,你在以太坊進行交易的時候也要付給礦工手續費的,那麼在以太坊系統上,你要付出的手續費是怎麼回事,Gas和手續費之間又有什麼關聯呢?
一、以太坊Gas是什麼?
Gas是一個英文單詞,中文意思是:瓦斯、汽油,這個東西在日常生活中,是一種消耗品。以太坊Gas類似于汽車燃油,智能合約的驅動需要以太坊Gas。
以太坊為什麼會産生“燃料”呢?以太坊裡面的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萬塊錢。對于以太坊,每Gas是20吉偉(吉偉是以太币的數量單位),一萬個 Gas 就是:20乘以一萬,等于20萬吉偉,2萬吉偉等于0.0002以太坊,也就是說,本次交易手續為0.0002以太坊。
(具體的兌換值見下表)
注釋:以太币數量的基礎單位是“偉”,以太币的數量單位有“偉、芬尼、以太”,其中,“以太”被用作普通交易;“芬尼”被用作微交易;“薩博”和“偉”被用作進行關于費用和合約實施。
由此我們可以發現,Gas并不是以太坊,它是一種單獨的體系,它的彙率與以太坊成一定的比例,經過了比例兌換,最終形成交易費。
具體的彙率查詢,可以查看以下網站:http://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萬,正常需要消耗的Gas是21000,那麼,剩下沒有被消耗的29000會返還給我。
第二種情況是,如果我設置的Gaslimit太低,或者我賬号中的以太坊不足以支付我的Gas消耗,那麼,這筆交易會因為Gas不足而被取消,并且用于計算的Gas不會退回到我的賬戶。
第三種情況是,如果交易失敗,我也必須為已經占用的計算資源來支付手續費。
七、怎麼設置合理的Gas價格?
每次交易之前,可以查詢這個網站來确認需要設置的Gas價格:http://ethGasstation.info/
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!