Integrate Bitcoin Changes 0.12.1
Motivation
During the last 3 years, many useful changes and improvements have been made to Bitcoin source code. The current version of Bitcoin is 0.16.2, Crown is on 0.10.
-
Refactoring of different Bitcoin modules (decomposition etc.)
-
Moving from BOOST to C++ 11/14 features
-
Other functional changes
Integration analysis
0.12.1 https://bitcoin.org/en/release/v0.12.1
Minor version release, including the BIP9, BIP68 and BIP112 softfork, various bugfixes and updated translations.
-
First version bits BIP9 softfork deployment. Specifies a proposed change to the semantics of the 'version' field in Bitcoin blocks, allowing multiple backward-compatible changes (further called "soft forks") to be deployed in parallel. It is unnecessary because of sporks, but it may or may be not merged depending on complexity of extraction.
-
BIP68 soft fork to enforce sequence locks for relative locktime. Bitcoin transactions have a sequence number field for each input. The original idea appears to have been that a transaction in the mempool would be replaced by using the same input with a higher sequence value. Although this was not properly implemented, it assumes miners would prefer higher sequence numbers even if the lower ones were more profitable to mine. However, a miner acting on profit motives alone would break that assumption completely. Might be unnecessary after NTP-services implementation.
-
BIP112 soft fork to enforce OP_CHECKSEQUENCEVERIFY.
-
BIP113. Proposal to redefine the semantics used in determining a time-locked transaction's eligibility for inclusion in a block. Might be unnecessary after NTP-services implementation.
-
The p2p alert system is off by default. To turn on, use
-alert
with startup configuration.