This guide explains Bitcoin Core 0.12.0 release in plain English. It summarises the important changes, who they affect and what should be checked before an upgrade.
TL;DR
- What it is: Bitcoin Core 0.12.0 was released on 23 February 2016 with libsecp256k1 signature validation, bounded mempools, opt-in replace-by-fee, random-cookie RPC authentication, BIP 130 headers announcements, wallet support in pruned mode and many policy changes. It is an important operational milestone, but it is obsolete software and must not be deployed on an internet-facing production node today.
- Why it matters: Bitcoin Core 0.12.0 introduced several foundations still recognisable today, but it is a historical release with obsolete security and network assumptions. Study it in isolation and operate a supported release.
- Current position: Bitcoin Core 0.12.0 introduced several foundations still recognisable today, but it is a historical release with obsolete security and network assumptions.
Bitcoin Core 0.12.0 release in simple English
Bitcoin Core 0.12.0 release: ECDSA verification moved from OpenSSL to heavily tested libsecp256k1, providing major validation and reindex speedups and removing OpenSSL from libconsensus.
Simple example
A node operator is checking Bitcoin Core 0.12.0 release. A default 300 MB maximum evicted the lowest package feerate and raised the effective relay floor when full.
Key terms in plain English
- BIP:
- Bitcoin Improvement Proposal: a document describing a proposed rule, standard or process. Its status must be checked separately.
- Bitcoin Core:
- Widely used software that validates Bitcoin and can provide wallet, network and operator tools.
- RPC:
- A command that software sends to a node to request information or a local action.
- Consensus:
- The shared rules full nodes use to decide whether blocks and transactions are valid.
- Mempool:
- A node’s changing local collection of valid, unconfirmed transactions.
Signature validation change
ECDSA verification moved from OpenSSL to heavily tested libsecp256k1, providing major validation and reindex speedups and removing OpenSSL from libconsensus. The release still needs to be understood in its 2016 dependency context; a performance improvement does not make the old binary secure for current network use.
Bounded mempool policy
A default 300 MB maximum evicted the lowest package feerate and raised the effective relay floor when full. New ancestor and descendant limits bounded long unconfirmed chains. Operators gained predictable memory use but had to monitor eviction, minimum feerate and wallet assumptions rather than treating every peer mempool as identical.
Opt-in replace-by-fee
BIP 125 replacements became policy for signalling transactions. Disabling replacements locally did not prevent other nodes from relaying and mining them, and the Core wallet did not yet create replaceable transactions. Updated RPC fields reported replaceability so recipients could avoid treating an unconfirmed payment as final.
RPC authentication and upload control
When rpcpassword was absent, a random cookie file became the local authentication token and was deleted on shutdown. File read access therefore controlled RPC access. The maxuploadtarget option could stop serving old blocks near a daily threshold while whitelisted traffic still counted, protecting limited links without acting as an exact cap.
Pruned wallet and downgrade boundary
Wallet functionality became available with pruning, but rescans and import RPCs were disabled because historical blocks might be absent. Fresh sync or reindex obfuscated chainstate, so downgrading below 0.12 required another reindex. A safe rollback plan needed data-directory compatibility evidence, not just an older executable.
Relay and peer improvements
BIP 130 direct headers announcements reduced a round trip and helped pruned nodes relay new blocks. NODE_BLOOM advertisement was added with transitional enforcement. OP_RETURN relay allowed multiple push operations within an 83-byte script limit, and priority-based transaction mining was disabled by default.
Historical upgrade rehearsal
Verify release signatures from archived official material, then run only in an isolated lab. Snapshot the data directory, test clean shutdown, reindex, pruning limits, cookie permissions, mempool eviction, RBF reporting and downgrade recovery. Compare with a supported current release and document every security advisory affecting the historical version.
Frequently asked questions
What is the main point of Bitcoin Core 0.12.0 release?
Bitcoin Core 0.12.0 release: ECDSA verification moved from OpenSSL to heavily tested libsecp256k1, providing major validation and reindex speedups and removing OpenSSL from libconsensus.
For Bitcoin Core 0.12.0 release, what should a beginner know about signature validation change?
ECDSA verification moved from OpenSSL to heavily tested libsecp256k1, providing major validation and reindex speedups and removing OpenSSL from libconsensus.
For Bitcoin Core 0.12.0 release, what should a beginner know about bounded mempool policy?
A default 300 MB maximum evicted the lowest package feerate and raised the effective relay floor when full.
For Bitcoin Core 0.12.0 release, what should a beginner know about opt-in replace-by-fee?
BIP 125 replacements became policy for signalling transactions. Disabling replacements locally did not prevent other nodes from relaying and mining them, and the Core wallet did not yet create replaceable transactions.
Conclusion
Bitcoin Core 0.12.0 introduced several foundations still recognisable today, but it is a historical release with obsolete security and network assumptions. Study it in isolation and operate a supported release.
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.