💨

Ethreumにおけるガス(Gas)の仕組み(EIP1559)

2023/12/24に公開

Gasのイメージ

ブロックチェーンは電気の通っていない「自動販売機」のようなものだと考えられます。その自動販売機で飲み物を購入するためには、①電気を供給する、②飲み物を購入するという操作をする必要があります。この電気がガスの概念に近いと思っています。

トランザクションにおけるGas代の決定の歴史

ファーストプライスオークション (2021年8月4日以前)

ユーザーの設定できる項目はGas Priceのみを設定することができるので、ミンター(txをブロックに入れる人)は基本的にGas Priceが高い順に採用してミントしていくことになります。

メリット

  • ユーザーの設定が簡単

デメリット

  • 混雑具合によるガス代の相場をユーザーが理解しないといけないため、手数料の過払いやGas Priceが低すぎて再度トランザクションを送る必要が出る。

EIP1559 (2021年8月4日以降)

ファーストプライスオークションの問題点は「ブロックチェーンの混雑具合と手数料をまとめて指定しないといけない」ことでした。そのため、混雑具合によるガス代(Base Fee)と手数料(Priority Fee)を分けることでユーザーが手数料を大幅に払わないようにしました。

メリット

  • ユーザーの過払いが減る
  • ユーザーのtxの送り直しが減る

デメリット

  • ミンターの収益が減る

EIP1559の仕組み

EIP1559では、以下の概念が新しく生まれました。

  • Base Fee Per Gas
  • Priority Fee Per Gas
  • Max Fee Per Gas

ユーザーが設定できるのは、以下の2つ
①Max Priority Fee Per Gas
②Max Fee Per Gas

EIP1559によるガス代の決まり方

①Base Fee Per Gasの決定

Base Fee Per Gasは、混雑具合によって上下12.5%で振れます。

②確定

Base Fee Per Gas + Priority Fee Per Gasと、Max Fee Per Gasで、小さい方がそのtxのガス代として決まります。

このことから、ユーザーの設定する①Max Priority Fee Per Gasは、どのくらい急いで入れたいかを決めるアクセルの役割を、Max Fee Per Gasはとはいえ、この金額ならやめておきたいブレーキの役割を担っていると思います。

応用:絶対に入れたいtxの作り方

このことから、Base Fee Per GasとPriority Fee Per GasをMax Fee Per Gasにすることで、実質的にブレーキを効かない状態にすることができるので、ほぼtxが通るようになります(急いで入れたい場合は、Priority Fee Per Gasをめちゃくちゃ高くするなどの方法もあり)

Discussion