很多剛入圈的朋友在交易的時候都會碰到一個叫做「礦工費」的東西,至於這個費用是怎麼來的呢?是錢包公司還是區塊鏈收的呢?大部分人並不清楚,看完這篇文章能幫助你理解每一筆礦工費的來龍去脈。
什麼是以太坊?
「以太坊是一個分布式的平臺,可以運行智能合約:應用程式按照既定程序運行,不會出現停機,審查,欺詐或第三方幹擾的可能性。這些應用程式運行在定製構建的區塊鏈上,這是一個功能強大的全球共享基礎架構,可以通過數字流轉來代表財產的所有權。」
以太坊為什麼要有礦工費?
大家可以把太坊看作是一個龐大的計算機,每天會有紛繁的計算發生在以太坊上,但是大家都知道區塊鏈上的資源是稀缺的,為了避免無用的操作佔用鏈上計算資源,所以以太坊最初的設計就是一個有償使用的平臺,用戶每一步的操作都需要付出相應的礦工費,這樣既避免了主鏈遭受垃圾操作的攻擊,又可以把費用獎勵給維護區塊鏈的礦工們,一舉兩得。
以太坊礦工費是怎麼計算的?
提到礦工費,很多人會脫口而出,就是Gas唄!目前的確是有很多人將Gas和礦工費直接畫等號來使用的。但嚴格意義來說,這種定義是不準確的。
在以太坊區塊鏈中,Gas是衡量計算量的特殊單位,它用來測量一個操作或一組操作需要執行多少工作量。比如,計算一個 Keccak256 加密哈希函數,每次計算哈希時需要 30 個 Gas。
因此Gas不是幣,不是錢,不是費用,所以和礦工費並不是一個東西。
那Gas和礦工費有什麼關係呢?看下面這一條公式:
礦工費= Gas Price * Gas Used
用人話說,就是 :
礦工費 = Gas的價格 × Gas的用量
下面我們就來拆開講一下公式裡的一些概念。
Gas Price 指你願意為單位Gas支付多少以太坊,這是最吸引礦工的數字,也是決定你的交易完成快慢的決定性因素,因為礦工為了獲得更多的礦工費,總是會優先為出價更高的交易服務。
所以在轉帳前一定要設置合理的 Gas Price,過低會長時間得不到處理,或者被移除交易,導致轉帳失敗。
Gas Used 是指你的這次操作消耗了多少Gas,但在日常轉帳時,我們通常見不到Gas Used在哪裡設置,這是因為只有在轉帳完成後,我們才能看到這筆交易具體使用了多少Gas。
我們在轉帳前可以設置的叫做Gas Limit,即Gas 限額,意思是你願意為這筆操作最多使用多少Gas,Gas Limit 和 Gas Used的特別像你點外賣,你預計自己可以吃多少和你實際吃多少的關係。
設置完Gas Limit進行轉帳後,會有以下幾種情況:
1、Gas Limit = Gas Used,即預設的 Gas 和用掉的 Gas 完全一致。
2、Gas Limit > Gas Used,即預設的Gas沒有完全消耗完。
3、Gas Limit
第一種,交易成功。
第二種,交易成功。還有個好消息是,沒有消耗完的Gas會以ETH的形式返回,並不會造成損失。
第三種,交易失敗。還有個壞消息是,已經消耗的Gas不會退回,損失慘重。
Gas Price決定你的交易走多快(多快被礦工打包),
Gas Limit 決定你的交易可以走多遠(可以運行多麼複雜的合約)。
基礎科普完了,你們大大的腦袋裡肯定有更大的疑惑,繼續往下看,我猜你的問題就在下面。
怎樣合理設置Gas Price 和 Gas Limit?
如果你是一個普通用戶,那麼你不需要考慮這些問題。如果你使用庫神錢包進行轉帳,你可以在庫神APP(最新版本)裡點擊【我的】——【錢包工具】——【當前最佳礦工費】中查看,庫神會根據當前網絡狀態幫你自動計算推薦礦工費,為你推薦當前最合理的Gas Price 。
Gas Limit 一般建議是設置為20,0000,設置完成之後一般可以不用修改。因為降低 Gas Limit 不會給你省錢,只會徒增你交易失敗的概率,同時你也知道,交易失敗後的礦工費是不會退還的,所以千萬不要隨意降低 Gas Limit。