Ethereumのトランザクション手数料gasの仕組み




どうも高妻です。Twitterでプログラミングのことや暗号通貨のことをつぶやいているのでよかったらフォローしてください。  

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の意味把握し、関係性を理解することで簡単に理解できます。

また、スマートコントラクト実行時の手数料は処理するソースコードの複雑さに関係するので簡単に見積もることはできないですが今後その説明も書きたいと思います。

The following two tabs change content below.

高妻智一

2013年CyberAgent新卒入社 スマホゲームを作る子会社に所属し、サーバーサイドのエンジニアを担当。2年目の終わりから新規子会社の立ち上げに参加し、サーバーサイドのエンジニアリーダーとしてサービースのリリースから運用までを担当。 2018年仮想通貨のスマホウォレットを提供するGinco Incにブロックチェーンエンジニアとして入社。






よく読まれている関連記事はこちら



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です