aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorPieter Wuille <pieter.wuille@gmail.com>2017-01-16 13:33:10 -0800
committerPieter Wuille <pieter.wuille@gmail.com>2017-01-16 14:07:30 -0800
commit812714fd80e96e28cd288c553c83838cecbfc2d9 (patch)
tree05ff0a68dd7160451efb032d7dd792e12e6300e5 /doc
parentb0819c7e9b428631b806d97ff19beb2e218df31f (diff)
parent7b5e3fe0ccb434821927c9cc2e9f2fb0d7f01dc4 (diff)
Merge #9484: Introduce assumevalid setting to skip validation presumed valid scripts.
7b5e3fe Add assumevalid testcase (John Newbery) e440ac7 Introduce assumevalid setting to skip presumed valid scripts. (Gregory Maxwell)
Diffstat (limited to 'doc')
-rw-r--r--doc/release-notes.md23
-rw-r--r--doc/release-process.md5
2 files changed, 27 insertions, 1 deletions
diff --git a/doc/release-notes.md b/doc/release-notes.md
index 96d1cb9ed5..bbda55854f 100644
--- a/doc/release-notes.md
+++ b/doc/release-notes.md
@@ -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
=================
diff --git a/doc/release-process.md b/doc/release-process.md
index 61f05b0771..399ed25c91 100644
--- a/doc/release-process.md
+++ b/doc/release-process.md
@@ -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: