ガスリミット(Gas Limit)とはイーサリアムの手数料の設定。ガス価格(Gas Price)を上げて送出失敗を防止!

gaslimit-ethereum

イーサリアムをウォレットから送金するときに目にする「ガスリミット(Gas Limit)」ですが、なんだかよくわかりませんよね?

送金手数料っぽいということは、なんとなくわかるのですが、ビットコインの送金手数料なら「BTC」で支払うのに対して、イーサリアムのガスリミットは単位が「Gas」です。

いったいどれくらいの送金手数料がかかっているのか、また変更するとどうなるのか、について、「ガスリミット」とペアで使われる「ガス価格(Gas Price)」と一緒に解説していきます。

これらの意味を理解すれば、イーサリアムの送金に失敗(「Out of gas」)する確率を下げることができますよ。

取引所からイーサリアムを送金する場合は、取引所がETHベースで手数料を徴収しますので、ガスリミット(ガス価格)を目にすることはありません。


Sponsored Links

ガスリミット(Gas Limit)とはイーサリアムの送金手数料の設定

gaslimit-ethereum2

イーサリアムをウォレットから送金する場合、送金手数料は以下の計算式で計算することができます。

送金手数料(ETH) = ガス価格 * ガス量

この送金手数料の計算式には、ガスリミットは出てきません。

実はガスリミットは、この式の「ガス量」の最大値(上限)を設定するための数値なのです。

イーサリアムのトランザクション承認の仕組み

ガス価格やガスリミットを説明する前に、イーサリアムのトランザクション承認(マイニング)の仕組みを簡単に説明します。

gaslimit-ethereum3

イーサリアムの送信を実行すると、①トランザクションの生成が行われ、それが②プールと呼ばれるところに溜められます

③マイナーがプールからトランザクションを取り出して処理し、④ブロックチェーンに格納します。

送金時に設定した(支払った)送金手数料は、この時にマイナーにマイニング報酬として支払われます。

ガス(Gas)とは?

送金手数料を決めるパラメータの1つ「ガス(Gas)」とは、どういうものなのでしょうか?

ガスはイーサリアムブロックチェーンの使用料(手数料)の最小単位と考えればわかりやすいです。

イーサリアム(ETH)の送金時にも必要ですし、スマートコントラクトなどのプログラムを実行するときにも必要です。

送金先のプログラムの処理の多さによって、必要な「ガス量」が変わりますので、送金処理をして実際に送金先でプログラムを動かしてみてはじめて、その送金にかかった「ガス量」(送金手数料)がわかるのです。

ガス価格(Gas Price)とは?

送金手数料を決める、もう1つのパラメータが「ガス価格」です。

これは、1Gas当たりの価格で、例えば、マイイーサウォレットのガス価格の初期値(デフォルト値)は 21Gweiです。

特に何も変更せずにマイイーサウォレットから送金した場合、ガス価格は 21Gweiで送金されます。

ガス価格の単位として使われている「wei」は、イーサリアムの単位で1ETHとのレートは下図のようになっています。

gaslimit-ethereum4

Gはギガのことで、1Gwei = 0.000000001ETHとなりますね。

ガス価格は、送金者が自由に設定することができますが、マイナーがプールからトランザクションを取り出す際には、当然ガス価格が大きいトランザクションを優先的に取り出しますので(マイニング報酬が多くもらえるので)、ガス価格に大きな値を設定しておいたほうが、早く送金(処理)されます。

ガスリミット(Gas Limit)とは?

ガスリミットは、「ガス量」の最大値(上限)を設定するためのパラメータです。

これは、送金先のプログラムの問題などで、ずっと処理が実行され続けて、送金手数料の支払いが無限に発生する(「ガス量」が無限に大きくなる)ことを防ぐためのものです。

ガス量が、このガスリミットで設定された数値以上になった場合は処理を中断して、それ以上の送金手数料が発生しないような仕組みになっています。

つまり、送金手数料として支払う最大値(上限)は、

最大送金手数料(ETH) = ガス価格 * ガスリミット

となりますね。

マイイーサウォレットであれば、このガスリミットの初期値(デフォルト値)は、21000Gasになっており、通常のETHの送金であれば必要なガスリミットは 21000Gasですので、そのまま使用しましょう。


Sponsored Links

ガスリミットやガス価格はいくらに設定すればよいか?

gaslimit-ethereum5

イーサリアムのウォレットとしてメジャーなマイイーサウォレットとメタマスクには、それぞれガス価格とガスリミットの設定があります。(マイイーサウォレットのガス価格は「ガス価格:21 Gwei ▼」をクリックしてスライダーで設定変更)

また、メタマスクには、設定されたガス価格とガスリミットでの最大送金手数料が「Max Transaction Fee」に表示されています(上図では、0.0006ETH)。

では、このガスリミットやガス価格は、どのくらいに設定しておけばよいのでしょうか?

実際に使った送金手数料の確認方法

まず、実際に送金されたトランザクションを確認してみましょう。

イーサリアムのトランザクションは、送金時のトランザクションID(TX ID)を「Etherscan(イーサスキャン)」に入力することで確認できます。

