Chains

MAIN CHAINS

BNB Smart Chain

Fast. Affordable. EVM-Compatible

BNB Beacon Chain

Sunset Complete

BNB ecosystem’s staking & governance layer

SHAPE THE CHAIN

Staking

Earn rewards by securing the network

DocumentationFaucetBscScanBSCTraceDocumentationFaucetBridgeopBNBScanDocumentationFaucetBridgeGreenfieldScanDCellarLearn more about FusionToken Recovery ToolBeacon Chain ExplorerNative StakingLiquid Staking

Build

GET STARTED

Submit dApps

Explore

Accelerate

See All Programs

Connect

Join us

Careers🔥

Explore Opportunities on BNB Chain

BNB Chain CareersEcosystem Jobs

Boosting BNB Smart Chain Performance with Block Access List

2025.12.11  •  4 min read
Blog post image.

As BNB Smart Chain (BSC) continues to scale and transaction volume grows, improving the EVM's performance is critical. A significant recent improvement is the introduction of the Block Access List, a feature designed to enhance efficiency and throughput.

What is the Block Access List (BAL)?

The BALis a new structure added to blocks that significantly improves how the EVM handles state access. In essence, it is a pre-computation of all the storage slots and addresses that a transaction will read from or write to during its execution within a block.

Before BAL, the EVM would execute transactions and determine the necessary state reads and writes dynamically. While functional, this method introduced inefficiencies, particularly in how nodes fetched and validated the state.

How BAL Improves EVM Performance

The introduction of BAL provides several key performance advantages:

1. Reduced Latency and Improved Parallelization

With the access list included in the block body, nodes can immediately fetch the required state data before the transaction is even executed which significantly reduces execution latency. Furthermore, knowing the required state allows for better parallelization of transaction execution, as dependencies are clearer, leading to faster block processing times.

2. Enhanced State Pre-fetching

BAL acts as a highly effective hint for state pre-fetching. Validators can use this list to load all necessary data from the database into memory ahead of time. This minimizes disk I/O bottlenecks during the critical path of block validation and execution.

3. Simplified Block Reorgs

Block reorganizations (reorgs) require validators to rewind and re-execute transactions. By explicitly listing the accessed state, BAL helps streamline this process by making it easier to determine the exact state delta for rollback and re-application, accelerating recovery after a reorg.

The Implementation On BSC

The BAL has been integrated into BSC through the implementation of BEP-592. Separately, benchmark testing has been completed in our labs for the proposed EIP-7928 implementation. The testing results for both can be reviewed, and ultimately, the EIP-7928 BAL implementation will be deployed on BSC to supersede BEP-592.

1. BEP-592: Non-Consensus Based Block-Level Access List

This implementation focuses on providing the benefits of BAL to local node execution without requiring a change to the core consensus mechanism. It enables nodes to utilize the access list for pre-fetching and parallelization internally, providing significant speed-ups for validation and block processing times.

Note: BEP-592 has been fully supported in the latest BSC release, delivering immediate performance benefits to validators and node operators.

2. EIP-7928 Implementation on BSC

The EIP-7928 proposal aims to standardize the BAL structure across the EVM ecosystem. While BSC is enabling the spirit of EIP-7928 to align with future EVM standards, its current implementation deviates slightly from the proposed specification regarding how the BAL is strictly kept and used.

The main difference lies in the integration point within the block structure:

  • EIP-7928 Specification: Proposes adding the BAL hash directly into the block header. This makes the BAL a consensus-critical field that must be verified by all nodes as part of the block header's validation hash.
  • Current BSC Implementation (Interim Step): The BAL information is currently being kept and utilized primarily within the block body (or as a supplementary structure) alongside the transactions.

This approach lets BSC capture the performance gains right away without needing a full consensus upgrade or changes to the block header. For now, BAL is integrated in a non-consensus-breaking way through BEP-592, giving nodes immediate internal optimizations.

A future hard fork can then introduce the full block-header changes required for complete EIP-7928 alignment and network-wide consensus support.

Performance Test Results

Initial performance testing demonstrates the clear improvements achieved by implementing the BAL, primarily through enhanced state pre-fetching and parallel execution capabilities.

Metric (165MGas)

Without BAL (Baseline)

With BAL (BEP-592)

With BAL (EIP-7928)

CPU Usage

24.68%

16.11%

24.35%

Block Process Time

(percentile: 95)

333.44ms

302.22ms

440.43ms

Average MGas Per Second

583

653.71

691.48

*Note: Test results were obtained using AWS i7i.8xlarge hardware specifications.*

Based on the test results and your observations, the summary of performance impact is:

Implementation

CPU Usage Change (vs. Baseline)

Block Process Time (95%ile) Change (vs. Baseline)

Avg. MGas/Sec Change (vs. Baseline)

Summary Observation

BEP-592 (Prefetch Based)

-34.7% (24.68% to 16.11%)

-9.4% (333.44ms to 302.22ms)

+12.1% (583 to 653.71)

Provides significant, consistent performance gains through local optimization.

EIP-7928 (Parallel)

-1.3% (24.68% to 24.35%)

+32.1% (333.44ms to 440.43ms)

+18.6% (583 to 691.48)

Shows the highest throughput increase (MGas/Sec) but exhibits instability in block processing time, potentially being worse than the baseline in the 95th percentile case.

Analysis of EIP-7928 Performance

The current results for EIP-7928 are mixed:

  1. Positive Throughput: The Average MGas Per Second increased from 583 (Baseline) to 691.48, representing an 18.6% improvement, demonstrating the core potential of BAL to increase the network's overall processing capacity.
  2. Negative Stability: However, the Block Process Time (95th percentile) increased significantly from 333.44ms (Baseline) to 440.43ms (a 32.1% increase). This indicates that under high load or for complex blocks, the EIP-7928 implementation currently leads to less stable and slower block finalization times compared to the baseline and the non-consensus BEP-592.

This mixed outcome confirms the need for further refinement and suggests that BSC's existing optimizations, such as pre-fetching, may be competing with or mitigating the expected benefits of the nascent EIP-7928 consensus integration, which still requires optimization to achieve stable, overall performance gains.

The Future of EVM Optimization

The implementation of the BAL is a strong step toward a more efficient Ethereum ecosystem. It represents the ongoing commitment of the community to optimize core components of the EVM for mass adoption. As the network grows, features like BAL ensure that the EVM remains the most robust and scalable smart contract platform.

Share