Ethereum の gas 代を自己管理ユーザー向けに解説

·8 分で読める·SSP Editorial Team 著
Ethereum の gas 代をテーマにした SSP の coin-guides 用カバー。濃紺と琥珀色の背景に base fee、priority fee、EIP-1559 の副題

Ethereum の gas 代を自己管理ユーザー向けに解説

Ethereum 上のあらゆる操作には gas がかかり、自分で鍵を保管する人にとって、この手数料は取引が確定するか、それとも詰まってしまうかを左右します。Ethereum の gas 代をわかりやすく解説することは、自己管理のユーザーができる最も役立つことの一つです。仕組みが腑に落ちれば、ウォレットが示す数字は謎で��なくなり、自分で意図して下せる判断に変わります。

このガイドでは、何に対して支払っているのか、手数料の計算式、EIP-1559 が手数料を「焼却される base fee」と「バリデーターへのチップ」にどう分けるのか、なぜ失敗した取引でも費用がかかるのか、そして SSP と、より安い L2 チェーンがどう関わってくるのかを扱います。SSP で ETH を扱うのが初めての方は、まず SSP の Ethereum を読んでから、ここに戻ってきてください。

gas とは実際のところ何か

gas は、Ethereum が計算作業を測るために使う単位です。あらゆる操作には固定の gas コストがあり、ネットワークがそれらを合算します。単純な ETH の送金は処理が少ないので安く、swap や DeFi とのやり取りはより多くのコントラクトコードに触れ、より多くの gas を焼きます。gas が存在するのは、ブロック領域が共有された有限の資源だからです。だからこそネットワークはその領域への需要に価格を付け、作業を実行するバリデーターに支払います。Ethereum Foundation の gas ドキュメント が基準となる出典です。

手数料の計算式:gas used かける gas price

どの取引でも、総手数料は単純な掛け算です。

手数料 = gas used × gas price

gas used はその取引が行った作業量、gas price は 1 単位あたりに支払う価格で、gwei で表されます。gwei は ETH の一部分で、1 ETH は 10 億 gwei、1 gwei は最小単位である 10 億 wei に等しいです。したがって、20 gwei の価格で 21,000 gas を使う送金は 0.00042 ETH かかり、80 gwei では作業が同じでも 4 倍かかります。単位あたりの価格は需要とともに動き、作業量は固定されたままです。

EIP-1559:base fee と priority fee

2021 年の EIP-1559 アップグレードは、gas price の決め方を変えました。全員が当て推量をする単一の盲目的なオークションの代わりに、手数料はいまや 2 つの部分から成ります。

base fee はプロトコルがブロックごとにアルゴリズムで設定し、その根拠は直前のブロックがどれだけ埋まっていたかです。ブロックが半分以上埋まると上昇し、空いていると下がるので、価格は需要になめらかに反応します。何より重要なのは、base fee は 焼却 される——流通から永久に取り除かれる——という点で、どのバリデーターにも渡りません。

priority fee、つまりチップは、バリデーターにより早く取り込んでもらうよう促すために上乗せする分です。base fee は焼却されるため、バリデーターが実際に得るのはチップであり、ネットワークが混雑して取り合いになるブロック領域では、より高いチップが勝ちます。base fee はブロック内の全員に対して同じで、チップこそがあなたの操作できるレバーです。完全な仕様は EIP-1559 そのものを参照してください。

maxFeePerGas と maxPriorityFeePerGas:あなたが設定する上限

base fee は取引が待っている間にブロック間で動きうるため、EIP-1559 では単一の固定価格ではなく 2 つの上限を設定できます。

  • maxPriorityFeePerGas は、バリデーターへのチップとして支払う最大額です。
  • maxFeePerGas は、gas 1 単位あたり合計で支払う絶対的な最大額で、base fee とチップを合わせたものです。

請求されるのは、取引が入ったブロックの実際の base fee にチップを足したもので、maxFeePerGas を超えることはありません。base fee が想定より低ければ残りは払い戻され、待っている間に高騰が起きても余分に請求されることはありません。SSP を含むほとんどのウォレットは、これらの値を現在の状況から自動入力するので、通常は数字を打ち込むのではなく速度を選ぶだけです。

gas limit と gas used、そしてなぜ失敗した取引でも gas がかかるのか

もう一つ人を戸惑わせる数字があります。gas limit、すなわち取引が消費することを許す gas の最大量です。これは作業に対する安全上の上限であって価格ではありません——請求されるのは実際に使われた gas だけです。単純な送金は常に 21,000 gas を使います。コントラクトとのやり取りでは、ウォレットが余裕を持たせて上限を見積もります。

つらいのは失敗したときです。取引が gas 切れになったり途中で revert したりしても、すでに行われた作業の分は支払わなければなりません。失敗した、あるいは revert した取引でも gas はかかります。 gas limit が低すぎることは gas 不足による失敗のよくある原因で、だからこそ上限は手で調整するよりウォレットに見積もらせる方が確実です。

gas 代が急騰する理由

gas 価格が上がる理由は一つ、ブロック領域への需要が供給を上回るからです。ブロックサイズには事実上の上限があるため、多くの人が一斉に取引するとき——人気 token のローンチ、引く手あまたの NFT の mint、相場の急変——base fee のアルゴリズムは需要が冷めるまで価格をブロックごとに押し上げ、ユーザーが取り込まれようと競い合うにつれてチップも上がっていきます。

