This guide explains Bitcoin Core assumevalid in plain English. It focuses on what the subject is, why it matters and what a beginner should remember.
TL;DR
- What it is: Bitcoin Core 0.14 introduced assumevalid to skip script-signature verification for ancestors of a configured known-good block when synchronising a chain with enough work. The node still downloads blocks, checks proof of work, constructs the UTXO set and can select a different best-work chain.
- Why it matters: assumevalid accelerates historical sync through a reviewable validation shortcut while retaining best-work chain selection and UTXO construction. Its safety depends on exact release logic, an independently verified anchor and periodic full validation.
- Current position: Bitcoin Core 0.14 introduced assumevalid to skip script-signature verification for ancestors of a configured known-good block when synchronising a chain with enough work.
Bitcoin Core assumevalid in simple English
Bitcoin Core assumevalid: The assumed history’s validity is an objective claim that can be independently checked by running full validation without the shortcut.
Simple example
A node operator is checking Bitcoin Core assumevalid. Releases ship a recent default selected before publication, and Core 0.14 allowed assumevalid zero to disable it.
Key terms in plain English
- Bitcoin Core:
- Widely used software that validates Bitcoin and can provide wallet, network and operator tools.
- UTXO:
- An unspent transaction output: a piece of bitcoin that can be used as an input to a later transaction.
- Node:
- A computer running Bitcoin software that checks data and communicates with other peers.
What may be skipped
For eligible historical ancestors, costly script checks can be omitted after conditions involving the assumed block and chainwork are met. Block structure, hashes, proof of work, transaction syntax and UTXO effects remain processed. Exact conditions changed across versions and must be traced in source.
Not a forced checkpoint
A chain inconsistent with the configured hash is not automatically rejected if it otherwise becomes best. It simply cannot receive the same shortcut. This differs from a rule that declares a competing history invalid. Monitoring should prove the selected tip and work, not merely that the assumevalid hash was encountered.
Default and operator choice
Releases ship a recent default selected before publication, and Core 0.14 allowed assumevalid zero to disable it. An old default becomes deeply buried but old software has other security and compatibility risks. Updating only the hash does not make an obsolete binary safe.
Trust and review
The assumed history’s validity is an objective claim that can be independently checked by running full validation without the shortcut. Organisations should record the source and height, compare multiple references and periodically complete an assumevalid-zero sync on controlled infrastructure.
UTXO and snapshot distinction
assumevalid still derives chainstate from blocks; it does not import a ready-made UTXO snapshot. A malicious or corrupt block affecting UTXO state still has to satisfy all non-skipped rules and chain selection. Do not conflate the setting with later snapshot mechanisms or database backups.
Failure and attack model
An attacker would need a high-work chain meeting the implementation’s conditions while exploiting skipped invalid scripts below the anchor. Model stale or mistyped hashes, eclipsed sync, insufficient work and corrupt local data. Recovery should fall back to full validation and independent peers.
Benchmark and audit
Sync identical storage snapshots with the release default and assumevalid zero, recording CPU, disk, network, chainwork, UTXO hash and elapsed time. Verify both reach the same tip and state. Repeat across architecture and release upgrades, and preserve enough evidence to explain the chosen assumption.
Frequently asked questions
What is the main point of Bitcoin Core assumevalid?
Bitcoin Core assumevalid: The assumed history’s validity is an objective claim that can be independently checked by running full validation without the shortcut.
For Bitcoin Core assumevalid, what should a beginner know about what may be skipped?
For eligible historical ancestors, costly script checks can be omitted after conditions involving the assumed block and chainwork are met.
For Bitcoin Core assumevalid, what should a beginner know about not a forced checkpoint?
A chain inconsistent with the configured hash is not automatically rejected if it otherwise becomes best.
For Bitcoin Core assumevalid, what should a beginner know about default and operator choice?
Releases ship a recent default selected before publication, and Core 0.14 allowed assumevalid zero to disable it.
Conclusion
assumevalid accelerates historical sync through a reviewable validation shortcut while retaining best-work chain selection and UTXO construction. Its safety depends on exact release logic, an independently verified anchor and periodic full validation.
Primary sources
Check the current specification status and the documentation for the exact implementation you operate before moving production funds or changing a mining node.
Join the ASIC Mining Discussion
Members can read and join the discussion
Log in to read comments from other miners. Create a free account if you would like to ask a question or share your experience.
Membership helps us protect the discussion from spam and keep answers useful.