Ethereum以太坊 – Gas Price vs Gas Limit 小知識


Ethereum以太坊 – Gas Price vs Gas Limit 小知識

基本知識

當我們想利用(以太坊)Ethereum區塊鏈做交易(包括:轉帳,Smart Contract智能合約互動時),我們就需要支付費用給區塊鏈網絡上的Miner礦工幫助確認交易紀錄。

這就像我們生活之中(你需要轉錢給你在日本的朋友,你需要支付手續費給銀行幫你做轉帳。)

在區塊鏈上,每一個礦工都利用Ethereum Virtual Machine(以太虛擬機)執行相同的程式碼和維護區塊鏈網絡。

(以太坊)Ethereum低層EVM(Ethereum Virtual Machine 以太虛擬機)是用Wei來作單位,而不是用Ether!
1 Ether = 1,000,000,000,000,000,000 Wei 就是 1^18
1 Gwei = 1,000,000,000 Wei
附上 Ether <> Wei 轉換表 – https://www.myetherwallet.com/helpers.html

當我們利用(以太坊)Ethereum區塊鏈幫我們做簡單轉帳(轉帳這一個交易動作會叫所有Miner礦工在EVM執行一系列程式碼)
每一行程式碼在EVM(Ethereum Virtual Machine 虛擬機器)執行運算都會有Cost費用。Cost是利用Gas單位去計算。
例如:

  • ADD 這一個運算(將二個數值加上),EVM要求3 Gas費用
  • 轉帳是要求21,000 GAS費用 或 以上

附上Ethereum Yellow PaperExcel表說明了每一個運算需要多少Gas.
Gas Costs from Yellow Paper — EIP-150 Revision (1e18248 – 2017-04-12)

大家常常利用https://myetherwallet.com應該也會留意到 Gas Limit & Gas Price

Gas Limit – 就是說你願意最多給多少Gas去完成這一個交易(包括:執行智能合約Execute Smart Contract,轉帳)。

Gas Price – 就是你願意支付多少Ether給(以太坊)Ethereum區塊鏈Miner礦工幫你執行這一筆交易。

怎樣估計每一個交易所有Gas費用呢?

Transaction Fees交易費用 = 實際用到Gas Limit * Gas Price

Etherscan - Tx Example

Etherscan – Tx Example

從上圖例子看到 ,這一個交易使用90,000 Gas Limit & 20Gwei Gas Price,而整個交易手續費只需要 0.00042 Ether 。但是90,000 Gas Limit 只用了 21,000 Gas,餘下的Gas就會退回。

下列有可能發生情況

  • 如果你那個交易不需要那麼多Gas,Ethereum是會將餘下的Gas退回給你)
    例子: 如上圖
  • 相反,如果你給了Gas 是不足夠去完成這一個交易
    那整個交易費用全也會用掉的,而且如果你是跟Smart Contract智能合約互動(你在區塊鏈上更改的數值也會變回原來!)

實用小提示Tips

https://ethgasstation.info 看到現在Ethereum區塊鏈網絡狀態,參考Gas Price SafeLow (Gwei)。

最便宜做法

Gas Limit – 用myetherwallet自動幫你調節(例如: 參與ICO的話200,000 Gas Limit經己好足夠)  / 專家可人手調

Gas Price – 參考https://ethgasstation.info Gas Price SafeLow (Gwei)

那就保証你的交易將會被Ethereum區塊鏈確認。Gas Price調高會令你交易更快被區塊鏈確認,因為你願意支付更多給礦工。
*Gas Limit 不是愈大就愈好 ,Gas Limit 是有上限的 。以太坊Ethereum Miner礦工有一個機制能夠改變Block Limit 加大/減少 。

Author: Anson Lau

Leave a comment

Your email address will not be published. Required fields are marked *