Glossary · deep dive

Chainstate

Bitcoin Core's database of the current UTXO set, stored in the chainstate folder.

To check a new transaction, a node must know which coins exist right now. Bitcoin Core keeps that answer, the UTXO set, in a LevelDB database in the chainstate folder of its data directory.

What each entry holds

For each unspent output: its outpoint, amount, locking script, the height of the block that created it, and whether it came from a coinbase transaction.

Memory cache

Reading from disk is slow, so recently used coins are kept in RAM. The -dbcache setting controls that cache. Bitcoin Core 31.0 raised the default from 450 MiB to 1,024 MiB on systems with at least 4,096 MiB of RAM.

Separate from blocks

Raw blocks live in the blocks folder. A pruned node can delete old blocks but must keep the full chainstate, because that is what it validates against.