[論文レビュー] The Economics of Smart Contracts
この論文は、Ethereumのガスコストモデルにおける深刻な欠陥を特定している。SLOADなどの主要な命令の実行時間が、ブロックチェーンの長さに比例して増加する一方で、ガス料金は固定されている。著者たちは、Ethereumの歴史全体にわたる広範なインストルメンテーションを実施し、ブロック高を反映するパフォーマンスベースのガスモデルを提案。これにより実行コストの安定化とスマートコントラクト実行における増加する非効率の解消を実現する。
Ethereum is a distributed blockchain that can execute smart contracts, which inter-communicate and perform transactions automatically. The execution of smart contracts is paid in the form of gas, which is a monetary unit used in the Ethereum blockchain. The Ethereum Virtual Machine (EVM) provides the metering capability for smart contract execution. Instruction costs vary depending on the instruction type and the approximate computational resources required to execute the instruction on the network. The cost of gas is adjusted using transaction fees to ensure adequate payment of the network. In this work, we highlight the "real" economics of smart contracts. We show that the actual costs of executing smart contracts are disproportionate to the computational costs and that this gap is continuously widening. We show that the gas cost-model of the underlying EVM instruction-set is wrongly modeled. Specifically, the computational cost for the SLOAD instruction increases with the length of the blockchain. Our proposed performance model estimates gas usage and execution time of a smart contract at a given block-height. The new gas-cost model incorporates the block-height to eliminate irregularities in the Ethereum gas calculations. Our findings are based on extensive experiments over the entire history of the EVM blockchain.
研究の動機と目的
- Ethereumのスマートコントラクト実行における実際の実行時間とガスコストの間の増加する乖離を調査すること。
- 現在のガスコストモデルが、ブロックチェーンの成長に伴い実行時間が増加する主要なEVM命令(例:SLOADやSSTORE)のコストを適切に反映していないことを特定すること。
- ブロック高に基づいてガス使用量と実行時間を推定するパフォーマンスモデルを構築すること。
- ブロック高を組み込むことで、ガス単位あたりの実行時間のインフレーションを是正する、見直されたガスコストモデルを提言すること。
- とりわけ、近い将来のプルーフ・オブ・ステーク移行を踏まえた、Ethereumのスケーラビリティと経済的持続可能性を改善すること。
提案手法
- 著者たちは、Parity Ethereumクライアントに対してマクロおよびマイクロレベルのインストルメンテーションを実施し、Ethereumブロックチェーン全体(800万ブロックまで)における実行時間とガス使用量を測定した。
- EVM命令のガスあたり時間(time-per-gas)を分析し、特にSLOAD、SSTORE、CALLCODEに注目。ブロック高に伴い実行時間が増加する傾向を観察した。
- 任意のブロック高におけるスマートコントラクトのガス消費量と実行時間を推定するパフォーマンスモデルを構築した。
- 提案モデルは、異なるブロック高における平均的なコントラクト動作を模倣するための標準的スマートコントラクト抽象化を導入した。
- 特にSLOADのような状態アクセス命令のコストを、実際のリソース使用量を反映させるために、ブロック高に応じて調整することで、新しいガスコストモデルを構築した。
- 実データをEthereumメインネットから収集し、実証的検証を実施。状態に依存する操作において、一貫した時間の増加が確認された。
実験結果
リサーチクエスチョン
- RQ1なぜSLOADのようなEVM命令の実行時間が、固定されたガスコストのまま、時間の経過とともに増加するのか?
- RQ2現在のEthereumガスコストモデルが、実際の計算リソース使用量とどの程度ずれているのか?
- RQ3ブロックチェーンのサイズが、スマートコントラクトにおける状態アクセス操作のパフォーマンスにどのように影響するか?
- RQ4ブロック高認識ガスコストモデルは、ガス単位あたりの実行時間を安定化させ、経済的予測可能性を向上させることができるか?
- RQ5この誤定価は、プルーフ・オブ・ステーク移行を想定した場合に、Ethereumの長期的スケーラビリティとセキュリティにどのような影響を及ぼすか?
主な発見
- SLOAD命令の実行時間は、ブロックチェーン長に伴い顕著に増加しており、100万ブロックから800万ブロックにかけて最大で200%の増加を示した。
- SSTORE命令についても、時間の経過に伴い測定可能な実行時間の増加が観察されたが、SLOADほど顕著ではなかった。
- SLOADのガスあたり時間比は一定ではなく、ブロック高に伴い増加しており、これは現在のガスコストモデルに根本的な欠陥があることを示している。
- 現在のガスコストモデルは、状態アクセスコストの増加を適切に反映していないため、ガス単位あたりの実行時間の非比例的増加を引き起こしている。
- 提案されたブロック高認識ガスモデルは、ガス単位あたりの実行時間を安定化させ、インフレーション的傾向を解消した。
- 本研究は、ストレージ操作がパフォーマンス劣化の主因であることを確認した一方で、CPU使用率はガスコストと弱い相関を示した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。