コンテンツへスキップ
0%

EIP-1559とは?

Alchemy team headshot

執筆者 Alchemy

2022年5月3日 公開読了時間 3 分

ブロックチェーンは完璧ではありません。トランザクション数やユーザー数が時間とともに増加するにつれ、ネットワークへの新たな要求に対応する必要が生じます。改善には、ネットワークをより強靭に、より安全にする変更や、より良いユーザー・コミュニティ体験を提供するための変更が含まれます。

Ethereumプロトコルを改善するため、ユーザーはEthereum Improvement Proposals(EIP)と呼ばれる提案を作成できます。まずEIPとは何かを見て、その後EIP-1599についてより詳しく見ていきましょう。

Ethereum Improvement Proposalの3つのトラックとは

EIPは、Ethereumエコシステムの特定の側面のプロセスやデザインを改善するための提案です。EIPには3種類のトラックがあり、以下のいずれかに分類されます。

  • Standards
  • Meta
  • Informational

これから見ていくように、これらのトラックにはそれぞれ異なる用途があります。この3つのうち、Standards TrackはEthereumの実装の大部分に変更を加えるEIPのためのものです。後で詳しく取り上げるEIP-1559は、Standards trackのEIPの一例です。

Standards track

Standards Track内には、4つの異なるカテゴリのEIPがあります。

コアへの変更

Core改善は、Ethereumプロトコルのコア機能に対する変更です。これらの変更を実装するには、コンセンサスフォークが必要です。その一例がEIP-2929で、これは一連のopcodeのガスコストを増加させるものでした。

ネットワーク上のやり取りへの変更

Networking改善は、トランザクションの検証やコンセンサスなど、ネットワーク上のやり取りに対する変更です。EIP-2124はNetworking EIPの一例です。この提案は、「fork identifier」を作成することで、ノードが同じフォーク上で動作している他のノードを見つける時間を短縮し、ノード同士の識別方法を改善しました。

インターフェースへの変更

Interface EIPは、クライアントを操作する際の仕様に対する改善を対象としています。このカテゴリに該当する重要なEIPがEIP-2700です。このEIPは、オンチェーンで発生する状態変化をJavaScriptアプリケーションに通知するJavaScriptイベントエミッターオブジェクトを作成しました。

ERCはアプリケーションレベルの標準を提案する

Ethereum Request for Comments(ERC)EIPは、アプリケーションレベルの標準や規約を改善するための提案です。ERC EIPであるEIP-3156は、Ethereum上で単一アセットのフラッシュローンを行うための標準を作るために制定されました。このEIPが実装される前は、フラッシュローンを行うための標準がいくつも存在していました。このEIPの目的は、単一の標準を作ることでユーザーにシンプルさを提供し、技術的負債を減らすことです。

Metaトラックとinformationalトラック

EIPにはさらに2つのトラック、MetaInformationalがあります。

Metaはプロセスを変更する

これらのEIPは、特定のプロセスに対する変更を記録するものです。Standards Trackに属するEIPとは異なり、Ethereumのコードベースへの変更を必要としません。

Informationalはガイドラインを変更する

Informational EIPは、Ethereumに対する新機能を提案するものではありません。これらは、Ethereumコミュニティにガイドラインや情報を提供するためのものです。一例としてEIP-2228があり、これはEthereumの「Mainnet」という名称を固有名詞として定めたものです。これは、執筆者が「main net」や「mainnet」など異なる表記をしていたことによる混乱を防ぐためのものでした。

提案のプロセスはどのように機能するか

コミュニティメンバーであれば誰でもEIPを提案できます。これは、EIP Githubリポジトリに提案を提出することで行います。提出方法については、リポジトリ内に標準的なデザインとプロセスが記載されています。

EIPが提出された後は、以下のプロセスをたどります。

1)Draft - これは、まだ編集や変更が可能な公開されたEIPです。コミュニティメンバーは著者にフィードバックを提供し、そのEIPが実装しようとしている変更について議論できます。

2)Last Call - これは、EIPが委員会によるレビューの準備が整った段階です。レビューは、Ethereum財団やコミュニティのメンバーを含む編集者チームによって行われます。

3)Final - Core以外の提案については、技術的な変更が実装されます。Core提案については、Ethereum Core Devsが承認を送り、将来のハードフォークでの実装を計画します。

4)Deferred - Deferredとなった提案はレビューが行われ、将来の再検討のために保留とすることが決定されたものです。

EIP process Sourcehttps://blog.bitnovo.com/en/what-is-ethereum-improvements-proposals-eip/
EIP process Sourcehttps://blog.bitnovo.com/en/what-is-ethereum-improvements-proposals-eip/

EIPについての背景を押さえたところで、次はEIP-1559についてより詳しく見ていきましょう。

EIP-1559提案とは何か

