Ethereum introduced Transaction Access Lists (TALs) in 2020 to optimize gas costs during transaction execution. In this work, we present a comprehensive analysis of TALs in Ethereum, focusing on adoption, quality, and gas savings. Analyzing a full month of mainnet data with 31,954,474 transactions, we found that only 1.46% of transactions included a TAL, even though 42.6% of transactions would have benefited from it. On average, access lists can save around 0.29% of gas costs, equivalent to approximately 3,450 ETH (roughly US$ 5 Mio) per year. However, 19.6% of TALs included by transactions contained imperfections, causing almost 11.8% of transactions to pay more gas with TAL than without. We find that these inaccuracies are caused by the unknown state at the time of the TAL computation as well as imperfect TAL computations provided by all major Ethereum clients. We thus compare the gas savings when calculating the TAL at the beginning of the block vs. calculating it on the correct state, to find that the unknown state is a major source of TAL inaccuracies. Finally, we implement an ideal TAL computation for the Erigon client to highlight the cost of these flawed implementations.
翻译:以太坊于2020年引入交易访问列表(TALs),以优化交易执行过程中的Gas成本。本文对以太坊中TALs进行了全面分析,重点关注其采用率、质量及Gas节省效果。通过分析包含31,954,474笔交易的整月主网数据,我们发现仅有1.46%的交易使用了TAL,尽管42.6%的交易本可从中受益。平均而言,访问列表可节省约0.29%的Gas成本,相当于每年约3,450 ETH(约合500万美元)。然而,19.6%包含TAL的交易存在缺陷,导致近11.8%的交易使用TAL后反而支付了更多Gas。我们发现这些不准确性的根源在于TAL计算时状态未知,以及所有主流以太坊客户端提供的TAL计算存在缺陷。为此,我们对比了在区块开始时计算TAL与基于正确状态计算TAL的Gas节省差异,发现状态未知是造成TAL不准确的主要因素。最终,我们在Erigon客户端中实现了理想的TAL计算方案,以揭示这些缺陷实现带来的成本。