Blockchain size is suppose be roughly 523GB but its taking more space on SSD

I’m currently syncing my (apparently unrecommended) Raspberry Pi 4 8GB, 64GB MicroSD, 1TB External SSD Bitcoin Core at the moment which is currently at 95% completion. (For some reason which I haven’t found an explanation yet, it became extremely slow after 90%)

I was curious as to how much space Bitcoin Core is currently taking on my SSD drive and found out it’s currently taking approximately 626.20 GB. I find this pretty mind-boggling because according to the data provided below by blockhain.com, as I’m posting this, the current blockchain size is 523GB. FYI I only installed the Bitcoin Core service and nothing else.
(https://www.blockchain.com/explorer/charts/blocks-size)

During the installation of StartOS, I selected my SSD when it asked me to choose a storage drive, assuming that the StartOS’s main data would be stored on the MicroSD…

Does anyone have a clue as to why a mysterious 103.2GB of space is being used on my SSD?!

The main reason why the more recent blocks take more time to process is that it is also validating scripts in the blocks. Every bitcoin core major release a setting called “assumevalid=” is updated to a certain known good block number. All blocks before that are then assumed valid and don’t have their scripts validated. Here’s a more technical explanation: https://github.com/CryptAxe/info/blob/master/AssumeValid.md

The reason why Bitcoin Core is taking up more space than the “blockchain size”, is that it also keeps indexes like the transaction index (txindex=1 setting) and block filters:

root@xxx:/embassy-data/package-data/volumes/bitcoind/data/main# du -h ./* --threshold=100MB
189M    ./blocks/index
554G    ./blocks
7.7G    ./chainstate
9.4G    ./indexes/blockfilter/basic
9.4G    ./indexes/blockfilter
44G     ./indexes/txindex
54G     ./indexes
112M    ./mempool.dat
1 Like

Thanks for the detailed explanation! I hope people in the future with a similar query find this fruitful!