
#3 Optimism and EIP-1559
EIP-1559 is well-known as a standard related to Ethereum's gas fees. This fee system is also often applied to other EVM chains. Optimism, an EVM-equivalent chain that aims to eventually be equivalent to Ethereum, has implemented a gas fee system based on EIP-1559 with its recent Bedrock upgrade. Additionally, this blog article announces that Optimism will execute the Canyon hard fork. This hard fork plans to apply EIPs included in Ethereum's Shanghai hard fork, and also make changes...
Special Edition #1: The Benefits of Being Optimistic (Paper Review)
The phrase "Stay Optimistic🔴✨" represents Optimism values an optimistic attitude. Indeed, this phrase is also written at the end of The Optimistic Vision, and it frequently concludes other important documents. So, what are the benefits of being optimistic? Today, I will review the paper by Scheier and Carver, "On the Power of Positive Thinking: The Benefits of Being Optimistic." This paper consists of five pages. The paper cites several other experimental results and sources. This is a summa...

#2 RetroPGFの紹介: Optimismエコシステムにおける公共財の未来
前回のブログ記事では、公共財に焦点を当てました。ブロックチェーンのエコシステムでは、多くのプロジェクトが公共財として価値を提供していながらも、持続可能性に課題を抱えています。これを解決するには、公共財を維持管理する主体に必要なものを供給する仕組みである「税」の仕組みが必要です。前回のブログ記事はこちらでご覧いただけます。 https://mirror.xyz/hashigo%F0%9F%94%B4.eth/J_wJbzIqqd_6y7gyO5I2wEfquE0ZMfkA3zQfbTAusfU 今回のブログ記事では、RetroPGFについて踏み込んで取り上げます。RetroPGFとはRetroPGFは、新しいデジタル民主主義のガバナンスモデルであるOptimism Collectiveの考えを具体化したプログラムです。健全な公共財と、価値あるエコシステムを創造するために執り行われています。価値の流れRetroPGFでは、Optimismのエコシステムに対し、impactを残した公共財プロジェクトに対し遡及的に評価を行い、資金提供を行います。このコンセプトの原理は単純であり、将来どん...
A blog series about Optimism

#3 Optimism and EIP-1559
EIP-1559 is well-known as a standard related to Ethereum's gas fees. This fee system is also often applied to other EVM chains. Optimism, an EVM-equivalent chain that aims to eventually be equivalent to Ethereum, has implemented a gas fee system based on EIP-1559 with its recent Bedrock upgrade. Additionally, this blog article announces that Optimism will execute the Canyon hard fork. This hard fork plans to apply EIPs included in Ethereum's Shanghai hard fork, and also make changes...
Special Edition #1: The Benefits of Being Optimistic (Paper Review)
The phrase "Stay Optimistic🔴✨" represents Optimism values an optimistic attitude. Indeed, this phrase is also written at the end of The Optimistic Vision, and it frequently concludes other important documents. So, what are the benefits of being optimistic? Today, I will review the paper by Scheier and Carver, "On the Power of Positive Thinking: The Benefits of Being Optimistic." This paper consists of five pages. The paper cites several other experimental results and sources. This is a summa...

#2 RetroPGFの紹介: Optimismエコシステムにおける公共財の未来
前回のブログ記事では、公共財に焦点を当てました。ブロックチェーンのエコシステムでは、多くのプロジェクトが公共財として価値を提供していながらも、持続可能性に課題を抱えています。これを解決するには、公共財を維持管理する主体に必要なものを供給する仕組みである「税」の仕組みが必要です。前回のブログ記事はこちらでご覧いただけます。 https://mirror.xyz/hashigo%F0%9F%94%B4.eth/J_wJbzIqqd_6y7gyO5I2wEfquE0ZMfkA3zQfbTAusfU 今回のブログ記事では、RetroPGFについて踏み込んで取り上げます。RetroPGFとはRetroPGFは、新しいデジタル民主主義のガバナンスモデルであるOptimism Collectiveの考えを具体化したプログラムです。健全な公共財と、価値あるエコシステムを創造するために執り行われています。価値の流れRetroPGFでは、Optimismのエコシステムに対し、impactを残した公共財プロジェクトに対し遡及的に評価を行い、資金提供を行います。このコンセプトの原理は単純であり、将来どん...
A blog series about Optimism

Subscribe to hashigo

Subscribe to hashigo
Share Dialog
Share Dialog
<100 subscribers
<100 subscribers


