Skip to content

Commit

Permalink
remove private
Browse files Browse the repository at this point in the history
Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com>
  • Loading branch information
joaniefromtheblock committed Sep 17, 2024
1 parent 5cdd5d9 commit c73e431
Showing 1 changed file with 14 additions and 21 deletions.
35 changes: 14 additions & 21 deletions docs/public-networks/concepts/sync-node.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ sidebar_position: 1
description: Full and archive node types
tags:
- public networks
- private networks
---

# Sync Besu
Expand Down Expand Up @@ -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:

Expand All @@ -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
Expand Down Expand Up @@ -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.
Expand Down

0 comments on commit c73e431

Please sign in to comment.