目次

    全ての目次を見る
  1. イーサリアム(ethereum/ETH)のGas(ガス)とは?
  2. Gas(ガス)の手数料決定の仕組み
  3. Gas(ガス)の消費の流れ
  4. Gas(ガス)の高騰の仕組み
  5. Gas(ガス)の設定額の目安
  6. <まとめ>イーサリアム(ethereum/ETH)のGAS(ガス)とは?
Large        gas

分散型アプリケーションのプラットフォームであるイーサリアム(ethereum/ETH)ですが、ウォレットや分散型取引所(DEX)では自分でGas(手数料)を設定する必要があります。

でも「Gas(手数料)はいくら設定すれば良いのか」「そもそもイーサリアムにはなぜGasが存在するのか?」などといった疑問をお持ちの方も多いのではないでしょうか。

この記事ではGasとは何か、Gasの算出方法、Gasの設定額の目安などをご説明していきます。

まずはイーサリアムとGasの概要について、確認していきましょう。

イーサリアムの特徴や開発目的を確認したいという方は、下記関連記事「イーサリアムとは」の記事からご確認ください。

まず、イーサリアム(ethereum/ETH)は、スマートコントラクトが実装可能な、分散型アプリケーションのプラットフォームです。

時価総額はビットコインに次ぐ第2位の規模を誇り、人気の高い仮想通貨ですので、取引をしたことがある人も多いのではないでしょうか。

Gas(ガス)の役割

イーサリアムの実態は、スマートコントラクトを使ってアプリケーションを実行させるためのプラットフォームです。

スマートコントラクトを含む、トランザクションを実施するために、独自通貨のEther(イーサ)をGas(燃料)として使用しています。

ビットコイン(bitcoin)と比較しながら、イーサリアムのGasの役割を確認してみましょう。

  ビットコイン
(bitcoin)
イーサリアム
(ethereum)
手数料 ビットコイン(BTC) Gas(ガス)
トランザクションの内容 ビットコインの送金 ・イーサリアムの送金
・ スマートコントラクトの実行処理
・ストレージ使用

ビットコイン(bitcoin)では、トランザクションを承認してもらうための手数料として、BTCを支払いますが、イーサリアムではETHではなく、Gasで支払われます。

ETHでなく、あえてGasという単位を使用しているのは、通貨としての用途と、燃料としての用途を区別する目的があるのではといわれています。

また、イーサリアムでは、送金以外にも、スマートコントラクトを実行するための処理や、ブロックチェーン上にデータを保管するための、ストレージ使用料としてもGasが使用されます。

イーサリアムにこのようなGasが設定されている理由として、以下のことがあげられます。

  • マイナーへの経済的インセンティブ
  • 悪意ある者による、スマートコントラクトの無限動作を防ぐ
  • 無駄なトランザクションを実行させづらくして、ネットワークへの負担を抑える

ここまでGasの役割を確認しましたが、ではどのようにGasの手数料は決定しているのでしょうか。

仮想通貨取引所からイーサリアムを送金する場合は、取引所ごとに設定されている送金手数料が引かれますが、ウォレットや分散型取引所(ブロックチェーン上にある中央管理者のいない取引所)では、Gasの金額を自分で設定します。

自分で設定する場合、Gas limit(ガスリミット)Gas price(ガスプライス)を設定する必要があります。

  • Gas limit(Gas start)
    使用するGasの最大量。
    イーサリアムの送金に必要なGas limitは「21000 Gas」。ウォレット等ではすでにこの数値が入力されており、この数値を上げても処理が早くなることはない。
  • Gas price
    1Gasの値段。
    単位は「Gwei」で、「1 Gwei=0.000000001 Ether」 。
    Gas priceの設定を変更して、Gasの価格を調整する。

上記の【使用するGasの最大量(Gas limit)】×【1Gasの値段(Gas price)】で算出された値が、私たちが支払う最大手数料です。

例えば、Gas limitが21,000 GasでGas priceが20 Gweiの場合、送り手は最大で以下の手数料を支払うことになります。
【21,000 Gas × 20 Gwei = 420,000 Gwei = 0.00042 Ether】

この方法では最大手数料を設定するため、送金プログラム等にバグがあったとしても、プログラムが実行され続けての無限に手数料を支払わなくて済むといったメリットもあります。

Gas(手数料)の決定方法を確認しましたが、ではGasはどのように消費されていくのか、図を使って確認していきましょう。

イーサリアムのウォレット、「MyEtherWallet」では以下のようになっています。