EIP-1559は、Ethereumのガス料金に関わる規格として有名です。そして、この料金システムは他のEVMチェーンにも適用されているのをよく見かけます。
EVM等価であり、ゆくゆくはEthereum等価を目指しているOptimismでは、先のBedrockアップグレードを以ってEIP-1559に基づくネットワーク手数料システムが適用されました。
ところで、OptimismはCanyonハードフォークを実施することがこのブログ記事で発表されました。このハードフォークでは、Ethereumで実施されたShanghaiハードフォークに含まれていたEIPsの適用の他、EIP-1559に関するパラメータを変更することなどが予定されています。
この記事では、EIP-1559の仕様を簡単におさらいし、このパラメータ変更が具体的にどう影響を及ぼすのかを理解できるようになることをゴールとしています。
ブロックごとの固定ネットワーク手数料を焼却するトランザクション価格メカニズムで、一時的な混雑に対処するためにブロックサイズを動的に拡大縮小します。
EIP-1559: Fee market change for ETH 1.0 chainより引用・翻訳
EIP-1559を実装する前は、ユーザは自身が提出するトランザクションに、ガス価格を設定して提出していました。そして、トランザクションの実行により実際に支払われるトランザクション手数料は、消費したガスとガス価格の積で算出されます。
そして、マイナーは高いガス価格をつけたトランザクションから順番に実行することで、利益を最大化することができます(注)。もちろん、明らかに安いガス価格をつけたトランザクションを実行することはプロトコルで禁止されていませんでした。
しかし、この仕様はUX面において主に以下の2つの問題を抱えていました。
ユーザが支払うガス代の変動が大きくなりやすい。
トランザクションが承認されるまでに時間がかかりやすい。
Ethereumはブロックサイズがすべて同じであり、それらブロックが満杯になるほど需要があるので、このような問題が発生してしまいます。これに対処するために導入されたのが、一時的な需要の変動を、ブロックの容量を変動させて吸収するという考えです。
注: この記述は正確には誤りなのですが、本ブログ記事はアルゴリズムを解説する記事ではないので扱いません。
EIP-1559で特徴的なパラメータはbase feeです。Ethereumのブロックに目標容量を定め、あるブロックが目標容量を上回った場合には次のブロックのbase feeは増加し、下回った場合には減少します。そして、トランザクションが指定するガス価格が、あるブロックのbase feeを下回った場合には、そのトランザクションはそのブロックで実行されません。base feeは焼却され、誰も受け取ることができなくなります。

また、トランザクションにはpriority feeというパラメータを指定することが求められます。これは、(当時の)マイナーが受け取る分のガス価格を指定するものです。
以上の仕様から、ユーザはガス価格を十分大きい値に設定し、priority feeを少額(The Merge後は0.1 Gwei程度)設定すれば、ネットワークが適切なガス価格を設定しながらも、迅速にトランザクションを処理することが可能となります。このときのガス価格は、base feeとpriority feeの和です。
冒頭述べた通り、OPメインネットもEIP-1559に基づく料金システムを採用しています。しかし、いくつかのパラメータが異なります。その違いは、このドキュメントに記されています。

Block gas limitはブロックの最大容量、Block gas targetはブロックの目標容量です。この2つの比は、EIP-1559 elasticity multiplierというパラメータで表現されています。Ethereumはこの値が2であるのに対して、OPメインネットは6ですね。この様子を模式図で表すと、以下のようになります。

