From 3ca1faca7c4e1fc3eef4f90d312ddd6c3981ae93 Mon Sep 17 00:00:00 2001 From: Sally MacFarlane Date: Tue, 26 Nov 2024 10:13:40 +1000 Subject: [PATCH] Fast sync - deprecation (#1737) * fast sync deprecation Signed-off-by: Sally MacFarlane * fix links Signed-off-by: Alexandra Tran --------- Signed-off-by: Sally MacFarlane Signed-off-by: Alexandra Tran Co-authored-by: Alexandra Tran --- docs/private-networks/concepts/node-sync-private.md | 2 +- docs/private-networks/get-started/start-node.md | 2 +- docs/public-networks/concepts/data-storage-formats.md | 2 +- docs/public-networks/concepts/node-sync.md | 11 ++++++----- docs/public-networks/get-started/start-node.md | 4 ++-- docs/public-networks/reference/cli/options.md | 4 ++-- 6 files changed, 13 insertions(+), 12 deletions(-) diff --git a/docs/private-networks/concepts/node-sync-private.md b/docs/private-networks/concepts/node-sync-private.md index 169456484a..e28c2f124d 100644 --- a/docs/private-networks/concepts/node-sync-private.md +++ b/docs/private-networks/concepts/node-sync-private.md @@ -26,7 +26,7 @@ Select the sync mode based on your network's requirements and node purposes. |--------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------|-------------| | [Snap](../../public-networks/concepts/node-sync.md#snap-synchronization) | Recommended for fastest sync and lowest storage requirements on Mainnet. Downloads as many leaves of the trie as possible and reconstructs the trie locally. Faster than fast sync. | Available as an _early access feature_ in Besu version 24.7.1 or later | Cannot switch from fast sync to snap sync mid-process. | | [Checkpoint](../../public-networks/concepts/node-sync.md#checkpoint-synchronization) | Syncs from a specific checkpoint block configured in the genesis file. Fastest sync mode with lowest storage requirements. | Besu version 22.4.3 or later | Not supported for QBFT or IBFT 2.0 networks without a checkpoint configuration. | -| [Fast](../../public-networks/concepts/node-sync.md#fast-synchronization) | Downloads block headers and transaction receipts, verifies chain from genesis block. | None | Not supported with private transactions. | +| [Fast](../../public-networks/concepts/node-sync.md#fast-synchronization-deprecated) | Downloads block headers and transaction receipts, verifies chain from genesis block. | None | Not supported with private transactions. | | [Full](../../public-networks/concepts/node-sync.md#full-synchronization) | Default for all private networks. Downloads and verifies the entire blockchain and state from genesis block, building an archive node with full state history. | None | Slowest sync mode, requires the most disk space. | :::warning Early access feature diff --git a/docs/private-networks/get-started/start-node.md b/docs/private-networks/get-started/start-node.md index 48ee42032a..83da5cfce7 100644 --- a/docs/private-networks/get-started/start-node.md +++ b/docs/private-networks/get-started/start-node.md @@ -107,7 +107,7 @@ You might need to set [`--tx-pool-limit-by-account-percentage`](../../public-net :::note Sync nodes for BFT -If you're running a node on a [QBFT](../how-to/configure/consensus/qbft.md) or [IBFT 2.0](../how-to/configure/consensus/ibft.md) network, your node must use [fast sync](../../public-networks/concepts/node-sync.md#fast-synchronization) or [full sync](../../public-networks/concepts/node-sync.md#full-synchronization). +If you're running a node on a [QBFT](../how-to/configure/consensus/qbft.md) or [IBFT 2.0](../how-to/configure/consensus/ibft.md) network, your node must use [fast sync](../../public-networks/concepts/node-sync.md#fast-synchronization-deprecated) or [full sync](../../public-networks/concepts/node-sync.md#full-synchronization). Full sync is set by default. diff --git a/docs/public-networks/concepts/data-storage-formats.md b/docs/public-networks/concepts/data-storage-formats.md index a45b075910..1f3e88fd12 100644 --- a/docs/public-networks/concepts/data-storage-formats.md +++ b/docs/public-networks/concepts/data-storage-formats.md @@ -80,7 +80,7 @@ Using `--bonsai-historical-block-limit` doesn't affect the size of the database ### Syncing nodes -The following table shows the ways you can sync a [full node](node-sync.md#full-nodes) with the different data storage formats using [fast](node-sync.md#fast-synchronization) and [snap](node-sync.md#snap-synchronization) sync. +The following table shows the ways you can sync a [full node](node-sync.md#full-nodes) with the different data storage formats using [fast](node-sync.md#fast-synchronization-deprecated) and [snap](node-sync.md#snap-synchronization) sync. | Data storage format | Sync mode | Storage estimate | Can other nodes sync to your node? | | --- | --- | --- | --- | diff --git a/docs/public-networks/concepts/node-sync.md b/docs/public-networks/concepts/node-sync.md index 8a532b4f37..3fcedd826e 100644 --- a/docs/public-networks/concepts/node-sync.md +++ b/docs/public-networks/concepts/node-sync.md @@ -27,7 +27,7 @@ block). You can run a full node using [snap synchronization](#snap-synchronization), [checkpoint synchronization](#checkpoint-synchronization), or -[fast synchronization](#fast-synchronization). +[fast synchronization](#fast-synchronization-deprecated). ### Archive nodes @@ -53,7 +53,7 @@ The following is an overview of the public network sync modes: |-------------------------------------------|-------------|--------------|-------------| | [Snap](#snap-synchronization) | Efficient sync from genesis block, downloading as many trie leaves as possible and reconstructing locally. Faster than fast sync. | Besu version 22.4.0 or later | Cannot switch from fast sync to snap sync mid-process. | | [Checkpoint](#checkpoint-synchronization) | Syncs from a specific checkpoint block configured in the genesis file. Fastest sync mode with lowest storage requirements. | Besu version 22.4.3 or later | | -| [Fast](#fast-synchronization) | Downloads block headers and transaction receipts, verifies chain from genesis block. | None | Might become impossible to fast sync Ethereum Mainnet in the future. | +| [Fast](#fast-synchronization-deprecated) | Downloads block headers and transaction receipts, verifies chain from genesis block. | None | Deprecated in Besu version 24.11.0 and later. | | [Full](#full-synchronization) | Downloads and verifies the entire blockchain and state from genesis block, building an archive node with full state history. | None | Slowest sync mode, requires the most disk space. | :::info Private network syncing @@ -136,12 +136,13 @@ You can restart Besu during a checkpoint sync in case of hardware or software pr resumes from the last valid world state and continues to download blocks starting from the last downloaded block. -### Fast synchronization +### Fast synchronization (Deprecated) :::caution -It might become impossible to sync Ethereum Mainnet using fast sync in the future. If you sync for -the first time or ever need to re-sync, update Besu to a version that supports newer sync methods. +Fast sync is deprecated in Besu version 24.11.0 and later. Please read this [blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu) for more context on the rationale behind this decision as well as alternative options. + +If you sync for the first time or need to re-sync, update Besu to a version that supports newer sync methods. ::: diff --git a/docs/public-networks/get-started/start-node.md b/docs/public-networks/get-started/start-node.md index ab3f01a718..9898fb253a 100644 --- a/docs/public-networks/get-started/start-node.md +++ b/docs/public-networks/get-started/start-node.md @@ -40,14 +40,14 @@ To define a genesis configuration, create a genesis file (for example, `genesis. ## Syncing and storage -By default, Besu syncs to the current state of the blockchain using [fast sync](../concepts/node-sync.md#fast-synchronization) in: +By default, Besu syncs to the current state of the blockchain using [snap sync](../concepts/node-sync.md#snap-synchronization) in: - Networks specified using [`--network`](../reference/cli/options.md#network) except for the `dev` development network. - Ethereum Mainnet. We recommend using [snap sync](../concepts/node-sync.md#snap-synchronization) for a faster sync, by starting Besu with [`--sync-mode=SNAP`](../reference/cli/options.md#sync-mode). -By default, Besu stores data in the [Forest of Tries](../concepts/data-storage-formats.md#forest-of-tries) format. We recommend using [Bonsai Tries](../concepts/data-storage-formats.md#bonsai-tries) for lower storage requirements, by starting Besu with [`--data-storage-format=BONSAI`](../reference/cli/options.md#data-storage-format). +By default, Besu stores data in the [Bonsai Tries format](../concepts/data-storage-formats.md#bonsai-tries). ## Run a node for testing diff --git a/docs/public-networks/reference/cli/options.md b/docs/public-networks/reference/cli/options.md index 037bf5384e..37977a000a 100644 --- a/docs/public-networks/reference/cli/options.md +++ b/docs/public-networks/reference/cli/options.md @@ -5574,7 +5574,7 @@ sync-mode="SNAP" -The synchronization mode. Use `SNAP` for [snap sync](../../concepts/node-sync.md#snap-synchronization), `CHECKPOINT` for [checkpoint sync](../../concepts/node-sync.md#checkpoint-synchronization), `FAST` for [fast sync](../../concepts/node-sync.md#fast-synchronization), and `FULL` for [full sync](../../concepts/node-sync.md#full-synchronization). +The synchronization mode. Use `SNAP` for [snap sync](../../concepts/node-sync.md#snap-synchronization), `CHECKPOINT` for [checkpoint sync](../../concepts/node-sync.md#checkpoint-synchronization), `FAST` for [fast sync](../../concepts/node-sync.md#fast-synchronization-deprecated), and `FULL` for [full sync](../../concepts/node-sync.md#full-synchronization). - The default is `FULL` when connecting to a private network by not using the [`--network`](#network) option and specifying the [`--genesis-file`](#genesis-file) option. - The default is `SNAP` when using the [`--network`](#network) option with named networks, except for the `dev` development network. `SNAP` is also the default if running Besu on the default network (Ethereum Mainnet) by specifying neither [network](#network) nor [genesis file](#genesis-file). @@ -5582,7 +5582,7 @@ The synchronization mode. Use `SNAP` for [snap sync](../../concepts/node-sync.md :::note Notes - We recommend using snap sync over fast sync because snap sync can be faster by several days. -- It might become impossible to sync Mainnet using fast sync in the future, as clients drop support for fast sync. +- Fast sync is deprecated in Besu version 24.11.0 and later. We recommend updating Besu to a version that supports other sync methods. - When using a mode other than `FULL`, most historical world state data is unavailable. Any methods attempting to access unavailable world state data return `null`.