例えば、AさんからBさんに1 ETHを送るとし、設定した最大量の手数料は1000 Gasとします。

この図では、トランザクションが処理される過程で必要だったのは合計700Gasで、それはマイナーへの報酬として支払われます。

最初に設定した最大量のGasは、必要以上に多くの量のGasを設定している場合があり、処理に使われず余った300Gas(Remaining gas)はAさんに返済されます。

また、反対にGasの量が少なく、処理が中止となる場合もあります。
処理ができずトランザクションが実行されていない場合でも、Gasは途中までの処理に使用されているため、ウォレットに戻ってくることはありません。

イーサリアムではノードの状態、また実行されるスマートコントラクトの複雑さによって必要なGasの量が異なり、事前に正確なGasを見積もることは難しいのです。
そのため、Gasの最大量を設定して、上限を設けています。

ここまで、Gasが消費されていく流れを確認しました。
昨年の12月から1月にかけて、イーサリアムのGas(手数料)が高騰し、大きな話題を呼びました。
次に、Gasが高騰する仕組みを確認していきましょう。

昨年12月に、イーサリアムベースのアプリケーションとして、「CryptoKitties」という猫の育成ゲームがリリースされました。

リリースと同時にゲームの利用者が急増し、また仮想通貨全体のユーザー数が増えた時期とも符合し、12月から1月にかけてトランザクションの数が急激に増加しました。

トランザクションの数が大きく増えると、ブロックに収めることのできるトランザクションの上限を超えてしまうことが起きえます。

すると、トランザクションの実行に時間がかかるようになり、「トランザクションの遅延」という状態に陥ります。

結果、Gasで報酬を得られるマイナーは、Gasが多く設定されているトランザクションから処理していくため、手数料が高騰してしまうのです。

また、イーサリアムは送金以外にも、アプリケーション内での取引も発生します。
アプリケーションの数やそれを利用するユーザーが増えると、必然的に取引量も増えていき、トランザクションの処理が遅延します。(スケーラビリティ問題)

イーサリアムはこのようなトランザクションの処理の遅延を解消するため、いくつかの解決策が提案されていますが、そのうちの一つがコンセンサスアルゴリズムをPoS(プルーフオブステーク)へ移行することです。

PoSとは、コインの保有量が多いほど、ブロックの生成が有利に行えるように設定されているコンセンサスアルゴリズムです。

現在はPoWを採用していますが、PoSはよりトランザクションの処理が早くなり、手数料の高騰を防ぐことができると考えられています。

最後に、Gasの設定額の目安を確認していきましょう。

MyEtherWalletでは、通常時のGas設定額の目安を提示しています。

  • 40 Gwei:ほとんどの場合、次のブロックに入ります。
  • 20 Gwei:数ブロック内に入る可能性があります。
  • 2 Gwei:通常数分以内に承認されます。

(参照:MyEtherWallet

しかしこれはトランザクションの数が少ないときの目安であり、トランザクション数が多くなればGasの価格も上がっていきます。

そこで、【ETH Gas Station】では、Gas設定額の現在の目安を確認することができます。

サイトにアクセスすると、下記のトップページが表示されます。

右下の「Recommended Gas Price」に表示されている、「Gas Price(gwei)」がGas priceの目安の設定額です。

「SafeLow」が承認までに時間がかかり、「Fast」が早く承認されるということです。

中央にある「Gas Time Price Estimator」では、各Gas価格の送金時間の目安や、かかる手数料($/ETH)を確認することができます。

イーサリアムの送金であれば、必要なGasは21000Gasですが、ERC20トークンを送金する場合や、ICOに参加する場合などは、21000Gasでは足りない場合もあります。
使用されなかったGasは戻ってくるので、多めに設定しておくと安心です。

ICOの場合は、事前に設定する額が決められていることもあります。
(ICOで3時間に167億円を調達したBancor(バンコール)では、Gas priceが50Gweiに制限されていました)

イーサリアム(ethereum/ETH)のGas(ガス)は、スマートコントラクトを実行させるための燃料として使用されています。

そして、私たちが支払う最大手数料は【Gas limit × Gas price】で計算されますが、この最大手数料の設定額が大きいトランザクションから処理されていくため、トランザクション数が多いほど、手数料が高騰する仕組みになっています。

イーサリアムの送金に時間がかかっているなどといったときは、トランザクションの数が多くて遅延している可能性があるため、Gasの設定額を上げて送金してみるなどの対策が考えられます。