そして、EIP-1559 denominatorは、次のブロックのbase feeの変動の大きさに関わるパラメータです。これとEIP-1559 elasticity multiplierから、Maximum base fee increase (per block)とMaximum base fee decrease (per block)を算出することができます。つまり、1ブロック当たりbase feeは最大何倍まで増加または減少しうるかを求めることができるということですね。この計算の例を次に示します。
まず、Ethereumの計算例を示します。EthereumのEIP-1559 denominatorの値は8なので、逆数と取って1/8=0.125となります。ブロックが目標容量を下回ったら次のブロックのbase feeは減少するので、Maximum base fee decrease (per block)はそのまま0.125·1=12.5%です。そして、EIP-1559 elasticity multiplierは2であり、ブロックが目標容量を上回った場合には次のブロックのbase feeは増加することを考えると、Maximum base fee increase (per block)は0.125·(2-1)=12.5%です。
次に、OPメインネットの計算例を示します。EthereumのEIP-1559 denominatorの値は50なので、逆数と取って1/50=0.02となります。ブロックが目標容量を下回ったら次のブロックのbase feeは減少するので、Maximum base fee decrease (per block)はそのまま0.02·1=2%です。そして、EIP-1559 elasticity multiplierは6であり、ブロックが目標容量を上回った場合には次のブロックのbase feeは増加することを考えると、Maximum base fee increase (per block)は0.02·(6-1)=10%です。
このように、EIP-1559 denominatorの値が大きいと、base feeの変動は穏やかになるようです。しかし、OPメインネットのブロック生成間隔は2秒と、Ethereumのそれよりも1/6であることから、ブロックスペースの需要が高いときの単位時間あたりのbase feeの増加速度はとても速くなります。
もし1分間、ブロックの容量がすべて使用された場合、Ethereumの場合はbase feeが1.8倍になるだけですが、OPメインネットの場合は17倍以上です。これにより、一時的に急激に需要が高まったときに提出されたトランザクションが詰まる事態が発生しやすくなっていました。
そこでCanyonハードフォークでは、EIP-1559 denominatorを50から250に増やします。250の逆数を取ると、0.004ですね。このとき、Maximum base fee decrease (per block)は0.004·1=0.4%となり、Maximum base fee increase (per block)は0.004·(6-1)=2%となります。もし1分間、ブロックの容量がすべて使用された場合、base feeは1.8倍となります。これは、Ethereumとほとんど同じ値であることがわかります。パラメータは違えど、UX面ではよりEthereumに近づいたという評価をすることもできるでしょう。
このブログ記事では、OptimismがEIP-1559に基づく料金システムを採用し、どのようにEthereumのシステムに似た仕組みを取り入れているかを見てきました。CanyonハードフォークによるEIP-1559のパラメータ変更は、OPメインネットのガス料金の安定性を高めることを目的としています。これにより、ネットワークの混雑時にもbase feeの増加が抑えられ、ユーザー体験が向上することが期待できるでしょう。
Introducing the Canyon Hardfork, https://blog.oplabs.co/canyon-hardfork/ .
Vitalik Buterin, Eric Conner, Rick Dudley, et al.,”EIP-1559: Fee market change for ETH 1.0 chain”, 2019, https://eips.ethereum.org/EIPS/eip-1559 .
Bedrock Differences, https://community.optimism.io/docs/developers/bedrock/differences/# .
※Optimismの公式リソースに関しては、著者の記載を省略しています。
EIP-1559は、Ethereumのガス料金に関わる規格として有名です。そして、この料金システムは他のEVMチェーンにも適用されているのをよく見かけます。
EVM等価であり、ゆくゆくはEthereum等価を目指しているOptimismでは、先のBedrockアップグレードを以ってEIP-1559に基づくネットワーク手数料システムが適用されました。
ところで、OptimismはCanyonハードフォークを実施することがこのブログ記事で発表されました。このハードフォークでは、Ethereumで実施されたShanghaiハードフォークに含まれていたEIPsの適用の他、EIP-1559に関するパラメータを変更することなどが予定されています。
この記事では、EIP-1559の仕様を簡単におさらいし、このパラメータ変更が具体的にどう影響を及ぼすのかを理解できるようになることをゴールとしています。
ブロックごとの固定ネットワーク手数料を焼却するトランザクション価格メカニズムで、一時的な混雑に対処するためにブロックサイズを動的に拡大縮小します。
EIP-1559: Fee market change for ETH 1.0 chainより引用・翻訳
EIP-1559を実装する前は、ユーザは自身が提出するトランザクションに、ガス価格を設定して提出していました。そして、トランザクションの実行により実際に支払われるトランザクション手数料は、消費したガスとガス価格の積で算出されます。
そして、マイナーは高いガス価格をつけたトランザクションから順番に実行することで、利益を最大化することができます(注)。もちろん、明らかに安いガス価格をつけたトランザクションを実行することはプロトコルで禁止されていませんでした。
しかし、この仕様はUX面において主に以下の2つの問題を抱えていました。
ユーザが支払うガス代の変動が大きくなりやすい。
トランザクションが承認されるまでに時間がかかりやすい。
Ethereumはブロックサイズがすべて同じであり、それらブロックが満杯になるほど需要があるので、このような問題が発生してしまいます。これに対処するために導入されたのが、一時的な需要の変動を、ブロックの容量を変動させて吸収するという考えです。
注: この記述は正確には誤りなのですが、本ブログ記事はアルゴリズムを解説する記事ではないので扱いません。
EIP-1559で特徴的なパラメータはbase feeです。Ethereumのブロックに目標容量を定め、あるブロックが目標容量を上回った場合には次のブロックのbase feeは増加し、下回った場合には減少します。そして、トランザクションが指定するガス価格が、あるブロックのbase feeを下回った場合には、そのトランザクションはそのブロックで実行されません。base feeは焼却され、誰も受け取ることができなくなります。

