🕛 2022.4.15 00:42

NFT購入時、MetaMaskでガス代がバグってた話

NFTを始める際は、手数料が安いGMOコインなどで仮想通貨とウォレットを用意しましょう。

この前、MetaMaskからNFTを購入しようとしたら、とんでもない額のガス代が表示されました。

バグでウォレット内に十分なお金がなくアイテムを購入しようとすると通常の約1000倍のレートで見積もりが行われるらしいです。

そもそもガス代ってなぜかかるのでしょうか。

ガス代とは、イーサリアムで取引処理に対して支払う手数料でして、鉱夫(マイナー)に支払われます。

ネットワークが混雑してくると、鉱夫(マイナー)は高い手数料のリクエストを優先的に処理しようとするので、ユーザー側はチップを高くして自分の取引処理を早くしようとするので、ガス代が高騰していきます。

また取引処理に対してガス代が必要になる理由は、悪意がある攻撃者がイーサリアムのネットワークに攻撃をするたびにお金を支払わなければならなくなり、ネットワークの安全維持になります。

ガス代を安くするためには、ガス代を観察して安いタイミングで取引するなど工夫します。

今後は、イーサリアムのアップデートによって処理が減るので、ガス代が安くなることが予想されます。

ガス代とは

ガス代とは、イーサリアムで取引する際に支払う手数料のことです。

クレジットカードで口座送金や支払いした場合にかかる処理手数料のようなものです。

もっと詳しく

ガス代は、イーサリアムブロックチェーン 上でトランザクションを実行したり、契約を実行したりするために発生します。

イーサリアムは、PoW (プルーフオブワーク)と呼ばれるアルゴリズムを実装しています。

PoWは、複雑な計算を解く速度が一番早かった鉱夫(マイナー)が、一連のトランザクションを処理してブロックチェーンに追加することができる仕組みです。

複雑な計算を解くのに多くの計算能力が費やされるので、計算を解くことに成功した鉱夫(マイナー)に対して報酬としてガス代が支払われます。

ガス代の計算方法

ガス代 = ガスリミット x ガス料金(基本手数料+チップ)- トランザクションで使用されなかったガス代

ガスリミット 特定の取引を実行するために支払うことができるガスの最大量

ガス料金 鉱夫(マイナー)へ報酬として単位あたりの支払いたい金額

優先して処理をしてほしい場合は、チップをつけます。

トランザクションで使用されなかったガスはすべてユーザーに返されます。

計算例

ガスリミット323,000 Gwei 
基本Gwei +チップ19 Gwei

ガス代 = 323,000 x 19 Gwei = 613, 7000 Gwei (約2,367円) ※2022年4月時

Gwei(ギガウェイ)とは

Gweiは、極小のイーサリアム通貨を表す単位です。

1Gwei = 0.000000001ETH (1Etherの10億分の1)

ガス代は1 ETHよりもはるかに少ないため、Gweiはガス代の単位になります。

なぜガスが必要になるのか

Ethereum crypto currency mining server room, service data center, block chain technology token ultraviolet isometric vector illustration

ガスが必要になる理由は、イーサリアムネットワークの安全を効率的に維持するためです。

ネットワーク上で実行されるすべての計算に料金がかかることにより、悪意のある攻撃者がネットワークをスパムするのを防ぎます。

ネットワークを攻撃するために、お金を払わなければいけないなら攻撃する気もなくなりますよね。

なぜこんなにガス代が高いのか

ガス代が高くなっている理由は、イーサリアムが人気になりネットワークが混雑しているからです。

イーサリアムの鉱夫(マイナー)は、より高いガス代を提示した取引依頼から処理しようとします。

取引依頼が処理能力を上回ると、ユーザーは他のユーザーより優先されるためより高いガス代を提供する必要があります。

またガス代が低いと取引に時間がかかってしまい完了しないことがあります。

ガス代を安くする方法

Gas fee

ガス代を観察して比較的安い日曜日の午後などに取引タイミングをずらすなど工夫します。

ガス代を観察するため、次のようなツールがあります。

gasnowEtherscan でトランザクションガス価格見積もりです。

Blocknative ETHGasEstimator ガス代を推定する拡張機能を入れます。

イーサリアムガス市場向けのETHガソリンスタンド 消費者志向の指標でユーザーがどのくらいのガス代を払っているのか見て、ガス代を決定する参考にします。

Cryptoneur Gas Fees Calculator  ETH だけではなく、Mainnet、Arbitrum、やPolygonなどのさまざまなトランザクションタイプについて、現地通貨でガス料金を計算します。

MetaMaskのガス代変更方法

決済する時に、「ガス代見積もり」が出るので、その上部[編集]を押すと取引速度の優先毎(高速、普通、低速)でガス代を選ぶことができます。

[詳細オプション]をクリックすると手動で設定することができます。

  • ガス限度額:ガスリミット
  • 最大手数料:ガス価格(基本手数料)
  • 最大優先手数料:ガス価格(チップ)

ガス代の今後

ガス代をほぼ無料にできるPolygonなどのイーサリアムレイヤー2ソルーションが増えてきています。

イーサリアム自体のコンセンサスアルゴリズムがPoWからPoSへ変更やシャーディングの実装により処理負荷が減り速度が向上することでガス代が下がるかもしれません。

[画像]

Label vector created by pch.vector – www.freepik.com

Crypto mining vector created by fullvector – www.freepik.com

プロフィール

プログラマー歴20年の管理人がプログラミング、ブロックチェーンなどの話題に書いていきます。>>続く