BitDevs Wiki

Source

Transcript

SwiftSync: Hints File, Utreexo Overlap, and Path to the Kernel (Bitcoin Core Dev Tech, May 2026)

Bitcoin Core Dev Tech 2026 (notes via Bitcoin Transcripts)May 8, 2026

Added to the wiki June 17, 2026 at 06:14 PM UTC · full text archived June 17, 2026 at 06:14 PM UTC

SwiftSync is a technique to speed up initial block download using a "hints file" that tells a node which outputs will eventually be spent, so it can skip some work. Work has shrunk the naive ~450 MB encoding to ~116 MB, with research suggesting ~90–100 MB is the practical bound. Distribution is debated: hash-and-download externally (like AssumeUTXO), bundling into the build (with some anxiety about adding blobs), or going straight to peer-to-peer sharing, since externally sourced files "just don't happen" in practice.

A noted insight from the Utreexo community is that their forest accumulator has an add-then-remove property (the root is unchanged if you add and later remove an element) that can be abused to perform SwiftSync, yielding a "proofless Utreexo" that avoids downloading historical proofs — and because Utreexo leaf data is exactly the undo data, this enables fully-validating SwiftSync via the kernel. Three BIPs are drafted, the first two usable even without trusting the hints file (for example, optimistically caching coins straight to disk). The broader aim is a sans-IO block evaluator so SwiftSync, like Utreexo, can live outside an unopinionated kernel, with open questions about committing to undo data and the interplay with AssumeUTXO.

Appears in