From 1549a886189bb4dadfd144ace56e81ac81f7859b Mon Sep 17 00:00:00 2001
From: Boog900 <boog900@tutanota.com>
Date: Sat, 8 Mar 2025 01:54:34 +0000
Subject: [PATCH] cuprated: Add fast sync (#389)

* add specific method for context

* add new statemachine for tx verification

* fix consensus crates build

* working builds

* fix CI

* add docs

* fix CI

* fix docs

* fix clippy

* cleanup

* add docs to `blockchain_context`

* fix doc tests

* add output cache

* new monero-serai

* todo

* todo

* Revert "new monero-serai"

This reverts commit fe3f6acc676fe59e794d5f92f07f76445db35199.

* use indexmap to request outputs

* clean up

* fix typos

* fix CI

* fix cargo hack

* fix reorgs

* check if a block is already present before adding it to the alt block cache

* fmt

* update to new monero oxide API

* fmt & fix cache

* update config values

* fix tests

* add fast sync

* fix start_height check

* disable kill switch for now

* add fast sync config options

* add docs

* wait for all blocks to download before starting the syncer again.

* fix permit

* typo

* fix import order

* fmt

* add docs + order imports

* fix clippy

* review fixes

* rename top -> stop
---
 Cargo.lock                                    |   8 +-
 binaries/cuprated/src/blockchain.rs           |   2 +
 .../cuprated/src/blockchain/chain_service.rs  |  20 +-
 binaries/cuprated/src/blockchain/fast_sync.rs |  24 ++
 .../blockchain/fast_sync/fast_sync_hashes.bin | Bin 0 -> 209344 bytes
 binaries/cuprated/src/blockchain/manager.rs   |   8 +-
 .../src/blockchain/manager/handler.rs         | 120 ++++--
 binaries/cuprated/src/blockchain/syncer.rs    |  28 +-
 binaries/cuprated/src/commands.rs             |   8 +
 binaries/cuprated/src/config.rs               |   2 +
 binaries/cuprated/src/config/args.rs          |   8 +
 binaries/cuprated/src/main.rs                 |  11 +
 consensus/fast-sync/Cargo.toml                |  10 +-
 consensus/fast-sync/src/create.rs             |  61 ++-
 consensus/fast-sync/src/data/hashes_of_hashes |  12 -
 consensus/fast-sync/src/fast_sync.rs          | 405 ++++++++----------
 consensus/fast-sync/src/lib.rs                |   8 +-
 consensus/fast-sync/src/util.rs               |   8 -
 p2p/p2p/src/block_downloader.rs               | 115 +++--
 p2p/p2p/src/block_downloader/chain_tracker.rs | 106 +++--
 p2p/p2p/src/block_downloader/request_chain.rs |  12 +-
 p2p/p2p/src/block_downloader/tests.rs         |  11 +-
 p2p/p2p/src/constants.rs                      |   3 +
 p2p/p2p/src/lib.rs                            |   2 +-
 storage/blockchain/src/service/read.rs        |  32 +-
 storage/blockchain/src/service/write.rs       |  28 ++
 types/src/blockchain.rs                       |  15 +
 27 files changed, 653 insertions(+), 414 deletions(-)
 create mode 100644 binaries/cuprated/src/blockchain/fast_sync.rs
 create mode 100644 binaries/cuprated/src/blockchain/fast_sync/fast_sync_hashes.bin
 delete mode 100644 consensus/fast-sync/src/data/hashes_of_hashes
 delete mode 100644 consensus/fast-sync/src/util.rs

diff --git a/Cargo.lock b/Cargo.lock
index 2ad83bd3..4593984e 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -774,18 +774,16 @@ dependencies = [
 name = "cuprate-fast-sync"
 version = "0.1.0"
 dependencies = [
+ "blake3",
  "clap",
  "cuprate-blockchain",
  "cuprate-consensus",
  "cuprate-consensus-context",
- "cuprate-consensus-rules",
- "cuprate-helper",
+ "cuprate-p2p",
+ "cuprate-p2p-core",
  "cuprate-types",
  "hex",
- "hex-literal",
  "monero-serai",
- "sha3",
- "thiserror",
  "tokio",
  "tower 0.5.1",
 ]
diff --git a/binaries/cuprated/src/blockchain.rs b/binaries/cuprated/src/blockchain.rs
index 34317084..a196a9f2 100644
--- a/binaries/cuprated/src/blockchain.rs
+++ b/binaries/cuprated/src/blockchain.rs
@@ -20,11 +20,13 @@ use cuprate_types::{
 use crate::constants::PANIC_CRITICAL_SERVICE_ERROR;
 
 mod chain_service;
+mod fast_sync;
 pub mod interface;
 mod manager;
 mod syncer;
 mod types;
 
+pub use fast_sync::set_fast_sync_hashes;
 pub use manager::init_blockchain_manager;
 pub use types::ConsensusBlockchainReadHandle;
 
diff --git a/binaries/cuprated/src/blockchain/chain_service.rs b/binaries/cuprated/src/blockchain/chain_service.rs
index af862d1d..4716ad4f 100644
--- a/binaries/cuprated/src/blockchain/chain_service.rs
+++ b/binaries/cuprated/src/blockchain/chain_service.rs
@@ -4,7 +4,9 @@ use futures::{future::BoxFuture, FutureExt, TryFutureExt};
 use tower::Service;
 
 use cuprate_blockchain::service::BlockchainReadHandle;
+use cuprate_fast_sync::validate_entries;
 use cuprate_p2p::block_downloader::{ChainSvcRequest, ChainSvcResponse};
+use cuprate_p2p_core::NetworkZone;
 use cuprate_types::blockchain::{BlockchainReadRequest, BlockchainResponse};
 
 /// That service that allows retrieving the chain state to give to the P2P crates, so we can figure out
@@ -14,8 +16,8 @@ use cuprate_types::blockchain::{BlockchainReadRequest, BlockchainResponse};
 #[derive(Clone)]
 pub struct ChainService(pub BlockchainReadHandle);
 
-impl Service<ChainSvcRequest> for ChainService {
-    type Response = ChainSvcResponse;
+impl<N: NetworkZone> Service<ChainSvcRequest<N>> for ChainService {
+    type Response = ChainSvcResponse<N>;
     type Error = tower::BoxError;
     type Future = BoxFuture<'static, Result<Self::Response, Self::Error>>;
 
@@ -23,7 +25,7 @@ impl Service<ChainSvcRequest> for ChainService {
         self.0.poll_ready(cx).map_err(Into::into)
     }
 
-    fn call(&mut self, req: ChainSvcRequest) -> Self::Future {
+    fn call(&mut self, req: ChainSvcRequest<N>) -> Self::Future {
         let map_res = |res: BlockchainResponse| match res {
             BlockchainResponse::CompactChainHistory {
                 block_ids,
@@ -67,6 +69,18 @@ impl Service<ChainSvcRequest> for ChainService {
                 })
                 .map_err(Into::into)
                 .boxed(),
+            ChainSvcRequest::ValidateEntries(entries, start_height) => {
+                let mut blockchain_read_handle = self.0.clone();
+
+                async move {
+                    let (valid, unknown) =
+                        validate_entries(entries, start_height, &mut blockchain_read_handle)
+                            .await?;
+
+                    Ok(ChainSvcResponse::ValidateEntries { valid, unknown })
+                }
+                .boxed()
+            }
         }
     }
 }
diff --git a/binaries/cuprated/src/blockchain/fast_sync.rs b/binaries/cuprated/src/blockchain/fast_sync.rs
new file mode 100644
index 00000000..63b11df4
--- /dev/null
+++ b/binaries/cuprated/src/blockchain/fast_sync.rs
@@ -0,0 +1,24 @@
+use std::slice;
+
+use cuprate_helper::network::Network;
+
+/// The hashes of the compiled in fast sync file.
+static FAST_SYNC_HASHES: &[[u8; 32]] = {
+    let bytes = include_bytes!("./fast_sync/fast_sync_hashes.bin");
+
+    if bytes.len() % 32 == 0 {
+        // SAFETY: The file byte length must be perfectly divisible by 32, checked above.
+        unsafe { slice::from_raw_parts(bytes.as_ptr().cast::<[u8; 32]>(), bytes.len() / 32) }
+    } else {
+        panic!();
+    }
+};
+
+/// Set the fast-sync hashes according to the provided values.
+pub fn set_fast_sync_hashes(fast_sync: bool, network: Network) {
+    cuprate_fast_sync::set_fast_sync_hashes(if fast_sync && network == Network::Mainnet {
+        FAST_SYNC_HASHES
+    } else {
+        &[]
+    });
+}
diff --git a/binaries/cuprated/src/blockchain/fast_sync/fast_sync_hashes.bin b/binaries/cuprated/src/blockchain/fast_sync/fast_sync_hashes.bin
new file mode 100644
index 0000000000000000000000000000000000000000..5d94b7d88e1a50d524d911be055c7d4f41b96065
GIT binary patch
literal 209344
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
KA$OSJUfKlFhw`KV

literal 0
HcmV?d00001

diff --git a/binaries/cuprated/src/blockchain/manager.rs b/binaries/cuprated/src/blockchain/manager.rs
index 8dde7ac5..782e6efe 100644
--- a/binaries/cuprated/src/blockchain/manager.rs
+++ b/binaries/cuprated/src/blockchain/manager.rs
@@ -2,7 +2,7 @@ use std::{collections::HashMap, sync::Arc};
 
 use futures::StreamExt;
 use monero_serai::block::Block;
-use tokio::sync::{mpsc, oneshot, Notify};
+use tokio::sync::{mpsc, oneshot, Notify, OwnedSemaphorePermit};
 use tower::{BoxError, Service, ServiceExt};
 use tracing::error;
 
@@ -106,15 +106,17 @@ impl BlockchainManager {
     /// The [`BlockchainManager`] task.
     pub async fn run(
         mut self,
-        mut block_batch_rx: mpsc::Receiver<BlockBatch>,
+        mut block_batch_rx: mpsc::Receiver<(BlockBatch, Arc<OwnedSemaphorePermit>)>,
         mut command_rx: mpsc::Receiver<BlockchainManagerCommand>,
     ) {
         loop {
             tokio::select! {
-                Some(batch) = block_batch_rx.recv() => {
+                Some((batch, permit)) = block_batch_rx.recv() => {
                     self.handle_incoming_block_batch(
                         batch,
                     ).await;
+
+                    drop(permit);
                 }
                 Some(incoming_command) = command_rx.recv() => {
                     self.handle_command(incoming_command).await;
diff --git a/binaries/cuprated/src/blockchain/manager/handler.rs b/binaries/cuprated/src/blockchain/manager/handler.rs
index 0c8264bf..a6583844 100644
--- a/binaries/cuprated/src/blockchain/manager/handler.rs
+++ b/binaries/cuprated/src/blockchain/manager/handler.rs
@@ -1,4 +1,6 @@
 //! The blockchain manager handler functions.
+use std::{collections::HashMap, sync::Arc};
+
 use bytes::Bytes;
 use futures::{TryFutureExt, TryStreamExt};
 use monero_serai::{
@@ -6,10 +8,8 @@ use monero_serai::{
     transaction::{Input, Transaction},
 };
 use rayon::prelude::*;
-use std::ops::ControlFlow;
-use std::{collections::HashMap, sync::Arc};
 use tower::{Service, ServiceExt};
-use tracing::{info, instrument};
+use tracing::{info, instrument, Span};
 
 use cuprate_blockchain::service::{BlockchainReadHandle, BlockchainWriteHandle};
 use cuprate_consensus::{
@@ -21,12 +21,13 @@ use cuprate_consensus::{
     BlockChainContextRequest, BlockChainContextResponse, ExtendedConsensusError,
 };
 use cuprate_consensus_context::NewBlockData;
+use cuprate_fast_sync::{block_to_verified_block_information, fast_sync_stop_height};
 use cuprate_helper::cast::usize_to_u64;
 use cuprate_p2p::{block_downloader::BlockBatch, constants::LONG_BAN, BroadcastRequest};
 use cuprate_txpool::service::interface::TxpoolWriteRequest;
 use cuprate_types::{
     blockchain::{BlockchainReadRequest, BlockchainResponse, BlockchainWriteRequest},
-    AltBlockInformation, HardFork, TransactionVerificationData, VerifiedBlockInformation,
+    AltBlockInformation, Chain, HardFork, TransactionVerificationData, VerifiedBlockInformation,
 };
 
 use crate::{
@@ -166,6 +167,11 @@ impl super::BlockchainManager {
     /// This function will panic if any internal service returns an unexpected error that we cannot
     /// recover from or if the incoming batch contains no blocks.
     async fn handle_incoming_block_batch_main_chain(&mut self, batch: BlockBatch) {
+        if batch.blocks.last().unwrap().0.number().unwrap() < fast_sync_stop_height() {
+            self.handle_incoming_block_batch_fast_sync(batch).await;
+            return;
+        }
+
         let Ok((prepped_blocks, mut output_cache)) = batch_prepare_main_chain_blocks(
             batch.blocks,
             &mut self.blockchain_context_service,
@@ -195,7 +201,32 @@ impl super::BlockchainManager {
 
             self.add_valid_block_to_main_chain(verified_block).await;
         }
-        info!("Successfully added block batch");
+        info!(fast_sync = false, "Successfully added block batch");
+    }
+
+    /// Handles an incoming block batch while we are under the fast sync height.
+    ///
+    /// # Panics
+    ///
+    /// This function will panic if any internal service returns an unexpected error that we cannot
+    /// recover from.
+    async fn handle_incoming_block_batch_fast_sync(&mut self, batch: BlockBatch) {
+        let mut valid_blocks = Vec::with_capacity(batch.blocks.len());
+        for (block, txs) in batch.blocks {
+            let block = block_to_verified_block_information(
+                block,
+                txs,
+                self.blockchain_context_service.blockchain_context(),
+            );
+            self.add_valid_block_to_blockchain_cache(&block).await;
+
+            valid_blocks.push(block);
+        }
+
+        self.batch_add_valid_block_to_blockchain_database(valid_blocks)
+            .await;
+
+        info!(fast_sync = true, "Successfully added block batch");
     }
 
     /// Handles an incoming [`BlockBatch`] that does not follow the main-chain.
@@ -212,7 +243,6 @@ impl super::BlockchainManager {
     /// recover from.
     async fn handle_incoming_block_batch_alt_chain(&mut self, mut batch: BlockBatch) {
         // TODO: this needs testing (this whole section does but alt-blocks specifically).
-
         let mut blocks = batch.blocks.into_iter();
 
         while let Some((block, txs)) = blocks.next() {
@@ -248,6 +278,8 @@ impl super::BlockchainManager {
                 Ok(AddAltBlock::Cached) => (),
             }
         }
+
+        info!(alt_chain = true, "Successfully added block batch");
     }
 
     /// Handles an incoming alt [`Block`].
@@ -284,9 +316,10 @@ impl super::BlockchainManager {
             unreachable!();
         };
 
-        if chain.is_some() {
-            // The block could also be in the main-chain here under some circumstances.
-            return Ok(AddAltBlock::Cached);
+        match chain {
+            Some((Chain::Alt(_), _)) => return Ok(AddAltBlock::Cached),
+            Some((Chain::Main, _)) => anyhow::bail!("Alt block already in main chain"),
+            None => (),
         }
 
         let alt_block_info =
@@ -458,22 +491,8 @@ impl super::BlockchainManager {
             })
             .collect::<Vec<[u8; 32]>>();
 
-        self.blockchain_context_service
-            .ready()
-            .await
-            .expect(PANIC_CRITICAL_SERVICE_ERROR)
-            .call(BlockChainContextRequest::Update(NewBlockData {
-                block_hash: verified_block.block_hash,
-                height: verified_block.height,
-                timestamp: verified_block.block.header.timestamp,
-                weight: verified_block.weight,
-                long_term_weight: verified_block.long_term_weight,
-                generated_coins: verified_block.generated_coins,
-                vote: HardFork::from_vote(verified_block.block.header.hardfork_signal),
-                cumulative_difficulty: verified_block.cumulative_difficulty,
-            }))
-            .await
-            .expect(PANIC_CRITICAL_SERVICE_ERROR);
+        self.add_valid_block_to_blockchain_cache(&verified_block)
+            .await;
 
         self.blockchain_write_handle
             .ready()
@@ -491,11 +510,60 @@ impl super::BlockchainManager {
             .await
             .expect(PANIC_CRITICAL_SERVICE_ERROR);
     }
+
+    /// Adds a [`VerifiedBlockInformation`] to the blockchain context cache.
+    ///
+    /// # Panics
+    ///
+    /// This function will panic if any internal service returns an unexpected error that we cannot
+    /// recover from.
+    async fn add_valid_block_to_blockchain_cache(
+        &mut self,
+        verified_block: &VerifiedBlockInformation,
+    ) {
+        self.blockchain_context_service
+            .ready()
+            .await
+            .expect(PANIC_CRITICAL_SERVICE_ERROR)
+            .call(BlockChainContextRequest::Update(NewBlockData {
+                block_hash: verified_block.block_hash,
+                height: verified_block.height,
+                timestamp: verified_block.block.header.timestamp,
+                weight: verified_block.weight,
+                long_term_weight: verified_block.long_term_weight,
+                generated_coins: verified_block.generated_coins,
+                vote: HardFork::from_vote(verified_block.block.header.hardfork_signal),
+                cumulative_difficulty: verified_block.cumulative_difficulty,
+            }))
+            .await
+            .expect(PANIC_CRITICAL_SERVICE_ERROR);
+    }
+
+    /// Batch writes the [`VerifiedBlockInformation`]s to the database.
+    ///
+    /// The blocks must be sequential.
+    ///
+    /// # Panics
+    ///
+    /// This function will panic if any internal service returns an unexpected error that we cannot
+    /// recover from.
+    async fn batch_add_valid_block_to_blockchain_database(
+        &mut self,
+        blocks: Vec<VerifiedBlockInformation>,
+    ) {
+        self.blockchain_write_handle
+            .ready()
+            .await
+            .expect(PANIC_CRITICAL_SERVICE_ERROR)
+            .call(BlockchainWriteRequest::BatchWriteBlocks(blocks))
+            .await
+            .expect(PANIC_CRITICAL_SERVICE_ERROR);
+    }
 }
 
 /// The result from successfully adding an alt-block.
 enum AddAltBlock {
-    /// The alt-block was cached or was already present in the DB.
+    /// The alt-block was cached.
     Cached,
     /// The chain was reorged.
     Reorged,
diff --git a/binaries/cuprated/src/blockchain/syncer.rs b/binaries/cuprated/src/blockchain/syncer.rs
index 106c3eed..8a2c218f 100644
--- a/binaries/cuprated/src/blockchain/syncer.rs
+++ b/binaries/cuprated/src/blockchain/syncer.rs
@@ -3,7 +3,7 @@ use std::{sync::Arc, time::Duration};
 
 use futures::StreamExt;
 use tokio::{
-    sync::{mpsc, oneshot, Notify},
+    sync::{mpsc, Notify, OwnedSemaphorePermit, Semaphore},
     time::interval,
 };
 use tower::{Service, ServiceExt};
@@ -15,7 +15,7 @@ use cuprate_p2p::{
     block_downloader::{BlockBatch, BlockDownloaderConfig, ChainSvcRequest, ChainSvcResponse},
     NetworkInterface, PeerSetRequest, PeerSetResponse,
 };
-use cuprate_p2p_core::ClearNet;
+use cuprate_p2p_core::{ClearNet, NetworkZone};
 
 const CHECK_SYNC_FREQUENCY: Duration = Duration::from_secs(30);
 
@@ -30,17 +30,21 @@ pub enum SyncerError {
 
 /// The syncer tasks that makes sure we are fully synchronised with our connected peers.
 #[instrument(level = "debug", skip_all)]
+#[expect(clippy::significant_drop_tightening)]
 pub async fn syncer<CN>(
     mut context_svc: BlockchainContextService,
     our_chain: CN,
     mut clearnet_interface: NetworkInterface<ClearNet>,
-    incoming_block_batch_tx: mpsc::Sender<BlockBatch>,
+    incoming_block_batch_tx: mpsc::Sender<(BlockBatch, Arc<OwnedSemaphorePermit>)>,
     stop_current_block_downloader: Arc<Notify>,
     block_downloader_config: BlockDownloaderConfig,
 ) -> Result<(), SyncerError>
 where
-    CN: Service<ChainSvcRequest, Response = ChainSvcResponse, Error = tower::BoxError>
-        + Clone
+    CN: Service<
+            ChainSvcRequest<ClearNet>,
+            Response = ChainSvcResponse<ClearNet>,
+            Error = tower::BoxError,
+        > + Clone
         + Send
         + 'static,
     CN::Future: Send + 'static,
@@ -51,6 +55,9 @@ where
 
     tracing::debug!("Waiting for new sync info in top sync channel");
 
+    let semaphore = Arc::new(Semaphore::new(1));
+
+    let mut sync_permit = Arc::new(Arc::clone(&semaphore).acquire_owned().await.unwrap());
     loop {
         check_sync_interval.tick().await;
 
@@ -72,10 +79,19 @@ where
             tokio::select! {
                 () = stop_current_block_downloader.notified() => {
                     tracing::info!("Received stop signal, stopping block downloader");
+
+                    drop(sync_permit);
+                    sync_permit = Arc::new(Arc::clone(&semaphore).acquire_owned().await.unwrap());
+
                     break;
                 }
                 batch = block_batch_stream.next() => {
                     let Some(batch) = batch else {
+                        // Wait for all references to the permit have been dropped (which means all blocks in the queue
+                        // have been handled before checking if we are synced.
+                        drop(sync_permit);
+                        sync_permit = Arc::new(Arc::clone(&semaphore).acquire_owned().await.unwrap());
+
                         let blockchain_context = context_svc.blockchain_context();
 
                         if !check_behind_peers(blockchain_context, &mut clearnet_interface).await? {
@@ -86,7 +102,7 @@ where
                     };
 
                     tracing::debug!("Got batch, len: {}", batch.blocks.len());
-                    if incoming_block_batch_tx.send(batch).await.is_err() {
+                    if incoming_block_batch_tx.send((batch, Arc::clone(&sync_permit))).await.is_err() {
                         return Err(SyncerError::IncomingBlockChannelClosed);
                     }
                 }
diff --git a/binaries/cuprated/src/commands.rs b/binaries/cuprated/src/commands.rs
index e99282be..89e9cd71 100644
--- a/binaries/cuprated/src/commands.rs
+++ b/binaries/cuprated/src/commands.rs
@@ -47,6 +47,9 @@ pub enum Command {
 
     /// Print status information on `cuprated`.
     Status,
+
+    /// Print the height of first block not contained in the fast sync hashes.
+    FastSyncStopHeight,
 }
 
 /// The log output target.
@@ -123,6 +126,11 @@ pub async fn io_loop(
 
                 println!("STATUS:\n  uptime: {h}h {m}m {s}s,\n  height: {height},\n  top_hash: {top_hash}");
             }
+            Command::FastSyncStopHeight => {
+                let stop_height = cuprate_fast_sync::fast_sync_stop_height();
+
+                println!("{stop_height}");
+            }
         }
     }
 }
diff --git a/binaries/cuprated/src/config.rs b/binaries/cuprated/src/config.rs
index 99758bfb..84bfabf7 100644
--- a/binaries/cuprated/src/config.rs
+++ b/binaries/cuprated/src/config.rs
@@ -83,6 +83,8 @@ pub struct Config {
     /// The network we should run on.
     network: Network,
 
+    pub no_fast_sync: bool,
+
     /// [`tracing`] config.
     pub tracing: TracingConfig,
 
diff --git a/binaries/cuprated/src/config/args.rs b/binaries/cuprated/src/config/args.rs
index 58c144d7..3c27ec3e 100644
--- a/binaries/cuprated/src/config/args.rs
+++ b/binaries/cuprated/src/config/args.rs
@@ -20,6 +20,13 @@ pub struct Args {
     )]
     pub network: Network,
 
+    /// Disable fast sync, all past blocks will undergo full verification when syncing.
+    ///
+    /// This significantly increases initial sync time. This provides no extra security, you just
+    /// have to trust the devs to insert the correct hashes (which are verifiable).
+    #[arg(long)]
+    no_fast_sync: bool,
+
     /// The amount of outbound clear-net connections to maintain.
     #[arg(long)]
     pub outbound_connections: Option<usize>,
@@ -64,6 +71,7 @@ impl Args {
     /// This may exit the program if a config value was set that requires an early exit.
     pub const fn apply_args(&self, mut config: Config) -> Config {
         config.network = self.network;
+        config.no_fast_sync = config.no_fast_sync || self.no_fast_sync;
 
         if let Some(outbound_connections) = self.outbound_connections {
             config.p2p.clear_net.general.outbound_connections = outbound_connections;
diff --git a/binaries/cuprated/src/main.rs b/binaries/cuprated/src/main.rs
index 9f607f32..6ac9a674 100644
--- a/binaries/cuprated/src/main.rs
+++ b/binaries/cuprated/src/main.rs
@@ -55,6 +55,8 @@ fn main() {
 
     let config = config::read_config_and_args();
 
+    blockchain::set_fast_sync_hashes(!config.no_fast_sync, config.network());
+
     // Initialize logging.
     logging::init_logging(&config);
 
@@ -82,6 +84,15 @@ fn main() {
     // Initialize async tasks.
 
     rt.block_on(async move {
+        // TODO: we could add an option for people to keep these like monerod?
+        blockchain_write_handle
+            .ready()
+            .await
+            .expect(PANIC_CRITICAL_SERVICE_ERROR)
+            .call(BlockchainWriteRequest::FlushAltBlocks)
+            .await
+            .expect(PANIC_CRITICAL_SERVICE_ERROR);
+
         // Check add the genesis block to the blockchain.
         blockchain::check_add_genesis(
             &mut blockchain_read_handle,
diff --git a/consensus/fast-sync/Cargo.toml b/consensus/fast-sync/Cargo.toml
index 8e732a6f..4aa84e36 100644
--- a/consensus/fast-sync/Cargo.toml
+++ b/consensus/fast-sync/Cargo.toml
@@ -5,23 +5,21 @@ edition = "2021"
 license = "MIT"
 
 [[bin]]
-name = "cuprate-fast-sync-create-hashes"
+name = "create-fs-file"
 path = "src/create.rs"
 
 [dependencies]
 cuprate-blockchain          = { workspace = true }
 cuprate-consensus           = { workspace = true }
-cuprate-consensus-rules     = { workspace = true }
 cuprate-consensus-context   = { workspace = true }
 cuprate-types               = { workspace = true }
-cuprate-helper              = { workspace = true, features = ["cast"] }
+cuprate-p2p                 = { workspace = true }
+cuprate-p2p-core            = { workspace = true }
 
 clap         = { workspace = true, features = ["derive", "std"] }
 hex          = { workspace = true }
-hex-literal  = { workspace = true }
 monero-serai = { workspace = true }
-sha3         = { version = "0.10.8" }
-thiserror    = { workspace = true }
+blake3       = { workspace = true }
 tokio        = { workspace = true, features = ["full"] }
 tower        = { workspace = true }
 
diff --git a/consensus/fast-sync/src/create.rs b/consensus/fast-sync/src/create.rs
index 9410f60a..349d6a29 100644
--- a/consensus/fast-sync/src/create.rs
+++ b/consensus/fast-sync/src/create.rs
@@ -3,7 +3,7 @@
     reason = "binary shares same Cargo.toml as library"
 )]
 
-use std::{fmt::Write, fs::write};
+use std::fs::write;
 
 use clap::Parser;
 use tower::{Service, ServiceExt};
@@ -16,48 +16,30 @@ use cuprate_types::{
     Chain,
 };
 
-use cuprate_fast_sync::{hash_of_hashes, BlockId, HashOfHashes};
-
-const BATCH_SIZE: usize = 512;
+use cuprate_fast_sync::FAST_SYNC_BATCH_LEN;
 
 async fn read_batch(
     handle: &mut BlockchainReadHandle,
     height_from: usize,
-) -> DbResult<Vec<BlockId>> {
-    let mut block_ids = Vec::<BlockId>::with_capacity(BATCH_SIZE);
+) -> DbResult<Vec<[u8; 32]>> {
+    let request = BlockchainReadRequest::BlockHashInRange(
+        height_from..(height_from + FAST_SYNC_BATCH_LEN),
+        Chain::Main,
+    );
+    let response_channel = handle.ready().await?.call(request);
+    let response = response_channel.await?;
 
-    for height in height_from..(height_from + BATCH_SIZE) {
-        let request = BlockchainReadRequest::BlockHash(height, Chain::Main);
-        let response_channel = handle.ready().await?.call(request);
-        let response = response_channel.await?;
-
-        match response {
-            BlockchainResponse::BlockHash(block_id) => block_ids.push(block_id),
-            _ => unreachable!(),
-        }
-    }
+    let BlockchainResponse::BlockHashInRange(block_ids) = response else {
+        unreachable!()
+    };
 
     Ok(block_ids)
 }
 
-fn generate_hex(hashes: &[HashOfHashes]) -> String {
-    let mut s = String::new();
-
-    writeln!(&mut s, "[").unwrap();
-
-    for hash in hashes {
-        writeln!(&mut s, "\thex!(\"{}\"),", hex::encode(hash)).unwrap();
-    }
-
-    writeln!(&mut s, "]").unwrap();
-
-    s
-}
-
 #[derive(Parser)]
 #[command(version, about, long_about = None)]
 struct Args {
-    #[arg(short, long)]
+    #[arg(long)]
     height: usize,
 }
 
@@ -74,7 +56,7 @@ async fn main() {
 
     let mut height = 0_usize;
 
-    while height < height_target {
+    while (height + FAST_SYNC_BATCH_LEN) < height_target {
         if let Ok(block_ids) = read_batch(&mut read_handle, height).await {
             let hash = hash_of_hashes(block_ids.as_slice());
             hashes_of_hashes.push(hash);
@@ -82,13 +64,22 @@ async fn main() {
             println!("Failed to read next batch from database");
             break;
         }
-        height += BATCH_SIZE;
+        height += FAST_SYNC_BATCH_LEN;
+
+        println!("height: {height}");
     }
 
     drop(read_handle);
 
-    let generated = generate_hex(&hashes_of_hashes);
-    write("src/data/hashes_of_hashes", generated).expect("Could not write file");
+    write(
+        "data/fast_sync_hashes.bin",
+        hashes_of_hashes.concat().as_slice(),
+    )
+    .expect("Could not write file");
 
     println!("Generated hashes up to block height {height}");
 }
+
+pub fn hash_of_hashes(hashes: &[[u8; 32]]) -> [u8; 32] {
+    blake3::hash(hashes.concat().as_slice()).into()
+}
diff --git a/consensus/fast-sync/src/data/hashes_of_hashes b/consensus/fast-sync/src/data/hashes_of_hashes
deleted file mode 100644
index 2e5e99aa..00000000
--- a/consensus/fast-sync/src/data/hashes_of_hashes
+++ /dev/null
@@ -1,12 +0,0 @@
-[
-	hex_literal::hex!("1adffbaf832784406018009e07d3dc3a39da7edb6632523c119ed8acb32eb934"),
-	hex_literal::hex!("ae960265e3398d04f3cd4f949ed13c2689424887c71c1441a03d900a9d3a777f"),
-	hex_literal::hex!("938c72d267bbd3a17cdecbe02443d00012ee62d6e9f3524f5a914192110b1798"),
-	hex_literal::hex!("de0c82e51549b6514b42a591fd5440dddb5cc0118ec461459a99017bf06a0a0a"),
-	hex_literal::hex!("9a50f4586ec7e0fb58c6383048d3b334180235fd34bb714af20f1a3ebce4c911"),
-	hex_literal::hex!("5a3942f9bb318d65997bf57c40e045d62e7edbe35f3dae57499c2c5554896543"),
-	hex_literal::hex!("9dccee3b094cdd1b98e357c2c81bfcea798ea75efd94e67c6f5e86f428c5ec2c"),
-	hex_literal::hex!("620397540d44f21c3c57c20e9d47c6aaf0b1bf4302a4d43e75f2e33edd1a4032"),
-	hex_literal::hex!("ef6c612fb17bd70ac2ac69b2f85a421b138cc3a81daf622b077cb402dbf68377"),
-	hex_literal::hex!("6815ecb2bd73a3ba5f20558bfe1b714c30d6892b290e0d6f6cbf18237cedf75a"),
-]
diff --git a/consensus/fast-sync/src/fast_sync.rs b/consensus/fast-sync/src/fast_sync.rs
index 6016bb0c..faacc2bd 100644
--- a/consensus/fast-sync/src/fast_sync.rs
+++ b/consensus/fast-sync/src/fast_sync.rs
@@ -1,225 +1,214 @@
 use std::{
-    cmp,
-    collections::HashMap,
-    future::Future,
-    pin::Pin,
-    task::{Context, Poll},
+    cmp::min,
+    collections::{HashMap, VecDeque},
+    sync::OnceLock,
 };
 
+use blake3::Hasher;
 use monero_serai::{
     block::Block,
     transaction::{Input, Transaction},
 };
-use tower::Service;
+use tower::{Service, ServiceExt};
 
+use cuprate_blockchain::service::BlockchainReadHandle;
 use cuprate_consensus::transactions::new_tx_verification_data;
-use cuprate_consensus_context::BlockchainContextService;
-use cuprate_consensus_rules::{miner_tx::MinerTxError, ConsensusError};
-use cuprate_helper::cast::u64_to_usize;
-use cuprate_types::{VerifiedBlockInformation, VerifiedTransactionInformation};
+use cuprate_consensus_context::BlockchainContext;
+use cuprate_p2p::block_downloader::ChainEntry;
+use cuprate_p2p_core::NetworkZone;
+use cuprate_types::{
+    blockchain::{BlockchainReadRequest, BlockchainResponse},
+    Chain, VerifiedBlockInformation, VerifiedTransactionInformation,
+};
 
-use crate::{hash_of_hashes, BlockId, HashOfHashes};
+/// A [`OnceLock`] representing the fast sync hashes.
+static FAST_SYNC_HASHES: OnceLock<&[[u8; 32]]> = OnceLock::new();
 
-#[cfg(not(test))]
-static HASHES_OF_HASHES: &[HashOfHashes] = &include!("./data/hashes_of_hashes");
+/// The size of a batch of block hashes to hash to create a fast sync hash.
+pub const FAST_SYNC_BATCH_LEN: usize = 512;
 
-#[cfg(not(test))]
-const BATCH_SIZE: usize = 512;
-
-#[cfg(test)]
-static HASHES_OF_HASHES: &[HashOfHashes] = &[
-    hex_literal::hex!("3fdc9032c16d440f6c96be209c36d3d0e1aed61a2531490fe0ca475eb615c40a"),
-    hex_literal::hex!("0102030405060708010203040506070801020304050607080102030405060708"),
-    hex_literal::hex!("0102030405060708010203040506070801020304050607080102030405060708"),
-];
-
-#[cfg(test)]
-const BATCH_SIZE: usize = 4;
-
-#[inline]
-fn max_height() -> u64 {
-    (HASHES_OF_HASHES.len() * BATCH_SIZE) as u64
+/// Returns the height of the first block not included in the embedded hashes.
+///
+/// # Panics
+///
+/// This function will panic if [`set_fast_sync_hashes`] has not been called.
+pub fn fast_sync_stop_height() -> usize {
+    FAST_SYNC_HASHES.get().unwrap().len() * FAST_SYNC_BATCH_LEN
 }
 
-#[derive(Debug, PartialEq, Eq)]
-pub struct ValidBlockId(BlockId);
-
-fn valid_block_ids(block_ids: &[BlockId]) -> Vec<ValidBlockId> {
-    block_ids.iter().map(|b| ValidBlockId(*b)).collect()
+/// Sets the hashes to use for fast-sync.
+///
+/// # Panics
+///
+/// This will panic if this is called more than once.
+pub fn set_fast_sync_hashes(hashes: &'static [[u8; 32]]) {
+    FAST_SYNC_HASHES.set(hashes).unwrap();
 }
 
-#[expect(clippy::large_enum_variant)]
-pub enum FastSyncRequest {
-    ValidateHashes {
-        start_height: u64,
-        block_ids: Vec<BlockId>,
-    },
-    ValidateBlock {
-        block: Block,
-        txs: HashMap<[u8; 32], Transaction>,
-        token: ValidBlockId,
-    },
-}
-
-#[expect(clippy::large_enum_variant)]
-#[derive(Debug, PartialEq, Eq)]
-pub enum FastSyncResponse {
-    ValidateHashes {
-        validated_hashes: Vec<ValidBlockId>,
-        unknown_hashes: Vec<BlockId>,
-    },
-    ValidateBlock(VerifiedBlockInformation),
-}
-
-#[derive(thiserror::Error, Debug, PartialEq, Eq)]
-pub enum FastSyncError {
-    #[error("Block does not match its expected hash")]
-    BlockHashMismatch,
-
-    #[error("Start height must be a multiple of the batch size")]
-    InvalidStartHeight,
-
-    #[error("Hash of hashes mismatch")]
-    Mismatch,
-
-    #[error("Given range too small for fast sync (less than one batch)")]
-    NothingToDo,
-
-    #[error("Start height too high for fast sync")]
-    OutOfRange,
-
-    #[error("Block does not have the expected height entry")]
-    BlockHeightMismatch,
-
-    #[error("Block does not contain the expected transaction list")]
-    TxsIncludedWithBlockIncorrect,
-
-    #[error(transparent)]
-    Consensus(#[from] ConsensusError),
-
-    #[error(transparent)]
-    MinerTx(#[from] MinerTxError),
-
-    #[error("Database error: {0}")]
-    DbErr(String),
-}
-
-impl From<tower::BoxError> for FastSyncError {
-    fn from(error: tower::BoxError) -> Self {
-        Self::DbErr(error.to_string())
-    }
-}
-
-pub struct FastSyncService {
-    context_svc: BlockchainContextService,
-}
-
-impl FastSyncService {
-    #[expect(dead_code)]
-    pub(crate) const fn new(context_svc: BlockchainContextService) -> Self {
-        Self { context_svc }
-    }
-}
-
-impl Service<FastSyncRequest> for FastSyncService {
-    type Response = FastSyncResponse;
-    type Error = FastSyncError;
-    type Future =
-        Pin<Box<dyn Future<Output = Result<Self::Response, Self::Error>> + Send + 'static>>;
-
-    fn poll_ready(&mut self, _: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
-        Poll::Ready(Ok(()))
+/// Validates that the given [`ChainEntry`]s are in the fast-sync hashes.
+///
+/// `entries` should be a list of sequential entries.
+/// `start_height` should be the height of the first block in the first entry.
+///
+/// Returns a tuple, the first element being the entries that are valid* the second
+/// the entries we do not know are valid and should be passed in again when we have more entries.
+///
+/// *once we are passed the fast sync blocks all entries will be returned as valid as
+/// we can not check their validity here.
+///
+/// There may be more entries returned than passed in as entries could be split.
+///
+/// # Panics
+///
+/// This will panic if [`set_fast_sync_hashes`] has not been called.
+pub async fn validate_entries<N: NetworkZone>(
+    mut entries: VecDeque<ChainEntry<N>>,
+    start_height: usize,
+    blockchain_read_handle: &mut BlockchainReadHandle,
+) -> Result<(VecDeque<ChainEntry<N>>, VecDeque<ChainEntry<N>>), tower::BoxError> {
+    // if we are past the top fast sync block return all entries as valid.
+    if start_height >= fast_sync_stop_height() {
+        return Ok((entries, VecDeque::new()));
     }
 
-    fn call(&mut self, req: FastSyncRequest) -> Self::Future {
-        let mut context_svc = self.context_svc.clone();
+    /*
+       The algorithm used here needs to preserve which peer told us about which blocks, so we cannot
+       simply join all the hashes together return all the ones that can be validated and the ones that
+       can't, we need to keep the batches separate.
 
-        Box::pin(async move {
-            match req {
-                FastSyncRequest::ValidateHashes {
-                    start_height,
-                    block_ids,
-                } => validate_hashes(start_height, &block_ids),
-                FastSyncRequest::ValidateBlock { block, txs, token } => {
-                    validate_block(&mut context_svc, block, txs, &token)
-                }
-            }
-        })
-    }
-}
+       The first step is to calculate how many hashes we need from the blockchain to make up the first
+       fast-sync hash.
 
-fn validate_hashes(
-    start_height: u64,
-    block_ids: &[BlockId],
-) -> Result<FastSyncResponse, FastSyncError> {
-    let start_height_usize = u64_to_usize(start_height);
+       Then will take out all the batches at the end for which we cannot make up a full fast-sync hash
+       for, we will split a batch if it can only be partially validated.
 
-    if start_height_usize % BATCH_SIZE != 0 {
-        return Err(FastSyncError::InvalidStartHeight);
-    }
+       With the remaining hashes from the blockchain and the hashes in the batches we can validate we
+       work on calculating the fast sync hashes and comparing them to the ones in [`FAST_SYNC_HASHES`].
+    */
 
-    if start_height >= max_height() {
-        return Err(FastSyncError::OutOfRange);
-    }
+    // First calculate the start and stop for this range of hashes.
+    let hashes_start_height = (start_height / FAST_SYNC_BATCH_LEN) * FAST_SYNC_BATCH_LEN;
+    let amount_of_hashes = entries.iter().map(|e| e.ids.len()).sum::<usize>();
+    let last_height = amount_of_hashes + start_height;
 
-    let stop_height = start_height_usize + block_ids.len();
+    let hashes_stop_height = min(
+        (last_height / FAST_SYNC_BATCH_LEN) * FAST_SYNC_BATCH_LEN,
+        fast_sync_stop_height(),
+    );
 
-    let batch_from = start_height_usize / BATCH_SIZE;
-    let batch_to = cmp::min(stop_height / BATCH_SIZE, HASHES_OF_HASHES.len());
-    let n_batches = batch_to - batch_from;
+    let mut hashes_stop_diff_last_height = last_height - hashes_stop_height;
 
-    if n_batches == 0 {
-        return Err(FastSyncError::NothingToDo);
-    }
+    let mut unknown = VecDeque::new();
 
-    for i in 0..n_batches {
-        let batch = &block_ids[BATCH_SIZE * i..BATCH_SIZE * (i + 1)];
-        let actual = hash_of_hashes(batch);
-        let expected = HASHES_OF_HASHES[batch_from + i];
+    // start moving from the back of the batches taking enough hashes out so we are only left with hashes
+    // that can be verified.
+    while !entries.is_empty() && hashes_stop_diff_last_height != 0 {
+        let back = entries.back_mut().unwrap();
 
-        if expected != actual {
-            return Err(FastSyncError::Mismatch);
+        if back.ids.len() >= hashes_stop_diff_last_height {
+            // This batch is partially valid so split it.
+            unknown.push_front(ChainEntry {
+                ids: back
+                    .ids
+                    .drain((back.ids.len() - hashes_stop_diff_last_height)..)
+                    .collect(),
+                peer: back.peer,
+                handle: back.handle.clone(),
+            });
+
+            break;
         }
+
+        // Add this batch to the front of the unknowns, we do not know its validity.
+        let back = entries.pop_back().unwrap();
+        hashes_stop_diff_last_height -= back.ids.len();
+        unknown.push_front(back);
     }
 
-    let validated_hashes = valid_block_ids(&block_ids[..n_batches * BATCH_SIZE]);
-    let unknown_hashes = block_ids[n_batches * BATCH_SIZE..].to_vec();
+    // get the hashes we are missing to create the first fast-sync hash.
+    let BlockchainResponse::BlockHashInRange(hashes) = blockchain_read_handle
+        .ready()
+        .await?
+        .call(BlockchainReadRequest::BlockHashInRange(
+            hashes_start_height..start_height,
+            Chain::Main,
+        ))
+        .await?
+    else {
+        unreachable!()
+    };
 
-    Ok(FastSyncResponse::ValidateHashes {
-        validated_hashes,
-        unknown_hashes,
-    })
+    // Start verifying the hashes.
+    let mut hasher = Hasher::default();
+    let mut last_i = 1;
+    for (i, hash) in hashes
+        .iter()
+        .chain(entries.iter().flat_map(|e| e.ids.iter()))
+        .enumerate()
+    {
+        hasher.update(hash);
+
+        if (i + 1) % FAST_SYNC_BATCH_LEN == 0 {
+            let got_hash = hasher.finalize();
+
+            if got_hash
+                != FAST_SYNC_HASHES.get().unwrap()
+                    [get_hash_index_for_height(hashes_start_height + i)]
+            {
+                return Err("Hashes do not match".into());
+            }
+            hasher.reset();
+        }
+
+        last_i = i + 1;
+    }
+    // Make sure we actually checked all hashes.
+    assert_eq!(last_i % FAST_SYNC_BATCH_LEN, 0);
+
+    Ok((entries, unknown))
 }
 
-fn validate_block(
-    context_svc: &mut BlockchainContextService,
-    block: Block,
-    mut txs: HashMap<[u8; 32], Transaction>,
-    token: &ValidBlockId,
-) -> Result<FastSyncResponse, FastSyncError> {
-    let block_chain_ctx = context_svc.blockchain_context().clone();
+/// Get the index of the hash that contains this block in the fast sync hashes.
+const fn get_hash_index_for_height(height: usize) -> usize {
+    height / FAST_SYNC_BATCH_LEN
+}
 
+/// Creates a [`VerifiedBlockInformation`] from a block known to be valid.
+///
+/// # Panics
+///
+/// This may panic if used on an invalid block.
+pub fn block_to_verified_block_information(
+    block: Block,
+    txs: Vec<Transaction>,
+    blockchin_ctx: &BlockchainContext,
+) -> VerifiedBlockInformation {
     let block_hash = block.hash();
-    if block_hash != token.0 {
-        return Err(FastSyncError::BlockHashMismatch);
-    }
 
     let block_blob = block.serialize();
 
     let Some(Input::Gen(height)) = block.miner_transaction.prefix().inputs.first() else {
-        return Err(FastSyncError::MinerTx(MinerTxError::InputNotOfTypeGen));
+        panic!("fast sync block invalid");
     };
-    if *height != block_chain_ctx.chain_height {
-        return Err(FastSyncError::BlockHeightMismatch);
-    }
+
+    assert_eq!(
+        *height, blockchin_ctx.chain_height,
+        "fast sync block invalid"
+    );
+
+    let mut txs = txs
+        .into_iter()
+        .map(|tx| {
+            let data = new_tx_verification_data(tx).expect("fast sync block invalid");
+
+            (data.tx_hash, data)
+        })
+        .collect::<HashMap<_, _>>();
 
     let mut verified_txs = Vec::with_capacity(txs.len());
     for tx in &block.transactions {
-        let tx = txs
-            .remove(tx)
-            .ok_or(FastSyncError::TxsIncludedWithBlockIncorrect)?;
+        let data = txs.remove(tx).expect("fast sync block invalid");
 
-        let data = new_tx_verification_data(tx)?;
         verified_txs.push(VerifiedTransactionInformation {
             tx_blob: data.tx_blob,
             tx_weight: data.tx_weight,
@@ -243,68 +232,16 @@ fn validate_block(
     let weight = block.miner_transaction.weight()
         + verified_txs.iter().map(|tx| tx.tx_weight).sum::<usize>();
 
-    Ok(FastSyncResponse::ValidateBlock(VerifiedBlockInformation {
+    VerifiedBlockInformation {
         block_blob,
         txs: verified_txs,
         block_hash,
-        pow_hash: [0_u8; 32],
+        pow_hash: [u8::MAX; 32],
         height: *height,
         generated_coins,
         weight,
-        long_term_weight: block_chain_ctx.next_block_long_term_weight(weight),
-        cumulative_difficulty: block_chain_ctx.cumulative_difficulty
-            + block_chain_ctx.next_difficulty,
+        long_term_weight: blockchin_ctx.next_block_long_term_weight(weight),
+        cumulative_difficulty: blockchin_ctx.cumulative_difficulty + blockchin_ctx.next_difficulty,
         block,
-    }))
-}
-
-#[cfg(test)]
-mod tests {
-    use super::*;
-
-    #[test]
-    fn test_validate_hashes_errors() {
-        let ids = [[1_u8; 32], [2_u8; 32], [3_u8; 32], [4_u8; 32], [5_u8; 32]];
-        assert_eq!(
-            validate_hashes(3, &[]),
-            Err(FastSyncError::InvalidStartHeight)
-        );
-        assert_eq!(
-            validate_hashes(3, &ids),
-            Err(FastSyncError::InvalidStartHeight)
-        );
-
-        assert_eq!(validate_hashes(20, &[]), Err(FastSyncError::OutOfRange));
-        assert_eq!(validate_hashes(20, &ids), Err(FastSyncError::OutOfRange));
-
-        assert_eq!(validate_hashes(4, &[]), Err(FastSyncError::NothingToDo));
-        assert_eq!(
-            validate_hashes(4, &ids[..3]),
-            Err(FastSyncError::NothingToDo)
-        );
-    }
-
-    #[test]
-    fn test_validate_hashes_success() {
-        let ids = [[1_u8; 32], [2_u8; 32], [3_u8; 32], [4_u8; 32], [5_u8; 32]];
-        let validated_hashes = valid_block_ids(&ids[0..4]);
-        let unknown_hashes = ids[4..].to_vec();
-        assert_eq!(
-            validate_hashes(0, &ids),
-            Ok(FastSyncResponse::ValidateHashes {
-                validated_hashes,
-                unknown_hashes
-            })
-        );
-    }
-
-    #[test]
-    fn test_validate_hashes_mismatch() {
-        let ids = [
-            [1_u8; 32], [2_u8; 32], [3_u8; 32], [5_u8; 32], [1_u8; 32], [2_u8; 32], [3_u8; 32],
-            [4_u8; 32],
-        ];
-        assert_eq!(validate_hashes(0, &ids), Err(FastSyncError::Mismatch));
-        assert_eq!(validate_hashes(4, &ids), Err(FastSyncError::Mismatch));
     }
 }
diff --git a/consensus/fast-sync/src/lib.rs b/consensus/fast-sync/src/lib.rs
index 8dbdc649..c42ff4ca 100644
--- a/consensus/fast-sync/src/lib.rs
+++ b/consensus/fast-sync/src/lib.rs
@@ -4,7 +4,9 @@ use cuprate_blockchain as _;
 use hex as _;
 use tokio as _;
 
-pub mod fast_sync;
-pub mod util;
+mod fast_sync;
 
-pub use util::{hash_of_hashes, BlockId, HashOfHashes};
+pub use fast_sync::{
+    block_to_verified_block_information, fast_sync_stop_height, set_fast_sync_hashes,
+    validate_entries, FAST_SYNC_BATCH_LEN,
+};
diff --git a/consensus/fast-sync/src/util.rs b/consensus/fast-sync/src/util.rs
deleted file mode 100644
index f8460f63..00000000
--- a/consensus/fast-sync/src/util.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-use sha3::{Digest, Keccak256};
-
-pub type BlockId = [u8; 32];
-pub type HashOfHashes = [u8; 32];
-
-pub fn hash_of_hashes(hashes: &[BlockId]) -> HashOfHashes {
-    Keccak256::digest(hashes.concat().as_slice()).into()
-}
diff --git a/p2p/p2p/src/block_downloader.rs b/p2p/p2p/src/block_downloader.rs
index db103000..ddfc2beb 100644
--- a/p2p/p2p/src/block_downloader.rs
+++ b/p2p/p2p/src/block_downloader.rs
@@ -7,7 +7,7 @@
 //! The block downloader is started by [`download_blocks`].
 use std::{
     cmp::{max, min, Reverse},
-    collections::{BTreeMap, BinaryHeap},
+    collections::{BTreeMap, BinaryHeap, VecDeque},
     time::Duration,
 };
 
@@ -28,9 +28,9 @@ use cuprate_pruning::PruningSeed;
 use crate::{
     constants::{
         BLOCK_DOWNLOADER_REQUEST_TIMEOUT, EMPTY_CHAIN_ENTRIES_BEFORE_TOP_ASSUMED, LONG_BAN,
-        MAX_BLOCK_BATCH_LEN, MAX_DOWNLOAD_FAILURES,
+        MAX_BLOCK_BATCH_LEN, MAX_DOWNLOAD_FAILURES, MOST_RECENT_BATCH_WEIGHTS_FOR_BATCH_SIZE,
     },
-    peer_set::ClientDropGuard,
+    peer_set::{ClientDropGuard, PeerSetRequest, PeerSetResponse},
 };
 
 mod block_queue;
@@ -40,9 +40,9 @@ mod request_chain;
 #[cfg(test)]
 mod tests;
 
-use crate::peer_set::{PeerSetRequest, PeerSetResponse};
 use block_queue::{BlockQueue, ReadyQueueBatch};
-use chain_tracker::{BlocksToRetrieve, ChainEntry, ChainTracker};
+pub use chain_tracker::ChainEntry;
+use chain_tracker::{BlocksToRetrieve, ChainTracker};
 use download_batch::download_batch_task;
 use request_chain::{initial_chain_search, request_chain_entry_from_peer};
 
@@ -95,17 +95,19 @@ pub(crate) enum BlockDownloadError {
 }
 
 /// The request type for the chain service.
-pub enum ChainSvcRequest {
+pub enum ChainSvcRequest<N: NetworkZone> {
     /// A request for the current chain history.
     CompactHistory,
     /// A request to find the first unknown block ID in a list of block IDs.
     FindFirstUnknown(Vec<[u8; 32]>),
     /// A request for our current cumulative difficulty.
     CumulativeDifficulty,
+
+    ValidateEntries(VecDeque<ChainEntry<N>>, usize),
 }
 
 /// The response type for the chain service.
-pub enum ChainSvcResponse {
+pub enum ChainSvcResponse<N: NetworkZone> {
     /// The response for [`ChainSvcRequest::CompactHistory`].
     CompactHistory {
         /// A list of blocks IDs in our chain, starting with the most recent block, all the way to the genesis block.
@@ -123,6 +125,11 @@ pub enum ChainSvcResponse {
     ///
     /// The current cumulative difficulty of our chain.
     CumulativeDifficulty(u128),
+
+    ValidateEntries {
+        valid: VecDeque<ChainEntry<N>>,
+        unknown: VecDeque<ChainEntry<N>>,
+    },
 }
 
 /// This function starts the block downloader and returns a [`BufferStream`] that will produce
@@ -140,7 +147,7 @@ pub fn download_blocks<N: NetworkZone, C>(
     config: BlockDownloaderConfig,
 ) -> BufferStream<BlockBatch>
 where
-    C: Service<ChainSvcRequest, Response = ChainSvcResponse, Error = tower::BoxError>
+    C: Service<ChainSvcRequest<N>, Response = ChainSvcResponse<N>, Error = tower::BoxError>
         + Send
         + 'static,
     C::Future: Send + 'static,
@@ -191,10 +198,7 @@ struct BlockDownloader<N: NetworkZone, C> {
     /// The service that holds our current chain state.
     our_chain_svc: C,
 
-    /// The amount of blocks to request in the next batch.
-    amount_of_blocks_to_request: usize,
-    /// The height at which [`Self::amount_of_blocks_to_request`] was updated.
-    amount_of_blocks_to_request_updated_at: usize,
+    most_recent_batch_sizes: BinaryHeap<Reverse<(usize, BatchSizeInformation)>>,
 
     /// The amount of consecutive empty chain entries we received.
     ///
@@ -227,7 +231,7 @@ struct BlockDownloader<N: NetworkZone, C> {
 
 impl<N: NetworkZone, C> BlockDownloader<N, C>
 where
-    C: Service<ChainSvcRequest, Response = ChainSvcResponse, Error = tower::BoxError>
+    C: Service<ChainSvcRequest<N>, Response = ChainSvcResponse<N>, Error = tower::BoxError>
         + Send
         + 'static,
     C::Future: Send + 'static,
@@ -242,8 +246,7 @@ where
         Self {
             peer_set,
             our_chain_svc,
-            amount_of_blocks_to_request: config.initial_batch_len,
-            amount_of_blocks_to_request_updated_at: 0,
+            most_recent_batch_sizes: BinaryHeap::new(),
             amount_of_empty_chain_entries: 0,
             block_download_tasks: JoinSet::new(),
             chain_entry_task: JoinSet::new(),
@@ -280,6 +283,28 @@ where
         }
     }
 
+    fn amount_of_blocks_to_request(&self) -> usize {
+        let biggest_batch = self
+            .most_recent_batch_sizes
+            .iter()
+            .max_by(|batch_1, batch_2| {
+                let av1 = batch_1.0 .1.byte_size / batch_1.0 .1.len;
+                let av2 = batch_2.0 .1.byte_size / batch_2.0 .1.len;
+
+                av1.cmp(&av2)
+            });
+
+        let Some(biggest_batch) = biggest_batch else {
+            return self.config.initial_batch_len;
+        };
+
+        calculate_next_block_batch_size(
+            biggest_batch.0 .1.byte_size,
+            biggest_batch.0 .1.len,
+            self.config.target_batch_bytes,
+        )
+    }
+
     /// Attempts to send another request for an inflight batch
     ///
     /// This function will find the batch(es) that we are waiting on to clear our ready queue and sends another request
@@ -387,9 +412,10 @@ where
 
         // No failed requests that we can handle, request some new blocks.
 
-        let Some(mut block_entry_to_get) = chain_tracker
-            .blocks_to_get(&client.info.pruning_seed, self.amount_of_blocks_to_request)
-        else {
+        let Some(mut block_entry_to_get) = chain_tracker.blocks_to_get(
+            &client.info.pruning_seed,
+            self.amount_of_blocks_to_request(),
+        ) else {
             return Some(client);
         };
 
@@ -428,7 +454,7 @@ where
             && self.amount_of_empty_chain_entries <= EMPTY_CHAIN_ENTRIES_BEFORE_TOP_ASSUMED
             // Check we have a big buffer of pending block IDs to retrieve, we don't want to be waiting around
             // for a chain entry.
-            && chain_tracker.block_requests_queued(self.amount_of_blocks_to_request) < 500
+            && chain_tracker.block_requests_queued(self.amount_of_blocks_to_request()) < 500
             // Make sure this peer actually has the chain.
             && chain_tracker.should_ask_for_next_chain_entry(&client.info.pruning_seed)
         {
@@ -561,19 +587,25 @@ where
 
                 // If the batch is higher than the last time we updated `amount_of_blocks_to_request`, update it
                 // again.
-                if start_height > self.amount_of_blocks_to_request_updated_at {
-                    self.amount_of_blocks_to_request = calculate_next_block_batch_size(
-                        block_batch.size,
-                        block_batch.blocks.len(),
-                        self.config.target_batch_bytes,
-                    );
+                if start_height
+                    > self
+                        .most_recent_batch_sizes
+                        .peek()
+                        .map(|Reverse((height, _))| *height)
+                        .unwrap_or_default()
+                {
+                    self.most_recent_batch_sizes.push(Reverse((
+                        start_height,
+                        BatchSizeInformation {
+                            len: block_batch.blocks.len(),
+                            byte_size: block_batch.size,
+                        },
+                    )));
 
-                    tracing::debug!(
-                        "Updating batch size of new batches, new size: {}",
-                        self.amount_of_blocks_to_request
-                    );
-
-                    self.amount_of_blocks_to_request_updated_at = start_height;
+                    if self.most_recent_batch_sizes.len() > MOST_RECENT_BATCH_WEIGHTS_FOR_BATCH_SIZE
+                    {
+                        self.most_recent_batch_sizes.pop();
+                    }
                 }
 
                 self.block_queue
@@ -642,12 +674,15 @@ where
                 Some(Ok(res)) = self.chain_entry_task.join_next() => {
                     match res {
                         Ok((client, entry)) => {
-                            if chain_tracker.add_entry(entry).is_ok() {
-                                tracing::debug!("Successfully added chain entry to chain tracker.");
-                                self.amount_of_empty_chain_entries = 0;
-                            } else {
-                                tracing::debug!("Failed to add incoming chain entry to chain tracker.");
-                                self.amount_of_empty_chain_entries += 1;
+                            match chain_tracker.add_entry(entry, &mut self.our_chain_svc).await {
+                                Ok(()) => {
+                                    tracing::debug!("Successfully added chain entry to chain tracker.");
+                                    self.amount_of_empty_chain_entries = 0;
+                                }
+                                Err(e) => {
+                                    tracing::debug!("Failed to add incoming chain entry to chain tracker: {e:?}");
+                                    self.amount_of_empty_chain_entries += 1;
+                                }
                             }
 
                             pending_peers
@@ -683,6 +718,12 @@ const fn client_has_block_in_range(
         && pruning_seed.has_full_block(start_height + length, MAX_BLOCK_HEIGHT_USIZE)
 }
 
+#[derive(Debug, Ord, PartialOrd, Eq, PartialEq)]
+struct BatchSizeInformation {
+    len: usize,
+    byte_size: usize,
+}
+
 /// Calculates the next amount of blocks to request in a batch.
 ///
 /// Parameters:
diff --git a/p2p/p2p/src/block_downloader/chain_tracker.rs b/p2p/p2p/src/block_downloader/chain_tracker.rs
index df5aebb5..33f294f0 100644
--- a/p2p/p2p/src/block_downloader/chain_tracker.rs
+++ b/p2p/p2p/src/block_downloader/chain_tracker.rs
@@ -1,16 +1,20 @@
-use std::{cmp::min, collections::VecDeque};
+use std::{cmp::min, collections::VecDeque, mem};
 
 use cuprate_fixed_bytes::ByteArrayVec;
+use tower::{Service, ServiceExt};
 
 use cuprate_constants::block::MAX_BLOCK_HEIGHT_USIZE;
 use cuprate_p2p_core::{client::InternalPeerID, handles::ConnectionHandle, NetworkZone};
 use cuprate_pruning::PruningSeed;
 
-use crate::constants::MEDIUM_BAN;
+use crate::{
+    block_downloader::{ChainSvcRequest, ChainSvcResponse},
+    constants::MEDIUM_BAN,
+};
 
 /// A new chain entry to add to our chain tracker.
 #[derive(Debug)]
-pub(crate) struct ChainEntry<N: NetworkZone> {
+pub struct ChainEntry<N: NetworkZone> {
     /// A list of block IDs.
     pub ids: Vec<[u8; 32]>,
     /// The peer who told us about this chain entry.
@@ -39,12 +43,15 @@ pub(crate) struct BlocksToRetrieve<N: NetworkZone> {
 }
 
 /// An error returned from the [`ChainTracker`].
-#[derive(Debug, Clone)]
+#[derive(Debug)]
 pub(crate) enum ChainTrackerError {
     /// The new chain entry is invalid.
     NewEntryIsInvalid,
+    NewEntryIsEmpty,
     /// The new chain entry does not follow from the top of our chain tracker.
     NewEntryDoesNotFollowChain,
+    #[expect(dead_code)] // This is used for logging
+    ChainSvcError(tower::BoxError),
 }
 
 /// # Chain Tracker
@@ -52,8 +59,10 @@ pub(crate) enum ChainTrackerError {
 /// This struct allows following a single chain. It takes in [`ChainEntry`]s and
 /// allows getting [`BlocksToRetrieve`].
 pub(crate) struct ChainTracker<N: NetworkZone> {
-    /// A list of [`ChainEntry`]s, in order.
-    entries: VecDeque<ChainEntry<N>>,
+    /// A list of [`ChainEntry`]s, in order, that we should request.
+    valid_entries: VecDeque<ChainEntry<N>>,
+    /// A list of [`ChainEntry`]s that are pending more [`ChainEntry`]s to check validity.
+    unknown_entries: VecDeque<ChainEntry<N>>,
     /// The height of the first block, in the first entry in [`Self::entries`].
     first_height: usize,
     /// The hash of the last block in the last entry.
@@ -66,23 +75,39 @@ pub(crate) struct ChainTracker<N: NetworkZone> {
 
 impl<N: NetworkZone> ChainTracker<N> {
     /// Creates a new chain tracker.
-    pub(crate) fn new(
+    pub(crate) async fn new<C>(
         new_entry: ChainEntry<N>,
         first_height: usize,
         our_genesis: [u8; 32],
         previous_hash: [u8; 32],
-    ) -> Self {
+        our_chain_svc: &mut C,
+    ) -> Result<Self, ChainTrackerError>
+    where
+        C: Service<ChainSvcRequest<N>, Response = ChainSvcResponse<N>, Error = tower::BoxError>,
+    {
         let top_seen_hash = *new_entry.ids.last().unwrap();
         let mut entries = VecDeque::with_capacity(1);
         entries.push_back(new_entry);
 
-        Self {
-            entries,
+        let ChainSvcResponse::ValidateEntries { valid, unknown } = our_chain_svc
+            .ready()
+            .await
+            .map_err(ChainTrackerError::ChainSvcError)?
+            .call(ChainSvcRequest::ValidateEntries(entries, first_height))
+            .await
+            .map_err(ChainTrackerError::ChainSvcError)?
+        else {
+            unreachable!()
+        };
+
+        Ok(Self {
+            valid_entries: valid,
+            unknown_entries: unknown,
             first_height,
             top_seen_hash,
             previous_hash,
             our_genesis,
-        }
+        })
     }
 
     /// Returns `true` if the peer is expected to have the next block after our highest seen block
@@ -99,8 +124,9 @@ impl<N: NetworkZone> ChainTracker<N> {
     /// Returns the height of the highest block we are tracking.
     pub(crate) fn top_height(&self) -> usize {
         let top_block_idx = self
-            .entries
+            .valid_entries
             .iter()
+            .chain(self.unknown_entries.iter())
             .map(|entry| entry.ids.len())
             .sum::<usize>();
 
@@ -112,32 +138,32 @@ impl<N: NetworkZone> ChainTracker<N> {
     /// # Panics
     /// This function panics if `batch_size` is `0`.
     pub(crate) fn block_requests_queued(&self, batch_size: usize) -> usize {
-        self.entries
+        self.valid_entries
             .iter()
             .map(|entry| entry.ids.len().div_ceil(batch_size))
             .sum()
     }
 
     /// Attempts to add an incoming [`ChainEntry`] to the chain tracker.
-    pub(crate) fn add_entry(
+    pub(crate) async fn add_entry<C>(
         &mut self,
         mut chain_entry: ChainEntry<N>,
-    ) -> Result<(), ChainTrackerError> {
-        if chain_entry.ids.is_empty() {
+        our_chain_svc: &mut C,
+    ) -> Result<(), ChainTrackerError>
+    where
+        C: Service<ChainSvcRequest<N>, Response = ChainSvcResponse<N>, Error = tower::BoxError>,
+    {
+        if chain_entry.ids.len() == 1 {
+            return Err(ChainTrackerError::NewEntryIsEmpty);
+        }
+
+        let Some(first) = chain_entry.ids.first() else {
             // The peer must send at lest one overlapping block.
             chain_entry.handle.ban_peer(MEDIUM_BAN);
             return Err(ChainTrackerError::NewEntryIsInvalid);
-        }
+        };
 
-        if chain_entry.ids.len() == 1 {
-            return Err(ChainTrackerError::NewEntryDoesNotFollowChain);
-        }
-
-        if self
-            .entries
-            .back()
-            .is_some_and(|last_entry| last_entry.ids.last().unwrap() != &chain_entry.ids[0])
-        {
+        if *first != self.top_seen_hash {
             return Err(ChainTrackerError::NewEntryDoesNotFollowChain);
         }
 
@@ -150,7 +176,29 @@ impl<N: NetworkZone> ChainTracker<N> {
 
         self.top_seen_hash = *new_entry.ids.last().unwrap();
 
-        self.entries.push_back(new_entry);
+        self.unknown_entries.push_back(new_entry);
+
+        let ChainSvcResponse::ValidateEntries { mut valid, unknown } = our_chain_svc
+            .ready()
+            .await
+            .map_err(ChainTrackerError::ChainSvcError)?
+            .call(ChainSvcRequest::ValidateEntries(
+                mem::take(&mut self.unknown_entries),
+                self.first_height
+                    + self
+                        .valid_entries
+                        .iter()
+                        .map(|e| e.ids.len())
+                        .sum::<usize>(),
+            ))
+            .await
+            .map_err(ChainTrackerError::ChainSvcError)?
+        else {
+            unreachable!()
+        };
+
+        self.valid_entries.append(&mut valid);
+        self.unknown_entries = unknown;
 
         Ok(())
     }
@@ -167,7 +215,7 @@ impl<N: NetworkZone> ChainTracker<N> {
             return None;
         }
 
-        let entry = self.entries.front_mut()?;
+        let entry = self.valid_entries.front_mut()?;
 
         // Calculate the ending index for us to get in this batch, it will be one of these:
         // - smallest out of `max_blocks`
@@ -204,7 +252,7 @@ impl<N: NetworkZone> ChainTracker<N> {
         self.previous_hash = blocks.ids[blocks.ids.len() - 1];
 
         if entry.ids.is_empty() {
-            self.entries.pop_front();
+            self.valid_entries.pop_front();
         }
 
         Some(blocks)
diff --git a/p2p/p2p/src/block_downloader/request_chain.rs b/p2p/p2p/src/block_downloader/request_chain.rs
index 4e0f855b..9adbaaa8 100644
--- a/p2p/p2p/src/block_downloader/request_chain.rs
+++ b/p2p/p2p/src/block_downloader/request_chain.rs
@@ -84,7 +84,7 @@ pub async fn initial_chain_search<N: NetworkZone, C>(
     mut our_chain_svc: C,
 ) -> Result<ChainTracker<N>, BlockDownloadError>
 where
-    C: Service<ChainSvcRequest, Response = ChainSvcResponse, Error = tower::BoxError>,
+    C: Service<ChainSvcRequest<N>, Response = ChainSvcResponse<N>, Error = tower::BoxError>,
 {
     tracing::debug!("Getting our chain history");
     // Get our history.
@@ -214,7 +214,15 @@ where
         first_entry.ids.len()
     );
 
-    let tracker = ChainTracker::new(first_entry, expected_height, our_genesis, previous_id);
+    let tracker = ChainTracker::new(
+        first_entry,
+        expected_height,
+        our_genesis,
+        previous_id,
+        &mut our_chain_svc,
+    )
+    .await
+    .map_err(|_| BlockDownloadError::ChainInvalid)?;
 
     Ok(tracker)
 }
diff --git a/p2p/p2p/src/block_downloader/tests.rs b/p2p/p2p/src/block_downloader/tests.rs
index 707b858d..3d5808ed 100644
--- a/p2p/p2p/src/block_downloader/tests.rs
+++ b/p2p/p2p/src/block_downloader/tests.rs
@@ -1,4 +1,5 @@
 use std::{
+    collections::VecDeque,
     fmt::{Debug, Formatter},
     future::Future,
     pin::Pin,
@@ -269,8 +270,8 @@ struct OurChainSvc {
     genesis: [u8; 32],
 }
 
-impl Service<ChainSvcRequest> for OurChainSvc {
-    type Response = ChainSvcResponse;
+impl Service<ChainSvcRequest<ClearNet>> for OurChainSvc {
+    type Response = ChainSvcResponse<ClearNet>;
     type Error = tower::BoxError;
     type Future =
         Pin<Box<dyn Future<Output = Result<Self::Response, Self::Error>> + Send + 'static>>;
@@ -279,7 +280,7 @@ impl Service<ChainSvcRequest> for OurChainSvc {
         Poll::Ready(Ok(()))
     }
 
-    fn call(&mut self, req: ChainSvcRequest) -> Self::Future {
+    fn call(&mut self, req: ChainSvcRequest<ClearNet>) -> Self::Future {
         let genesis = self.genesis;
 
         async move {
@@ -292,6 +293,10 @@ impl Service<ChainSvcRequest> for OurChainSvc {
                     ChainSvcResponse::FindFirstUnknown(Some((1, 1)))
                 }
                 ChainSvcRequest::CumulativeDifficulty => ChainSvcResponse::CumulativeDifficulty(1),
+                ChainSvcRequest::ValidateEntries(valid, _) => ChainSvcResponse::ValidateEntries {
+                    valid,
+                    unknown: VecDeque::new(),
+                },
             })
         }
         .boxed()
diff --git a/p2p/p2p/src/constants.rs b/p2p/p2p/src/constants.rs
index a81557c2..e37089f5 100644
--- a/p2p/p2p/src/constants.rs
+++ b/p2p/p2p/src/constants.rs
@@ -75,6 +75,9 @@ pub(crate) const MAX_DOWNLOAD_FAILURES: usize = 5;
 /// The amount of empty chain entries to receive before we assume we have found the top of the chain.
 pub(crate) const EMPTY_CHAIN_ENTRIES_BEFORE_TOP_ASSUMED: usize = 5;
 
+/// The amount of most recent block batches we use to calculate batch size.
+pub(crate) const MOST_RECENT_BATCH_WEIGHTS_FOR_BATCH_SIZE: usize = 100;
+
 #[cfg(test)]
 mod tests {
     use super::*;
diff --git a/p2p/p2p/src/lib.rs b/p2p/p2p/src/lib.rs
index fb506582..e5bfc2cc 100644
--- a/p2p/p2p/src/lib.rs
+++ b/p2p/p2p/src/lib.rs
@@ -168,7 +168,7 @@ impl<N: NetworkZone> NetworkInterface<N> {
         config: BlockDownloaderConfig,
     ) -> BufferStream<BlockBatch>
     where
-        C: Service<ChainSvcRequest, Response = ChainSvcResponse, Error = tower::BoxError>
+        C: Service<ChainSvcRequest<N>, Response = ChainSvcResponse<N>, Error = tower::BoxError>
             + Send
             + 'static,
         C::Future: Send + 'static,
diff --git a/storage/blockchain/src/service/read.rs b/storage/blockchain/src/service/read.rs
index 9d88e66e..c922465c 100644
--- a/storage/blockchain/src/service/read.rs
+++ b/storage/blockchain/src/service/read.rs
@@ -12,6 +12,7 @@
 use std::{
     cmp::min,
     collections::{HashMap, HashSet},
+    ops::Range,
     sync::Arc,
 };
 
@@ -107,6 +108,7 @@ fn map_request(
         R::BlockCompleteEntries(block_hashes) => block_complete_entries(env, block_hashes),
         R::BlockExtendedHeader(block) => block_extended_header(env, block),
         R::BlockHash(block, chain) => block_hash(env, block, chain),
+        R::BlockHashInRange(blocks, chain) => block_hash_in_range(env, blocks, chain),
         R::FindBlock(block_hash) => find_block(env, block_hash),
         R::FilterUnknownHashes(hashes) => filter_unknown_hashes(env, hashes),
         R::BlockExtendedHeaderInRange(range, chain) => {
@@ -271,6 +273,34 @@ fn block_hash(env: &ConcreteEnv, block_height: BlockHeight, chain: Chain) -> Res
     Ok(BlockchainResponse::BlockHash(block_hash))
 }
 
+/// [`BlockchainReadRequest::BlockHashInRange`].
+#[inline]
+fn block_hash_in_range(env: &ConcreteEnv, range: Range<usize>, chain: Chain) -> ResponseResult {
+    // Prepare tx/tables in `ThreadLocal`.
+    let env_inner = env.env_inner();
+    let tx_ro = thread_local(env);
+
+    let block_hash = range
+        .into_par_iter()
+        .map(|block_height| {
+            let tx_ro = tx_ro.get_or_try(|| env_inner.tx_ro())?;
+
+            let table_block_infos = env_inner.open_db_ro::<BlockInfos>(tx_ro)?;
+
+            let block_hash = match chain {
+                Chain::Main => get_block_info(&block_height, &table_block_infos)?.block_hash,
+                Chain::Alt(chain) => {
+                    get_alt_block_hash(&block_height, chain, &env_inner.open_tables(tx_ro)?)?
+                }
+            };
+
+            Ok(block_hash)
+        })
+        .collect::<Result<_, RuntimeError>>()?;
+
+    Ok(BlockchainResponse::BlockHashInRange(block_hash))
+}
+
 /// [`BlockchainReadRequest::FindBlock`]
 fn find_block(env: &ConcreteEnv, block_hash: BlockHash) -> ResponseResult {
     // Single-threaded, no `ThreadLocal` required.
@@ -330,7 +360,7 @@ fn filter_unknown_hashes(env: &ConcreteEnv, mut hashes: HashSet<BlockHash>) -> R
 #[inline]
 fn block_extended_header_in_range(
     env: &ConcreteEnv,
-    range: std::ops::Range<BlockHeight>,
+    range: Range<BlockHeight>,
     chain: Chain,
 ) -> ResponseResult {
     // Prepare tx/tables in `ThreadLocal`.
diff --git a/storage/blockchain/src/service/write.rs b/storage/blockchain/src/service/write.rs
index 84c2538f..c1e857c4 100644
--- a/storage/blockchain/src/service/write.rs
+++ b/storage/blockchain/src/service/write.rs
@@ -39,6 +39,7 @@ fn handle_blockchain_request(
 ) -> DbResult<BlockchainResponse> {
     match req {
         BlockchainWriteRequest::WriteBlock(block) => write_block(env, block),
+        BlockchainWriteRequest::BatchWriteBlocks(blocks) => write_blocks(env, blocks),
         BlockchainWriteRequest::WriteAltBlock(alt_block) => write_alt_block(env, alt_block),
         BlockchainWriteRequest::PopBlocks(numb_blocks) => pop_blocks(env, *numb_blocks),
         BlockchainWriteRequest::ReverseReorg(old_main_chain_id) => {
@@ -80,6 +81,33 @@ fn write_block(env: &ConcreteEnv, block: &VerifiedBlockInformation) -> ResponseR
     }
 }
 
+/// [`BlockchainWriteRequest::BatchWriteBlocks`].
+#[inline]
+fn write_blocks(env: &ConcreteEnv, block: &Vec<VerifiedBlockInformation>) -> ResponseResult {
+    let env_inner = env.env_inner();
+    let tx_rw = env_inner.tx_rw()?;
+
+    let result = {
+        let mut tables_mut = env_inner.open_tables_mut(&tx_rw)?;
+        for block in block {
+            crate::ops::block::add_block(block, &mut tables_mut)?;
+        }
+
+        Ok(())
+    };
+
+    match result {
+        Ok(()) => {
+            TxRw::commit(tx_rw)?;
+            Ok(BlockchainResponse::Ok)
+        }
+        Err(e) => {
+            TxRw::abort(tx_rw).expect(TX_RW_ABORT_FAIL);
+            Err(e)
+        }
+    }
+}
+
 /// [`BlockchainWriteRequest::WriteAltBlock`].
 #[inline]
 fn write_alt_block(env: &ConcreteEnv, block: &AltBlockInformation) -> ResponseResult {
diff --git a/types/src/blockchain.rs b/types/src/blockchain.rs
index 370065c8..07cf925d 100644
--- a/types/src/blockchain.rs
+++ b/types/src/blockchain.rs
@@ -44,6 +44,11 @@ pub enum BlockchainReadRequest {
     /// The input is the block's height and the chain it is on.
     BlockHash(usize, Chain),
 
+    /// Request a range of block's hashes.
+    ///
+    /// The input is the range of block heights and the chain it is on.
+    BlockHashInRange(Range<usize>, Chain),
+
     /// Request to check if we have a block and which [`Chain`] it is on.
     ///
     /// The input is the block's hash.
@@ -173,6 +178,11 @@ pub enum BlockchainWriteRequest {
     /// Input is an already verified block.
     WriteBlock(VerifiedBlockInformation),
 
+    /// Request that a batch of blocks be written to the database.
+    ///
+    /// Input is an already verified batch of blocks.
+    BatchWriteBlocks(Vec<VerifiedBlockInformation>),
+
     /// Write an alternative block to the database,
     ///
     /// Input is the alternative block.
@@ -229,6 +239,11 @@ pub enum BlockchainResponse {
     /// Inner value is the hash of the requested block.
     BlockHash([u8; 32]),
 
+    /// Response to [`BlockchainReadRequest::BlockHashInRange`].
+    ///
+    /// Inner value is the hashes of the requested blocks, in order.
+    BlockHashInRange(Vec<[u8; 32]>),
+
     /// Response to [`BlockchainReadRequest::FindBlock`].
     ///
     /// Inner value is the chain and height of the block if found.