Analyze how changes to the gas cost schedule in state expiry will effect existing contracts
Opened this issue · 4 comments
State expiry is going to modify the gas schedule such that some things become more expensive and some things become cheaper.
https://notes.ethereum.org/@vbuterin/witness_gas_cost_2
It would be good to analyze how this will effect popular contracts. (see state expiry call recording). The exact methodology for how to do this analysis would need to be figured out, but it would likely involve running modified client code to export this data. It might be possible to use the transaction tracing APIs to get the necessary data from block execution to do this without client modifications.
Worth linking to this call where a team already did some level of prior work on this: https://www.youtube.com/watch?v=HipI3vCd8_Q
@sevkibaba if you want to use tracing api to export internal transactions, these links should be helpful :
https://github.com/blockchain-etl/ethereum-etl, https://evgemedvedev.medium.com/ and https://cloud.google.com/blog/products/data-analytics/ethereum-bigquery-how-we-built-dataset.
You can find the Google public Bigquery dataset bigquery-public-data:crypto_ethereum they published. It contains almost all data exported from Geth including tracing data. Maybe you can use it to do some analysis directly.
Thanks, @alexchenzl, these are great resources.
I heard about the public dataset and checked it out, they have updated it to bigquery-public-data:crypto_ethereum.<contracts>
.
Definitely, we can do analysis in BigQuery for the existing data, but we need a methodology for state expiry analysis as @pipermerriam mentioned. As I understand from the previous study and from my readings, there is a part that reduces the price, and it is already deployed. And the remaining development will only increase the prices with the specs linked above, also please see my notes again. Is there anybody to confirm that or disprove with some resources?
I will look at how to decode the bytecode and dive through the ethereum-etl
repo in the meantime.