はじめに

初めまして。 CryptoGamesというブロックチェーンゲーム企業でエンジニアをしている cardene(かるでね) です! スマートコントラクトを書いたり、フロントエンド・バックエンド・インフラと幅広く触れています。

代表的なゲームはクリプトスペルズというブロックチェーンゲームです。

今回は、EthereumにおけるEXP命令のガスコスト改訂を提案しているEIP160についてまとめていきます!

以下にまとめられているものを翻訳・要約・補足しながらまとめていきます。

他にも様々なEIPについてまとめています。

パラメータ

  • FORK_BLKNUM
    • 2,675,000
  • CHAIN_ID
    • 1

仕様

「block.number >= FORK_BLKNUM」という条件の下で、EXP命令(指数計算を行う命令)のガスコスト(実行コスト)を変更することを提案しています。 具体的には、ブロック番号がFORK_BLKNUM以上になった場合、EXP命令のガスコストを「10 + 指数部のバイトあたり10」から「10 + 指数部のバイトあたり50」へと増加させるという内容です。

ここでの「block.number」とは、ブロックチェーン上での特定のブロックの番号を指します。 ブロックチェーンは、連続するブロックのチェーンで構成されており、各ブロックには一意の番号が割り当てられています。

「FORK_BLKNUM」とは、ブロックチェーンのネットワーク上で特定のアップデートが適用されるブロックの番号を指します。 この番号に達すると、ネットワークは新しいルールに従って動作するようになります。

この提案の背景には、EXP命令の現在のガスコストがその処理に必要なリソースに比べて低く設定されているという問題があります。 指数計算は計算量が多いため、ネットワークのリソースを相応に消費します。 そのため、ガスコストを増加させることで、命令の実行にかかるコストをより適切に反映させようとしています。 これにより、ネットワークの過負荷を防ぐとともに、よりセキュアで効率的なネットワーク運用を目指しているのです。

EXPについては以下の記事を参考にしてください。

補足

ブロックチェーンにおけるEXP命令のガスコストに関するベンチマーク(性能評価)の結果について述べています。 「EXP命令は現在、本来あるべき価格の約4~8分の1に過小評価されている」と述べられています。

ブロックチェーンにおいて、EXP命令は指数計算を行うための命令です。 ブロックチェーンのトランザクションでは、各命令の実行には「ガス」と呼ばれる単位を使用してコストを計算して消費します。 このガスコストは、ネットワーク上でのトランザクションの処理負荷に対する料金として機能します。

ベンチマークとは、コンピューターシステムやプログラムの性能を評価するテストのことです。 ベンチマークの結果は、EXP命令の現在のガスコストが、実際に必要とされるリソースや処理能力と比較してかなり低く設定されていることを示しています。 つまり、EXP命令を使用することによるネットワークへの影響や負担が、現在のガスコストでは適切に反映されていないということです。

これは、ネットワークのセキュリティや効率に影響を及ぼす可能性があります。 コストが過小評価されていると、その命令が過度に使用され、結果的にネットワークの過負荷やセキュリティリスクを招く恐れがあります。 そのため、この情報はEXP命令のガスコストを再評価し、調整する必要があることを示唆しています。

参考

引用

Vitalik Buterin (@vbuterin), "EIP-160: EXP cost increase," Ethereum Improvement Proposals, no. 160, October 2016. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-160.

最後に

今回は「EthereumにおけるEXP命令のガスコスト改訂を提案しているEIP160」についてまとめてきました! いかがだったでしょうか?

質問などがある方は以下のTwitterのDMなどからお気軽に質問してください!

他の媒体でも情報発信しているのでぜひ他も見ていってください!