EIP-1559は、ガス代の構成方法とマイナーへの報酬の与え方に変更を加えた提案です。この提案は、2021年8月5日にEthereumのLondon Hard Forkの一部として実装されました。

Field
Value

Author

Vitalik Buterin, Eric Conner, Rick Dudley, Matthew Slipper, Ian Norden, Abdelhamid Bakhta

Discussions-To

Status

Final

Type

Standards Track

Category

Core

Created

2019-04-13

Requires

2718, 2930

問題

Ethereumが抱える大きな課題の一つは、取引コストがユーザーの手が届かないほど高くならないような、スケーラブルなネットワークを提供することです。Ethereumの人気が高まるにつれ、トラフィックの増加によってネットワークは高度に混雑するようになりました。

この混雑によって、ユーザー同士がマイナーに自分のトランザクションをブロックに取り込んでもらうための「入札競争」が生じ、これはファーストプライスオークションのモデルとなっています。最も高い金額を提示した者のトランザクションが、最大の報酬を提供するためマイナーに取り上げられ、その他のトランザクションはmempoolに保留のまま残されます。

解決策

EIP-1559の目的は、トランザクションのbase feeを設定し、これらのトランザクションを保持するブロックサイズを増やすことで、ネットワーク上のトラフィックの流れを改善することです。ブロックサイズを増やすことで、より多くのトランザクションを追加できるようになり、その結果ユーザー間の金銭的な競争が減少します。

base feeへの変更

トランザクションのbase feeが導入されたことで、London Fork以前に存在した入札優先方式は廃止されました。base feeとは、マイナーによって次のブロックにトランザクションを追加してもらうために必要な額のことです。

このbase feeは、ブロックの空き容量に応じて時間とともに12.5%変動します。ブロックが50%以上埋まっている場合は12.5%増加し、ブロックが空である場合は12.5%減少します。50%の容量では変更は行われません。

EthereumがEIP-1559を実装した後も、トランザクションを優先させるオプションは依然として存在します。これは、ユーザーがトランザクションにpriority feeを追加することで行われ、これはマイナーへのチップとして機能します。ユーザーは、トランザクションにmax_priority_fee_per_gasを設定することで、支払う意思のある額の上限を示します。

マイナーがスパムトランザクションをブロックに含める(それによってbase feeが上昇する)インセンティブを取り除くため、EIPはバーンの仕組みも実装しています。ETHをバーンするとは、ETHを誰もアクセスできないウォレットに送ることで、使用可能なETHの供給量から除外することです。

トランザクションのbase feeは、そのブロックの現在の容量に基づいて決まり、ネットワークによってバーンされ、priority feeのみがマイナーに与えられます。EIP-1559以前は、マイナーがトランザクション手数料の全額を受け取っていました。

結果

直接的な目的ではなかったものの、EIP-1559の実装後、ユーザーはガス代の見積もりが容易になったことで、ガス代を節約できています。トランザクションも、EIP-1559導入前と比べて確認までの時間が短縮されています。日々のトランザクションでバーンされるETHの量は監視されています。このデータを見ることで、コミュニティはEIP-1559がマイナーの報酬、base fee、およびブロックあたりのトランザクション総数に与える影響を把握できます。

BLOCK
BURNED
TIPS
REWARDS
BASE FEE
PRIORITY FEE
GAS USED
TXN
AGE

14696917

0.5615 ETH

0.0354 ETH

2 ETH

44 GWEI

1 GWEI

12,776,101 (85%)

163 (93%)

36 sec ago

14696916

1.1706 ETH

0.1764 ETH

2 ETH

39 GWEI

2 GWEI

29,962,669 (200%)

286 (70%)

53 sec ago

14696915

0.0534 ETH

0.005 ETH

2 ETH

44 GWEI

4 GWEI

1,210,288 (8%)

9 (56%)

55 sec ago

14696914

0.363 ETH

0.0828 ETH

2 ETH

47 GWEI

2 GWEI

7,725,733 (52%)

88 (65%)

56 sec ago

14696913

0.3274 ETH

0.0165 ETH

2 ETH

51 GWEI

2 GWEI

6,472,229 (43%)

74 (89%)

1 min ago

結論

EIPは、プロトコルとしてのEthereum、そしてWeb3のリーダーとしてのEthereumの成長において重要な役割を果たしています。コミュニティがEthereumの方向性を提案し、影響を与えられるようにすることで、さまざまな規模の改善が多様に生まれます。EIP-1559はその実践例であり、Ethereumの将来に何が可能かを示しています。

EIP-1559トランザクションの送信・再試行方法や、Gas Fee Estimatorの構築方法については、EIP-1559 Resource and Tutorial Hubをご覧ください。

Background gradient

ブロックチェーンで魔法を生み出す

Alchemyは、最も強力なweb3開発者向けプロダクトとツールを、豊富なリソース、コミュニティ、そして卓越したサポートと組み合わせて提供します。