Chains
BNB Beacon Chain
BNB ecosystem’s staking & governance layer
Staking
Earn rewards by securing the network
Build
Explore
Accelerate
Connect
Careers🔥
Explore Opportunities on BNB Chain
BNB Smart Chain (BSC) has undergone significant evolution in block production speed. With block time reduction from 3 seconds to 1.5 seconds, and further to 750ms, the network now produces approximately 4 times more blocks compared to the original rate.
But faster blocks also mean bigger storage requirements for nodes. In just 18 months, storage requirements size grew from 2.49TB (Dec 2023) → 3.72TB (Jun 2025), a nearly 50% increase. For many developers and node operators, downloading and syncing snapshots now takes 13+ hours, creating a real barrier to participation.
Challenges with Traditional Snapshots:
Incremental Snapshots: The Solution
Incremental snapshots address these issues by providing smaller, regular updates instead of large, infrequent downloads. This approach leads to:
Incremental snapshots fundamentally change how BSC nodes catch up with network state. Instead of downloading everything at once, the system uses a base-plus-increments model.
The architecture executes blocks based on a monthly base snapshot, with separate backup of incremental data for each block range. These incremental datasets are periodically aggregated (typically every 806,400 blocks, about 1 week) to maintain optimal size and efficiency.
Data Structure
Incremental snapshot size optimization strategy
The incremental snapshot solves the massive data volume challenge through strategic pruning and data aggregation:
Users can independently generate incremental snapshots on their own machines. This capability enables organizations to create custom snapshot distribution endpoints or maintain internal snapshots for their infrastructure needs. Generation happens asynchronously during normal node operation with five key configuration flags:
geth --config config.toml --datadir ./data/ --cache 8000 --rpc.allow-unprotected-txs --history.transactions 0 --syncmode full --db.engine=pebble --state.scheme=path --incr.enable --incr.block-interval=806400 --incr.datadir ./incr/ --incr.state-buffer=1073741824 --incr.kept-blocks=1024 --mainnet --history.blocks=360000
Directory Management and Naming
The system automatically creates new directories when the configured block-interval threshold is reached. Each generated incremental snapshot directory follows the naming convention:
incr-<start_block_number>-<end_block_number>/
For example: incr-50000000-50099999/ contains blocks 50,000,000 to 50,099,999 - incr-50100000-50199999/ contains the next 100,000 blocks. This systematic naming enables easy identification and ordering of incremental snapshots.
The incremental snapshot merge system provides both automated and manual approaches for consuming snapshots, dramatically improving node startup efficiency and user experience.
Automated Download and Merge
Users can leverage fully automated incremental snapshot consumption through simple configuration:
geth --config config.toml --datadir ./data/ --cache 8000 --rpc.allow-unprotected-txs --history.transactions 0 --syncmode full --db.engine=pebble --state.scheme=path --mainnet --history.blocks=360000 --incr.use-remote --incr.datadir ./store-incr/ --incr.remote-url
https://download.snapshots.bnbchain.world/mainnet-geth-pbss-incr
Automated Pipeline Process
The automated merge process operates as an intelligent pipeline that maximizes efficiency:
This automated approach eliminates manual intervention and provides a seamless zero-configuration experience for users wanting to quickly bootstrap BSC nodes.
Manual Process Workflow
Users download incremental snapshot archives directly from the distribution source or custom URLs using standard download tools. After downloading, Decompress downloaded archives to the designated incremental data directory, maintaining the proper directory structure. Use the merge-incr-snapshot command to merge specific incr snapshots with fine-grained control.
geth snapshot merge-incr-snapshot --datadir ./data/ --state.scheme path --db.engine pebble --incr.datadir ./downloaded_incr/
Incremental snapshot maintains full backward compatibility with existing BSC node implementations. Users have the flexibility to choose between two approaches:
Both approaches are supported, ensuring a smooth transition for existing node operators.
Suggestion:
If you want to run an incremental snapshot node and minimize the snapshot size, you need to configure a larger incr.state-buffer. A larger buffer allows better aggregation, merging more duplicate key-value entries. However, this requires significantly more memory. For example, if incr.state-buffer is set to 15GB, the node should have at least 60GB of memory to ensure stable operation.
If you use a pruned snapshot to generate incremental snapshots, the minimum disk requirement will be significantly higher—at least 1.5TB+.
If you intend to make the generated incremental snapshot available to external users, it is recommended to store it on a cloud service such as AWS S3, and provide a publicly accessible download URL. This allows other nodes to quickly fetch the snapshot, improving overall network usability and synchronization efficiency.
Storage Efficiency
We used mainnet-geth-pbss-20250605-pruneancient snapshot to generate the incremental snapshot, starting from block height 56,653,252. The generated incremental snapshots data size are as follow:
The chart below highlights the storage size advantage of incremental snapshots compared to traditional full snapshots:
In the full snapshot mode, a new node needs to download the full snapshot(generated on a monthly basis), and to catch up with the latest states. But with the new mechanism of incremental snapshot, which will be generated on a weekly basis, can speed up synchronization dramatically by downloading the incremental snapshot to reduce the synchronization workloads.
Time Efficiency
We use the above generated incremental snapshots to performdo a test, and the used machine specification is m7i.xlarge ec2 machine.
The traditional workflow requires:
Incremental snapshots enable:
Incremental snapshots represent a fundamental improvement in BSC node accessibility and operational efficiency. By reducing data requirements by 87% while maintaining full security and compatibility, this innovation removes significant barriers to BSC network participation.
As BSC continues evolving toward higher throughput and broader adoption, incremental snapshots provide the foundation for sustainable, accessible node operation at scale.
Looking ahead, incremental snapshots will evolve toward P2P distribution, making them even more decentralized, resilient, and accessible.
Incremental snapshot function pre-release: https://github.com/bnb-chain/bsc/releases/tag/v1.6.0-alpha-feature-incr-snapshot