EIP-7928 Breakout #7, Nov 19, 2025

Agenda

Date/Time: Wednesday, Nov 19, 2025 – 14:00 UTC
Location: Zoom, livestreamed on YouTube

Discussion:

  • Update on gas used values in BAL (rejected)
  • Syncing and BALs (pruning?)
  • BALs metrics and tracer
  • BALs in logs
  • BAL reads/state locations with tx_index(?)
  • Client and devnet updates

Meeting Time: Wednesday, November 19, 2025 at 14:00 UTC (60 minutes)

GitHub Issue

Meeting Summary:

The team discussed synchronization strategies and metrics for Block Access Lists (BALs), including their duration for SnapSync support and logging approaches for different issues. They reviewed progress on BAL implementation across various clients and discussed testing strategies, with teams working on fixing faulty tests and implementing stateful computation backgrounds. The team also explored the implementation of read indices for transactions and discussed performance testing approaches, including the creation of devnets to measure state location usage and its impact on performance.

Click to expand detailed summary

The team discussed the handling of Block Access Lists (BALs) and their synchronization strategies. They agreed to keep BALs around for a period of about two weeks to support SnapSync, with Jared explaining that the duration would depend on the node’s sync speed. The team also discussed metrics for BALs, with Toni noting that while Katya had proposed metrics, implementation was still pending, and the team decided to prioritize getting clients running smoothly over implementing metrics in devnet0.

The team discussed logging strategies for block access list (BAL) issues, agreeing to focus on printing diffs rather than full logs to make testing easier. They decided that for ordering differences, they would implement a generic error message in the logs rather than detailed BAL diffs, as the ordering issue might not be the primary problem. The team also noted that for other BAL issues, they would include exception information in the logs.

The team discussed progress on implementing block access list functionality across different clients, with Jared noting complexity in Geth’s code path and Karim confirming successful implementation on Besu. Toni requested Stefan to document the implementation in the BlockTime Access List Discord channel, and the team reviewed testing progress, with Redside fixing 40 faulty tests and Besu having a first version of stateful computation background working. The discussion concluded with a debate about testing state locations in Nethermind, with client teams favoring inclusion for parallel I/O benefits, though concerns were raised about the increasing data size at higher gas limits.

The team discussed implementing read indices (RIs) for transactions, with Łukasz proposing a heuristic approach to include RIs for transactions with a certain number of reads. Toni expressed concerns about adding additional data to already heavy blocks, but Łukasz argued that RIs could help alleviate I/O bottlenecks. Ben pointed out that RIs need locations and cannot be overlapped with transaction execution. The team debated the complexity of adding transaction indices to RIs and agreed to wait for benchmarking data before making a decision. Łukasz mentioned ongoing experiments by Camille and Carlos to test large blocks, which could provide valuable performance metrics for future implementation.

The team discussed performance testing for block access lists and state locations. They agreed to create a devnet with a flag to turn off state location usage, to measure the impact of state locations on performance. Toni summarized the key decisions: keeping some BALs for SnapSync, adding state location usage flags to devnets, and having all client teams include DIVs in logs for testing. The team also discussed the need for more detailed performance measurements, particularly around transaction indices and state location usage.

Next Steps:

  • All client teams: Bring up SnapSync and BAL retention discussion in the next Breakout call in two weeks to confirm decisions
  • All client teams: Implement logging of diffs to make testing easier
  • Stefan: Drop a message in the Block Access List Discord about the debug_traceBlock call implementation requirements for client teams to reference
  • Jared : Continue working on implementing generated block access lists in the debug_traceBlock call
  • draganrakita : Add endpoint for debug_traceBlock if not already present
  • Łukasz: Ask Camille and Carlos for the link to their presentation on combining mainnet payloads into large blocks and share in Block Access List Breakout channel or via DM
  • All client teams: Implement a flag to enable/disable using state locations to benchmark performance differences for devnet zero/one
  • Jared : Implement flag to disable asynchronous loading of read locations and transaction parallelization for benchmarking
  • All client teams: Focus on getting benchmarking numbers for blocks with at least 300 million gas limit to determine value of state locations

Recording Access:

YouTube Stream Links:

1 Like