Bitcoin Core merged PR #35531 on Aug. 15, redesigning the optional -txindex database that lets nodes look up transactions by their full transaction ID. In the contributor's mainnet test, the rebuilt index dropped from roughly 66 GB to 26 GB, a 61% reduction. Lookups held steady at about 0.2 milliseconds, and the rebuild itself finished in 1 hour 19 minutes, down from 1 hour 50 minutes on the prior format.
Why it matters
The old format stored each 32-byte transaction ID as the database key, alongside the transaction's disk position. The redesign compresses that key to a 5-byte SipHash prefix plus a 6-byte suffix encoding the block sequence and the transaction's offset within the block. Bitcoin Core still verifies the full transaction ID before returning a match, scanning entries that share the prefix and checking each candidate against the block index. Bitcoin Optech called collisions extra read and verification work, with the full-ID check guarding against false matches. Performance was effectively flat.
Market impact
The savings are confined to -txindex, an optional component, and exclude the blockchain itself or the rest of a node's data directory. Existing indexes remain readable after an upgrade, but they also retain their larger footprint, so realizing the 40 GB benchmark requires recreating the database. A downgrade carries a second migration cost: the merged release note states that older releases cannot read entries written in the compact format, so rolling back forces another rebuild. Stable binaries carrying the change follow Bitcoin Core's separate release process, with the first shipping version still unspecified. Operators should wait for release-specific migration notes before scheduling the rebuild.
Frequently asked questions
-
What does Bitcoin Core's -txindex actually do?
It maintains an optional database that lets a node look up transactions by their full 32-byte transaction ID, separate from the blockchain itself and only used by operators who enable the flag.
-
How big was the old txindex and how small is the new one?
In one contributor's mainnet test, the rebuilt index dropped from roughly 66 GB to 26 GB, a 61% reduction after PR #35531's compact-key redesign merged on Aug. 15.
-
How does the new compact key format prevent false matches?
Bitcoin Core uses a 5-byte SipHash prefix plus a 6-byte suffix, then verifies the full transaction ID against candidate entries before returning a match, so collisions only add read work, not bad results.
-
Do operators need to rebuild to capture the 40 GB saving?
Existing -txindex databases stay readable through the upgrade, but they keep the larger footprint. Realizing the benchmark saving requires recreating the index from scratch.
-
What happens if you downgrade after rebuilding?
Older Bitcoin Core releases cannot read entries written in the compact format, so returning to a prior version forces a second rebuild in the legacy layout before the index works again.
CryptoSlate