Bitcoin Initial Block Download Statistics
28 Nov 2025
I’ve been studying Bitcoin protocol for some time and to make my learning more hands on, I bought a new server to run Bitcoin full node. By server I mean a mini-pc I bought on PCSpecialist.
Becoming a part of the Bitcoin network requires to download the entire database, a process, which in Bitcoin speak is called Initial Block Download (IBD). The database contains all transactions since Bitcoin launch in January 2009, which was around 760Gb in June 2025 when I downloaded it. Crazy, huh?
I’ve read stories of initial block download take anywhere between 3 days and 2 weeks but I had zero desire to wait for that long. Instead, I had to choose between keeping hardware cost to a minimum without having to wait for too long for synchronisation to complete and not having to replace the outdated hardware in 18 months.
With that tradeoff in mind I chose this spec:
- Intel® Core™ i5 14-Core Processor i5-14500
- 32GB memory
- 2TB SSD storage
To collect IBD statistics I installed Prometheus for metrics storage, Prometheus Node Exporter to collect node metrics and Grafana to visualise them using this awesome dashboard.
Here’s what I found
Network Traffic shows it took almost 11 hours to download blocks at a speed of 150 - 200 Mb/s.

Disk Space growth was MASSIVE!!

Disk Usage reaches whopping 3.5K io/s

Memory usage graph might be a bit misleading. One might think that Bitcoin itself is memory hungry.
However what happens is Linux sees high disk activity and thinks “Oh, this must be hot data — I’ll cache as much as possible in RAM to speed up disk access”.

CPU usage is even more interesting.
Indeed, why CPU usage for the first 9 hours was aroung 10% and then suddenly spiked to 40% in the last 2 hours? It’s because every Bitcoin Core client comes with a constant called Assumed Valid Blocks. It means that every transaction before this block is considered valid. All transactions past this block will be validated which is CPU intensive, hence the spike.
Overall it took 11 hours to download and synchronise blocks. Which is waaaay better compared to what I expected.