diff --git a/docs/public-networks/concepts/sync-node.md b/docs/public-networks/concepts/sync-node.md index 51e56edb0d9..8122694e6a0 100644 --- a/docs/public-networks/concepts/sync-node.md +++ b/docs/public-networks/concepts/sync-node.md @@ -4,7 +4,6 @@ sidebar_position: 1 description: Full and archive node types tags: - public networks - - private networks --- # Sync Besu @@ -33,7 +32,7 @@ try [troubleshooting peering](../../how-to/troubleshoot/peering.md). Besu supports several synchronization options for different network types and use cases: -### Public network syncing +## Public network syncing For public networks, Besu offers the following sync modes: @@ -42,21 +41,24 @@ For public networks, Besu offers the following sync modes: - [Fast synchronization](#fast-synchronization) - [Full synchronization](#run-an-archive-node) -### Private network syncing +::: note -For private, permissioned blockchain networks, Besu uses the same synchronization modes as public networks, but with specific configurations for private network needs. +We recommend Snap sync because it follows the Ethereum specification and enables you to serve full historical data, making you a valuable network peer. -When setting up a private network, consider the following: - -- Use the same sync modes as public networks (snap, checkpoint, fast, or full sync). -- Configure the network with a custom genesis file. -- Set the network ID and bootnode(s) specific to your private network. -- Implement permissioning features to control network access. +::: -Choose the appropriate sync mode based on your private network's requirements and node purposes. +| Sync Mode | Description | Requirements | Method | Limitations | +|-----------|-------------|--------------|--------|-------------| +| Snap synchronization | Recommended for fastest sync and lowest storage requirements on Mainnet.| Besu version 22.4.0 or later | Downloads as many leaves of the trie as possible, reconstructs the trie locally. Snap is faster than Fast sync. | Cannot switch from fast sync to snap sync mid-process. | +| Checkpoint synchronization | Efficient sync from a specific checkpoint block configured in the genesis file. | Besu version 22.4.3 or later | Syncs from a checkpoint block defined in the genesis file. Is the fast sync and has the lowest storage requirements. | Not supported for QBFT or IBFT 2.0 networks without a checkpoint configuration. | +| Fast synchronization | Default for named networks except the dev development network. | None | Downloads block headers and transaction receipts, verifies chain from genesis block. | Might become impossible to sync Ethereum mainnet in the future; not supported with private transactions. | +| Full synchronization | Downloads and verifies the entire blockchain and state from the genesis block. This builds an archive node, with full state history.| None | Downloads entire blockchain, verifies all states from genesis block. | Slowest sync mode, requires the most disk space. | :::note -When configuring syncing for a private network, ensure all nodes use compatible sync modes and configurations. + +Ethereum nodes sync two types of data: chain data (blocks) and world state data. Snap and Checkpoint syncs handle chain data like Fast sync does. +They differ in how they process world state data. + ::: ## Sync times @@ -251,15 +253,6 @@ The easiest solution in this scenario is to restart fast sync to obtain a new pi ::: -## Sync mode comparison - -| Sync Mode | Description | Requirements | Method | Limitations | -|-----------|-------------|--------------|--------|-------------| -| Snap Synchronization | Recommended for fastest sync and lowest storage requirements on Mainnet. | Besu version 22.4.0 or later | Downloads as many leaves of the trie as possible, reconstructs the trie locally. | Cannot switch from fast sync to snap sync mid-process. | -| Checkpoint Synchronization | Efficient sync from a specific checkpoint block configured in the genesis file. | Besu version 22.4.3 or later | Syncs from a checkpoint block defined in the genesis file. | Not supported for QBFT or IBFT 2.0 networks without a checkpoint configuration. | -| Fast Synchronization | Default for named networks except the dev development network. | None | Downloads block headers and transaction receipts, verifies chain from genesis block. | Might become impossible to sync Ethereum mainnet in the future; not supported with private transactions. | -| Full Synchronization | Downloads and verifies the entire blockchain and state from the genesis block. | None | Downloads entire blockchain, verifies all states from genesis block. | Slowest sync mode, requires the most disk space. | - ## Run an archive node An archive node stores all historical states of the blockchain.