gas:トランザクション手数料
Ethereumに関わらず、ブロックチェーンにトランザクションを取り込んでもらうにはマイナーに手数料を払う必要があります。
ビットコインではこのトランザクション手数料をBTCで支払いますが、Ethereumではgasというもので支払います。このgasの仕組みは理解しづらいので丁寧に解説したいと思います。
gasはどこから来るのか
gasは各自が各アドレスで管理してるものではなく、トランザクションの承認処理中にETHからgasに変換してマイナーに支払います。gasの価格は固定ではなくそのときのトランザクションの混み具合によって需要と供給のバランスで決定されます。
gasの値段はどう決定するのか
gasの値段をよくgas priceと表記するのですがトランザクション発行者はこの値段を自分で決めてEthereumのネットワーク対して流すことができます。
マイナーはより高いgas priceを指定しているトランザクションの承認処理をすることで儲けを大きくすることができます。手数料とgas、gas priceの関係は下記です。
手数料 = gas × gas price
gas priceはGweiと表記されることが多いのですが、weiとETHには下記の関係があります。
1 = wei 10-18 ETH
1 = Kwei 10-15 ETH
1 = Mwei 10-12 ETH
1 = Gwei 10-9 ETH
現時点のgas price
2018年3月20時点ではgas priceが1Gweiなら30分以内、2Gweiなら5分以内、4Gweiなら2分以内にトランザクションが承認されるみたいです。詳細はETH Gas Stationを参照してください。
gas Limit
トランザクション発行時にgas Limitというものも指定できます。これはそのトランザクションで消費していい最大のgas量を設定し、無限にgasを消費しないようになっています。
スマートコントラクトのバグで無限ループが発生してしまってもgas Limitを設定しておくことで途中で処理が停止するようになっています。停止するまでに使用したgasは戻ってきません。
ちなみに単純にETHを送金するだけのときは21000Gasとなっているのでgas Limitは普段これに設定しておけばいいかと思います。
まとめ
Ethereumの手数料の仕組みはgasとgas priceの意味把握し、関係性を理解することで簡単に理解できます。
また、スマートコントラクト実行時の手数料は処理するソースコードの複雑さに関係するので簡単に見積もることはできないですが今後その説明も書きたいと思います。
髙妻智一
最新記事 by 髙妻智一 (全て見る)
- Polkadot(Substrate)のアドレスとトランザクションについて - 2023-03-09
- 【無料公開】「Goで始めるBitcoin」3章 Bitcoinノードとの通信 技術書典8 - 2020-03-08
- エンジニアがゼロから技術ブログを書くための方法をまとめました - 2019-05-25
コメントを残す