外部リンクアイコンEtherscanの公式サイトはこちらから

例えば、ビットフライヤーからのETHを送金したトランザクションを、イーサスキャンで表示する場合は、ビットフライヤーの入出金履歴から、TX ID(トランザクションID)をコピーして、イーサスキャンに入力します。

gaslimit-ethereum6

  1. ログインして「お取引レポート」をクリック
  2. 「入出金」をクリック
  3. ETHの送金履歴の「TX ID」の数値をクリック
  4. 別タブで「Transaction details」が表示されるので、その下のトランザクションIDをコピー

このトランザクションIDを、イーサスキャンの右上の入力欄に入力して「GO」をクリックします。

gaslimit-ethereum7

イーサスキャンに、入力したトランザクションの詳細が表示されますので、「ガスリミット(Gas Limit:)」「使用されたガス量(Gas Used By Txn:)」「ガス価格(Gas Price:)」「実際に支払った手数料(Actual Tx Cost/Fee)」を確認します。

上図の例では、ガスリミット 21000Gas、ガス価格 21Gwei、と設定して送金し、実際に使用されたガス量が21000Gasとなっていますので、支払った手数料は、

21Gwei * 21000Gas = 0.000441ETH

となります。

ビットフライヤーの場合は、ビットフライヤー画面でも、ガス価格(Gas Price)、ガスリミット(Gas Limit)、実際に使用されたガス量(Gas Used)、支払った手数料(Fee)が確認できます。

ガス価格の目安

マイイーサウォレットの場合、ガス価格の初期値は21Gwaiです。

この価格は、マイナーにマイニング報酬として支払われますので、大きければ大きいほど、マイナーに早く送金処理をしてもらうことができます。

ただ、この送金処理の早さは、トランザクションの混み具合にもよります。

つまり、トランザクションが混んでいると、ガス価格が大きいトランザクションがどんどん優先されるので、ガス価格が小さいトランザクションは、なかなか送金処理をしてもらえません。

逆にトランザクションがすいていれば、ガス価格が小さくても早く送金処理されます。

では、実際にどのくらいを設定すればよいのでしょうか?

ガス価格の目安は、以下の「ETH Gas Station」で確認することができます。

外部リンクアイコンETH Gas Stationの公式サイトはこちらから

gaslimit-ethereum8

画面右下にある「Recommended Gas Prices」に表示されている「Gas Price(gwei)」がだいたいの目安です。

SafeLowが一番遅く、Fastが一番早く送金処理されます(ここに表示されている数値よりも小さな値でも、大きな値でも自由に設定することができます)。

この値は、混み具合によって随時変更されますので、送金前に確認してみてください。

自分のウォレットに送金する場合のように、特に時間に制約がない場合は安く(小さく)、早い者勝ちのICOに参加する場合は高く(大きく)設定する、ということもできます。

ただし、これは米国にある1つのイーサリアムノードで計測されたデータですので、全世界中の基準というわけではないようです。

ガス価格 21Gwei、ガスリミット 21000Gasでも、送金手数料は 0.000441ETH(1ETH = 10万円として、44.1円)ですので、毎回調べる手間とどちらがよいかは、各自の判断ですね。
ICOなど、大きなガスリミットを設定しないといけないケースのみ、ガス価格を調整するのがいいかも知れません。

ガスリミットの目安

単にイーサリアムをウォレットに送金するだけなら、必要なGasは 21000Gasですので、ガスリミットは初期値のままで大丈夫です。

ただし、ERC20トークンを送金する場合や、ICOに参加する場合などは、21000Gasでは足りない場合もあります。

送信先(ICOの運営など)がガスリミットを指定している場合は、その値に変更し、特に指定がなければ、表示されているガスリミットのままで使用するのがいいでしょう。

また、ガスリミットは大きな値を設定しても、実際に使用されなければ、送金手数料として支払うことはありません。

gaslimit-ethereum9

例えば、上図のケースでは、ガスリミットを 200000Gasに設定して送金していますが、実際に必要だったのは、70726Gasなので、支払った手数料は、

70726Gas * 21Gwei = 0.001485246ETH

となっています。

ガスリミットよりも、必要なガス量が大きい場合は、送金処理が中止(「Out of gas」)されて再送金が必要になりますので、送金先が単なるウォレットではない場合は、思い切って大きな値にしておいてもいいですね。


Sponsored Links

関連記事

  1. lisk-meetup

    LISK(リスク)の東京ミートアップが9/22に決定!高騰の理由は、こ…

  2. cms-zaif-receive

    COMSAトークン(CMS)の受取方法と12/4のZaif取引所上場後…

  3. markspace-ico

    Mark Space(マークスペース)のicoの登録。仮想通貨(MRK…

  4. mold-ico

    MOLD(モルド)という仮想通貨のICOクラウドセールに注目!暗号通貨…

  5. encryption-creditcard

    暗号通貨(仮想通貨)とクレジットカードや電子マネーって何が違うの?初心…

  6. blockchain-info-wallet

    blockchain.infoとは日本語対応のウェブウォレット。登録か…