おそらくEthereum に精通している人であれば、2017年から2018年にかけてネットワークが始まって以来初のユーザー過剰が発生して以来、取引手数料の高騰が問題視されていることをご存知でしょう。しかしながら、Defiアプリケーションが爆発的に増えたことで、最高レベルのローラー以外は、場合によっては市場から値下げされてしまう可能性があります。2021年1月の最初の週には、取引手数料は18ドル近くまで上昇し、平均最高記録を更新しました。
イーサリアムガスは、変動する取引手数料の一部です。ガスとは、イーサリアムのマイナーが取引を承認するときに消費するエネルギーに値します。マイナーはそのエネルギーを消費して、ETHで支払われる取引手数料の一部をマイニングの報酬として得ています。そのため、イーサリアムガスの価値はETHで計られます。ガスのコストは通常ガス料金、またはガスコストと呼ばれます。
イーサリアムのガス料金は通常ETHで表されますが、その金額は1ETHの価値に比べれば微々たるものです。そのためガス料金は基本的にETHの10億分の1、つまり0.000000001ETHであるgweiで表されます。
ETHガスの機能とは?
イーサリアムは、イーサリアム仮想マシン(EVM)によって生み出されるスマートコントラクトをもとに動いています。仮想マシンには専用のプログラミング言語が必要で、EVMの場合はSolidityです。
Solidityのコードは1行ごとに一定量のガスを消費して実行されます。ERC-20トークンはイーサリアム上で作動するスマートコントラクトの中で最もシンプルなものであり、9つのルールしか含まれていないため、ERC-20トークンのコントラクトを書くために必要なSolidityの行数はそこまで多くありません。
しかし、ステーブルコインDAIを発行するMakerDaoの担保付債務ポジション取引など、より精巧なスマートコントラクトは、より多くのSolidityコードラインを必要とします。これが、複雑なスマートコントラクトの実行コストが、単純なERC-20トークンの転送よりも高い理由です。
「ガス」という単語は、イーサリアムを車両に例えており、よくできた表現です。もしここで言うガスがあなたの車両に入れるガスと同じものだとしたら、その車両を運転することはイーサリアムの取引を行うのに等しいでしょう。ガソリンスタンドからガスを購入しなければなりませんが、この場合はマイナーになります。この例えで言うと、ガソリンスタンドのレジ係に料金を払うように、イーサリアムのガスをETHでマイナーに支払います。
ガス料金の基準とは?
ETHにもUSDにも固定の料金設定はありません。ガス料金は事実上市場、つまりイーサリアムのユーザーとマイナーの合意によって定められます。他のブロックチェーン同様、イーサリアムもインセンティブの原理で動いていることを忘れてはいけません。マイナーは取引手数料の一部を利益として受け取ります。
そのためトランザクションに対して支払われるガス料金は、彼らの処理能力をカバーし、なおかつ魅力的なものでないといけません。
さらに、イーサリアムのマイナーは自身がマイニングした次のブロックにどのトランザクションを入れたいか選択することができます。つまり、マイナーは自分が最も利益を得られる取引を選ぶため、イーサリアムのユーザーは次のブロックのスペースを競っていると考えることができます。
このガス料金の経済モデルだと、イーサリアムのネットワークでトラフィックが増加すると価格が上昇するのも納得です。取引待ちのユーザーが増えれば増えるほど、マイナーは自身のブロックにどの取引を入れるかを吟味することができます。つまりユーザーは、他の魅力的なトランザクションに隠れて選ばれるのを待つのを避けるために、ガス料金を高く設定しなければならないのです。
イーサリアムガスリミットとは?
ガスリミットとは、ユーザーがトランザクションに対して払えるガスの最高量を定めたものです。これは、(市場で設定された)ガスリミットに現在のガス料金を上乗せしたものがトランザクションコストになるため、トランザクションの実際の価値を計算するのに利用することができます。
ETHガスステーション
通常ETHの取引においては、基本的なガスリミットは21,000Gasです。EthGasStationのようなサイトを利用して、トランザクションコストを計測することができます。下の画像では、現在の平均ガス価格が123Gweiであり、標準ガスリミットは21,000Gasであることが見てとれます。
この画像は私たちのトランザクションがどれだけ価値のあるものなのか、そしてどれだけ素早くそれらが認証されるかを示しており、いくつかの重要なパートがあります。例えば、約64%、約3分の2のマイナーがこの価格で取引を行うことがわかっており、0.002ETHまたは4ドルの手数料を受け入れた場合、取引を認証するのに147秒または11.9ブロックかかることになります。
もしもさらにお金を払ってでも認証時間を早くしたい場合は、認証時間を最速で25秒にすることができますが、ガスリミットを21,000Gasにして、最終的に5.70ドル支払うことになります。
同様に、長く待っても良いのであれば、21,000Gasのトランザクションコストを3.45ドルに抑えることができます。
ガスリミットを減らしたらどうなるのか?
取引のために用意しているガスの量を減らせばいいと考える人もいるかもしれません。もし21,000Gasを全て使わなかったら?もちろん、ガスの上限を低く設定することは可能です。原則として、残ったガスは返金されますので、多少の余裕はあるかもしれません。
しかし、コストの高低とガスの高低のバランスがあります。コストの側面はすでにご説明しましたが、ガス代が高いと、マイナーがあなたのトランザクションを選ぶ可能性が高くなります。
しかし覚えておいてほしいのは、ガスは取引を完了させるために必要なエネルギーであるということです。ガスリミットを下げてしまうと、トランザクションを処理するのに必要な分のガスがなくなるというリスクが生じます。
この手数料がなくなるとマイナーは直ちに処理を停止し、スマートコントラクトは元の状態に戻ります。施行されかけた取引はイーサリアムブロックチェーンに記録されますが、マイナーが契約を履行したため、あなたは料金を払わなければいけなくなります。
逆にガスリミットを大胆に増加させると、取引を選んでもらいにくくなるというリスクがあります。イーサリアムのブロックには670万Gasのガスリミットが設定されています。もし彼らがガスリミットの一部を創始者に返上したとしても、その取引のガスリミットはブロックの一部としてカウントされます。そのため、ブロックに入れることができる取引数が減るので、ガスリミットを偽ってまで取引を選ぶメリットはありません。
まとめ
イーサリアムのガスシステムはあらゆる点において市場経済の原理に基づいてうまく設計されたシステムです。しかし、必ずしも完璧ではなく、混雑時にはユーザーが莫大な料金に悩まされることもあります。マイクロペイメントを利用するゲームのようなアプリは、イーサリアムのブロックチェーン上で実行するにはかなりのコストがかかります。
さらに、ガスの支払いをETHで行わなければならないということは、アプリケーションのネイティブトークンが異なっていても常にETHの残高が必要となるため、ユーザーや開発者にとって煩雑な作業となります。
イーサリアムがイーサリアム2.0のアップグレードでプルーフオブステークとシャーディングに移行すると、これらの問題に対する解決策が出てくるかもしれません。また、セカンドレイヤーのプラットフォームの普及が進むと、イーサリアム上で直接開発することがなくなってくるかもしれません。しかし、イーサリアムにはすでに確立されたエコシステムがあるため、イーサリアムがブロックチェーンの重要な一部であることは変わらないでしょう。