また、トランザクションにはpriority feeというパラメータを指定することが求められます。これは、(当時の)マイナーが受け取る分のガス価格を指定するものです。
以上の仕様から、ユーザはガス価格を十分大きい値に設定し、priority feeを少額(The Merge後は0.1 Gwei程度)設定すれば、ネットワークが適切なガス価格を設定しながらも、迅速にトランザクションを処理することが可能となります。このときのガス価格は、base feeとpriority feeの和です。
冒頭述べた通り、OPメインネットもEIP-1559に基づく料金システムを採用しています。しかし、いくつかのパラメータが異なります。その違いは、このドキュメントに記されています。

Block gas limitはブロックの最大容量、Block gas targetはブロックの目標容量です。この2つの比は、EIP-1559 elasticity multiplierというパラメータで表現されています。Ethereumはこの値が2であるのに対して、OPメインネットは6ですね。この様子を模式図で表すと、以下のようになります。

そして、EIP-1559 denominatorは、次のブロックのbase feeの変動の大きさに関わるパラメータです。これとEIP-1559 elasticity multiplierから、Maximum base fee increase (per block)とMaximum base fee decrease (per block)を算出することができます。つまり、1ブロック当たりbase feeは最大何倍まで増加または減少しうるかを求めることができるということですね。この計算の例を次に示します。
まず、Ethereumの計算例を示します。EthereumのEIP-1559 denominatorの値は8なので、逆数と取って1/8=0.125となります。ブロックが目標容量を下回ったら次のブロックのbase feeは減少するので、Maximum base fee decrease (per block)はそのまま0.125·1=12.5%です。そして、EIP-1559 elasticity multiplierは2であり、ブロックが目標容量を上回った場合には次のブロックのbase feeは増加することを考えると、Maximum base fee increase (per block)は0.125·(2-1)=12.5%です。
次に、OPメインネットの計算例を示します。EthereumのEIP-1559 denominatorの値は50なので、逆数と取って1/50=0.02となります。ブロックが目標容量を下回ったら次のブロックのbase feeは減少するので、Maximum base fee decrease (per block)はそのまま0.02·1=2%です。そして、EIP-1559 elasticity multiplierは6であり、ブロックが目標容量を上回った場合には次のブロックのbase feeは増加することを考えると、Maximum base fee increase (per block)は0.02·(6-1)=10%です。
このように、EIP-1559 denominatorの値が大きいと、base feeの変動は穏やかになるようです。しかし、OPメインネットのブロック生成間隔は2秒と、Ethereumのそれよりも1/6であることから、ブロックスペースの需要が高いときの単位時間あたりのbase feeの増加速度はとても速くなります。
もし1分間、ブロックの容量がすべて使用された場合、Ethereumの場合はbase feeが1.8倍になるだけですが、OPメインネットの場合は17倍以上です。これにより、一時的に急激に需要が高まったときに提出されたトランザクションが詰まる事態が発生しやすくなっていました。
そこでCanyonハードフォークでは、EIP-1559 denominatorを50から250に増やします。250の逆数を取ると、0.004ですね。このとき、Maximum base fee decrease (per block)は0.004·1=0.4%となり、Maximum base fee increase (per block)は0.004·(6-1)=2%となります。もし1分間、ブロックの容量がすべて使用された場合、base feeは1.8倍となります。これは、Ethereumとほとんど同じ値であることがわかります。パラメータは違えど、UX面ではよりEthereumに近づいたという評価をすることもできるでしょう。
このブログ記事では、OptimismがEIP-1559に基づく料金システムを採用し、どのようにEthereumのシステムに似た仕組みを取り入れているかを見てきました。CanyonハードフォークによるEIP-1559のパラメータ変更は、OPメインネットのガス料金の安定性を高めることを目的としています。これにより、ネットワークの混雑時にもbase feeの増加が抑えられ、ユーザー体験が向上することが期待できるでしょう。
Introducing the Canyon Hardfork, https://blog.oplabs.co/canyon-hardfork/ .
Vitalik Buterin, Eric Conner, Rick Dudley, et al.,”EIP-1559: Fee market change for ETH 1.0 chain”, 2019, https://eips.ethereum.org/EIPS/eip-1559 .
Bedrock Differences, https://community.optimism.io/docs/developers/bedrock/differences/# .
※Optimismの公式リソースに関しては、著者の記載を省略しています。
No activity yet