ガス代と取引手数料
ブロックチェーンのトランザクションに手数料がかかる理由、イーサリアムのガスの仕組み、gweiとバーンされる基本手数料、ビットコインの手数料を解説します。
パブリックブロックチェーン上のほぼすべての操作には、少額の手数料がかかります。コインの送金、トークンの交換、NFTのミント(発行)など、どれもトランザクションであり、ネットワークに処理してもらうには誰かが代金を払う必要があります。イーサリアムやそれに類するネットワークでは、この手数料をガスという単位で表します。ビットコインでは単に取引手数料と呼ばれます。この記事では、手数料が存在する理由とその計算方法を説明します。
ブロックチェーンが手数料を取る理由
手数料は、二つの問題を同時に解決します。
- セキュリティの対価:マイナーやバリデーターはネットワークを動かし続けるために実際の作業を行っており、手数料は彼らの報酬の一部です。
- スパムの防止:各ブロックの容量には限りがあります。トランザクションが無料なら、誰でもネットワークをゴミデータであふれさせることができてしまいます。手数料がそれを高くつくものにし、需要が高いときにどのトランザクションを優先するかをネットワークが決められるようにしています。
ブロックの容量には限りがあるため、手数料は市場のように動きます。多くの人が同時に取引しようとすれば容量を奪い合うことになり、手数料は上がります。ネットワークが空いていれば、手数料は下がります。
イーサリアムのガス
イーサリアムでは、トランザクションが行うすべての操作に、ガスという単位で測られる固定のコストがあります。単純なイーサの送金は、少量で固定のガスしか使いません。スマートコントラクトとのやり取り、たとえば分散型取引所でのスワップには、通常より多くのガスが必要です。ネットワークがより多くの計算を行い、より多くのデータを保存しなければならないからです。
ここでは、二つの考え方を分けておくとわかりやすくなります。
- ガス使用量:トランザクションに必要な作業量です。トランザクションの内容によって決まります。
- ガス価格:ガス一単位あたりに支払う金額です。ネットワークの混雑具合によって決まります。
手数料の総額は、おおよそガス使用量にガス価格を掛けたものになります。
gweiとは
ガス価格は、イーサの小さな単位であるgweiで表示されます。一gweiはイーサの十億分の一、つまり10^-9 ETHです。gweiを使えば、ゼロがずらりと並んだ数字で価格を書かずに済みます。
ガスリミット
トランザクションを送るとき、ウォレットはガスリミットを設定します。これは、そのトランザクションに使うことを許すガスの上限です。トランザクションがそれ以上を必要とすると失敗しますが、ネットワークは作業をすでに行っているため、消費されたガスの代金は支払われます。ウォレットは通常、適切なリミットを自動で見積もります。
EIP-1559:基本手数料と優先手数料
2021年8月、ロンドン・アップグレードでEIP-1559が導入され、イーサリアムの手数料の仕組みが変わりました。それ以降、ガス一単位あたりの手数料は二つの部分からなっています。
- 基本手数料(ベースフィー):ブロックごとにプロトコルが設定するもので、ブロックが目標より混んでいれば上がり、空いていれば下がります。基本手数料はバーンされます。つまり、誰かに支払われるのではなく、流通から永久に取り除かれます。
- 優先手数料(プライオリティフィー):チップとも呼ばれ、トランザクションを早く取り込んでもらうためにバリデーターに上乗せして支払う金額です。
ユーザーは最大手数料も設定します。これは、ガス一単位あたりに支払ってもよい上限額です。基本手数料とチップの合計がそれより低ければ、差額は請求されません。この設計によって、ウォレットが手数料を見積もりやすくなりました。ただし、需要が高いときに手数料が安くなるわけではありません。
ビットコインの手数料
ビットコインはガスを使いません。ビットコインの取引手数料は、送るビットコインの量ではなく、主にトランザクションのデータサイズによって決まります。少額のインプットを多数使うトランザクションは、インプットが一つだけのものより容量を多く使うため、送金額が同じでも手数料は高くなります。手数料は通常、仮想バイトあたりのサトシ数(sats/vB)で表されます。
マイナーはどのトランザクションをブロックに含めるかを選び、一般にバイトあたりの手数料が高いものを優先します。承認を待つトランザクションは、メモリプール(mempool)と呼ばれる待ち行列に置かれます。混雑時に手数料を低く設定しすぎると、トランザクションは長い間待たされることがあります。
ビットコインの手数料は、そのトランザクションをブロックに含めたマイナーに支払われます。半減期のたびにブロック補助金が減っていくため、手数料はマイナーの収入のより重要な部分になっていくと考えられています。
手数料が大きく変わる理由
- 需要:注目のイベント、市場のボラティリティ、新しいトークンのローンチなどで、ブロックはすぐに埋まります。
- トランザクションの種類:イーサリアムでは、複雑なコントラクトの呼び出しは単純な送金よりも多くのガスを使います。
- ネットワークの選択:ブロックチェーンごとに処理能力や手数料のルールが異なります。
手数料を抑える方法
- ネットワークが比較的空いている時間にトランザクションを送る
- 多数のトランザクションをまとめてメインチェーンに書き込む、レイヤー2ネットワークを利用する
- ビットコインでは、手数料が安いときに少額のインプットをまとめておく
取引所の手数料はまた別の話です。中央集権型取引所は独自の取引手数料や出金手数料を設けており、それはブロックチェーンではなく企業が決めています。
まとめ
- 手数料はネットワークのセキュリティの対価であり、スパムを防ぐ役割も果たします。
- イーサリアムでは、手数料はガス使用量×ガス価格で、gweiで表示されます。
- EIP-1559以降、基本手数料はバーンされ、チップはバリデーターに支払われます。
- ビットコインの手数料は、送金額ではなくトランザクションのサイズで決まります。