mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-04-21 12:18:13 +02:00
Merge #9484: Introduce assumevalid setting to skip validation presumed valid scripts.
7b5e3feAdd assumevalid testcase (John Newbery)e440ac7Introduce assumevalid setting to skip presumed valid scripts. (Gregory Maxwell)
This commit is contained in:
@@ -52,7 +52,7 @@ Fee Estimation Changes
|
||||
(previously 25) and for RPC calls (previously 2).
|
||||
|
||||
Removal of Priority Estimation
|
||||
------------------------------
|
||||
-------------------------------
|
||||
|
||||
- Estimation of "priority" needed for a transaction to be included within a target
|
||||
number of blocks has been removed. The rpc calls are deprecated and will either
|
||||
@@ -76,6 +76,27 @@ P2P connection management
|
||||
|
||||
- New connections to manually added peers are much faster.
|
||||
|
||||
Introduction of assumed-valid blocks
|
||||
-------------------------------------
|
||||
|
||||
- A significant portion of the initial block download time is spent verifying
|
||||
scripts/signatures. Although the verification must pass to ensure the security
|
||||
of the system, no other result from this verification is needed: If the node
|
||||
knew the history of a given block were valid it could skip checking scripts
|
||||
for its ancestors.
|
||||
|
||||
- A new configuration option 'assumevalid' is provided to express this knowledge
|
||||
to the software. Unlike the 'checkpoints' in the past this setting does not
|
||||
force the use of a particular chain: chains that are consistent with it are
|
||||
processed quicker, but other chains are still accepted if they'd otherwise
|
||||
be chosen as best. Also unlike 'checkpoints' the user can configure which
|
||||
block history is assumed true, this means that even outdated software can
|
||||
sync more quickly if the setting is updated by the user.
|
||||
|
||||
- Because the validity of a chain history is a simple objective fact it is much
|
||||
easier to review this setting. As a result the software ships with a default
|
||||
value adjusted to match the current chain shortly before release. The use
|
||||
of this default value can be disabled by setting -assumevalid=0
|
||||
|
||||
0.14.0 Change log
|
||||
=================
|
||||
|
||||
@@ -13,6 +13,11 @@ Before every minor and major release:
|
||||
* Update version in sources (see below)
|
||||
* Write release notes (see below)
|
||||
* Update `src/chainparams.cpp` nMinimumChainWork with information from the getblockchaininfo rpc.
|
||||
* Update `src/chainparams.cpp` defaultAssumeValid with information from the getblockhash rpc.
|
||||
- The selected value must not be orphaned so it may be useful to set the value two blocks back from the tip.
|
||||
- Testnet should be set some tens of thousands back from the tip due to reorgs there.
|
||||
- This update should be reviewed with a reindex-chainstate with assumevalid=0 to catch any defect
|
||||
that causes rejection of blocks in the past history.
|
||||
|
||||
Before every major release:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user