pull down to refresh

IBD Performance Milestones in Bitcoin Core Releases

  • Bitcoin Core 0.3.2: Checkpoints: Hardcoded block hashes at specific heights to speed up synchronization by skipping validation of blocks before the checkpoint.
  • Bitcoin Core 0.5.0: Skip Verification of Checkpointed Signatures: Further optimization by skipping signature verification for blocks before checkpoints.
  • Bitcoin Core 0.8.0: LevelDB & Parallel Signature Validation: Replaced BerkeleyDB with LevelDB for better performance and implemented parallel signature validation.
  • Bitcoin Core 0.10.0: Headers-First Sync: Downloads and validates lightweight block headers (80 bytes each) before full blocks, allowing parallel block downloads and protection against fake chains.
  • Bitcoin Core 0.12.0: Switch to libsecp256k1: Replaced OpenSSL with custom-built libsecp256k1 library for signature verification, providing 5-7x speedup in this CPU-intensive operation.
  • Bitcoin Core 0.14.0: AssumeValid: Allows nodes to skip signature verification for blocks before a trusted block hash, reducing IBD time by ~75% compared to previous versions.
  • Bitcoin Core 0.26.0: AssumeUTXO: Will allow nodes to bootstrap from a trusted UTXO set snapshot, enabling immediate transaction verification without waiting for full chain download.
  • UTREEXO (Future): Will optimize Bitcoin's storage by using cryptographic accumulators (Merkle trees) to validate transactions without storing the entire UTXO set.

Find a complete tutorial series of bitcoin technical concepts at https://bitcoindevs.xyz/decoding/welcome
369 sats \ 1 reply \ @nullcount 23h
I have heard claims that libbitcoin can sync a node in less than 1hr. It appears to be limited only by the internet bandwidth of the node running IBD.
If true, how is that possible? And why is bitcoin-core so slow and relying on skipping validation all together to "improve performance"?
Edit: looks like libbitcoin uses multiple async threads to verify ranges of blocks at once https://delvingbitcoin.org/t/libbitcoin-for-core-people/1222
reply
21 sats \ 0 replies \ @Scoresby 18h
Yeah, my understanding is that Core and libbitcoin do verification differently. Voskuil goes into quite a bit of detail about the differences on Vlad's recent podcast.
reply
113 sats \ 1 reply \ @Scoresby 23h
So most recent improvements to IBD times are based on "just trust me, bro." That doesn't seem great.
reply
Indeed, peak clown marketing. Let's call that bullshit out. The y axis is duration so degradation instead of improvement of performance.
reply
UTREEXO is not block download, it's a different thing with different trade-offs
Actually neither of the assumes are either, you're just skipping validation... this graph is nonsense beyond .12
reply
100%
reply
This formatting is god-tier
reply
stackers have outlawed this. turn on wild west mode in your /settings to see outlawed content.
deleted by author