そのため Ethereum メインネットの手数料は非常に変動が大きく、同じ送金でも静かな時間帯なら数セント、熱狂のさなかなら数ドルかかることがあります。作業は変わっておらず、変わったのは価格だけで、だからこそタイミングが重要なのです。

ウォレットはどう手数料を見積もるか:遅い・普通・速い

生の gwei を手で設定することはめったにありません。ウォレットは現在の状況を読み取り、プリセット——たいていは遅い・普通・速い——を提示し、これらは異なるチップ水準と確定時間に対応します。

  • 遅め の選択肢は低いチップを使います。安いですが時間がかかることがあり、高騰時には保留のままになることもあります。
  • 普通 の選択肢は、妥当な価格でこの先数ブロック以内の確定を狙います。
  • 速め の選択肢はより高いチップを払って早く取り込まれます。時間や変動の激しい価格と競っているときに価値があります。

これらは見積もりであって保証ではありません。低めの価格を付けた取引が詰まったら、同じ nonce でより高い手数料を付けて送り直してください——SSP で Ethereum を送受信するで扱う「スピードアップ」または「置き換え」の操作です。SSP では置き換えは新しい取引なので、やはり 2-of-2 の共同署名が必要です。

SSP における gas:UserOperation を通じて支払う

SSP はあなたの ETH を 2-of-2 の multisig に保管し、EVM チェーンではそれが ERC-4337 のスマートコントラクトアカウントになります——これは取引の形を変えるだけで、gas の経済性は変えません。通常の取引をブロードキャストする代わりに、アカウントはその意図を、bundler がチェーンに送信する UserOperation として表現します。gas はその UserOperation の一部として支払われ、その下では同じ EIP-1559 の base fee と priority fee が依然として適用されます。つまり、あなたは相変わらず ETH で gas used × gas price を支払っており、それは両方のデバイスによって単一の Schnorr 集約された操作として共同署名されます。

account abstraction は gas の肩代わりも可能にします。ERC-4337 は paymaster がユーザーに代わって gas を支払うことを認めており、原理的には手数料を第三者が負担したり、ETH ではなく token で支払ったりできます。これは標準の能力であって、特定の挙動についての約束ではありません——詳しくは account abstraction(ERC-4337)の解説に委ねます。当面は、gas を賄えるよう口座に少し ETH を残しておいてください。

設計からして安い:L2 チェーンの gas

メインネットの手数料が高く感じられるなら、何もかもをそこで取引する必要はありません。同じ SSP の鍵一式でさまざまな EVM チェーンに届き、Polygon や Base のような L2 ネットワークやサイドチェーンははるかに安く——多くの場合 1 セントの何分の一か——です。重い処理をメインネットの外で行い、そこではブロック領域がはるかに希少でないからです。

モデルは同じで——gas はそのチェーン独自のネイティブ token で支払い、おおむね EIP-1559 風の価格設定が適用されます——が、絶対的な数字は比べものにならないほど小さいです。いつどう使うかは Polygon、Base、その他の EVM チェーンで SSP を使うを参照してください。

Bitcoin と Ethereum の手数料、手短に

Bitcoin から SSP に来た方なら、Ethereum の手数料モデルは似ているけれど別物だと感じるでしょう。どちらも希少なブロック領域に価格を付け、早く確定させるために多く払うことを認めますが、違いは何に対して払うかにあります。Bitcoin の手数料は取引のバイト数——ブロック内で占める大きさ——に基づき、1 バイトあたりの satoshi のレートで決まります。任意の計算がないので、gas limit も gas 不足による失敗もありません。Ethereum の手数料は計算作業に価格を付け、取引が何をするかによって変わり、その上に EIP-1559 の base fee とチップの構造を重ねます。Bitcoin 側については SSP における Bitcoin の手数料戦略を参照してください。

自己管理ユーザーのための実践的なヒント

  • 取引のタイミングを選ぶ。 急ぎでない送金なら、静かな時間帯を選ぶだけで費用をかなり抑えられます。
  • 共同署名の前に見積もりを確認する。 SSP は確認中に手数料を表示します。承認の前に両方のデバイスで目を通してください。
  • gas 用に ETH の余裕を持つ。 token だけの残高では自分の gas を払えないので、常に少しの ETH を——そして各 L2 チェーンでは正しいネイティブ token を——保持してください。
  • 合うときは L2 を使う。 頻繁な送金や少額の送金では、より安い EVM チェーンの方が、メインネットでタイミングを練るよりはるかに節約になります。
  • 詰まった取引で慌てない。 止まってしまった取引は、たいてい同じ nonce で送り直すことで高速化できます。

次に進む先

部品が見えれば gas は怖くなくなります。あなたは gas used × gas price を支払い、その価格は焼却される base fee に、あなたが操作できるチップを足したもので、失敗した取引でさえ行った作業の分はかかります。ここから先は SSP で Ethereum を送受信するで実践するか、Polygon、Base、その他の EVM チェーンで SSP を使うでより安い側を探ってみてください。どのチェーンにいても、SSP の原則は変わりません。2 つの鍵、1 つの署名、そして自分で制御できる手数料です。

この記事をシェアする

関連記事