]> Git Repo - VerusCoin.git/blame - doc/release-notes.md
Merge pull request #5409
[VerusCoin.git] / doc / release-notes.md
CommitLineData
aefbf6e3
WL
1(note: this is a temporary file, to be added-to by anybody, and moved to
2release-notes at release time)
171ca774 3
c313d6ec
WL
4Block file backwards-compatibility warning
5===========================================
6
7Because release 0.10.0 makes use of headers-first synchronization and parallel
8block download, the block files and databases are not backwards-compatible
9with older versions of Bitcoin Core:
10
11* Blocks will be stored on disk out of order (in the order they are
12received, really), which makes it incompatible with some tools or
13other programs. Reindexing using earlier versions will also not work
14anymore as a result of this.
15
16* The block index database will now hold headers for which no block is
17stored on disk, which earlier versions won't support.
18
19If you want to be able to downgrade smoothly, make a backup of your entire data
20directory. Without this your node will need start syncing (or importing from
21bootstrap.dat) anew afterwards.
22
23This does not affect wallet forward or backward compatibility.
24
b33d1f5e
GA
25Transaction fee changes
26=======================
27
28This release automatically estimates how high a transaction fee (or how
29high a priority) transactions require to be confirmed quickly. The default
30settings will create transactions that confirm quickly; see the new
31'txconfirmtarget' setting to control the tradeoff between fees and
32confirmation times.
33
34Prior releases used hard-coded fees (and priorities), and would
35sometimes create transactions that took a very long time to confirm.
36
c8a25189
WL
37Statistics used to estimate fees and priorities are saved in the
38data directory in the `fee_estimates.dat` file just before
39program shutdown, and are read in at startup.
b33d1f5e
GA
40
41New Command Line Options
c8a25189 42---------------------------
b33d1f5e 43
c8a25189 44- `-txconfirmtarget=n` : create transactions that have enough fees (or priority)
b33d1f5e
GA
45so they are likely to confirm within n blocks (default: 1). This setting
46is over-ridden by the -paytxfee option.
47
171ca774 48New RPC methods
c8a25189 49----------------
171ca774 50
c8a25189 51- `estimatefee nblocks` : Returns approximate fee-per-1,000-bytes needed for
171ca774
GA
52a transaction to be confirmed within nblocks. Returns -1 if not enough
53transactions have been observed to compute a good estimate.
54
c8a25189 55- `estimatepriority nblocks` : Returns approximate priority needed for
171ca774
GA
56a zero-fee transaction to confirm within nblocks. Returns -1 if not
57enough free transactions have been observed to compute a good
58estimate.
59
c8a25189
WL
60RPC access control changes
61==========================================
62
63Subnet matching for the purpose of access control is now done
64by matching the binary network address, instead of with string wildcard matching.
65For the user this means that `-rpcallowip` takes a subnet specification, which can be
66
67- a single IP address (e.g. `1.2.3.4` or `fe80::0012:3456:789a:bcde`)
68- a network/CIDR (e.g. `1.2.3.0/24` or `fe80::0000/64`)
69- a network/netmask (e.g. `1.2.3.4/255.255.255.0` or `fe80::0012:3456:789a:bcde/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff`)
70
71An arbitrary number of `-rpcallow` arguments can be given. An incoming connection will be accepted if its origin address
72matches one of them.
73
74For example:
75
76| 0.9.x and before | 0.10.x |
77|--------------------------------------------|---------------------------------------|
78| `-rpcallowip=192.168.1.1` | `-rpcallowip=192.168.1.1` (unchanged) |
79| `-rpcallowip=192.168.1.*` | `-rpcallowip=192.168.1.0/24` |
80| `-rpcallowip=192.168.*` | `-rpcallowip=192.168.0.0/16` |
81| `-rpcallowip=*` (dangerous!) | `-rpcallowip=::/0` |
82
83Using wildcards will result in the rule being rejected with the following error in debug.log:
84
85 Error: Invalid -rpcallowip subnet specification: *. Valid are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24).
86
af82884a
DK
87RPC Server "Warm-Up" Mode
88=========================
89
90The RPC server is started earlier now, before most of the expensive
91intialisations like loading the block index. It is available now almost
92immediately after starting the process. However, until all initialisations
93are done, it always returns an immediate error with code -28 to all calls.
94
95This new behaviour can be useful for clients to know that a server is already
96started and will be available soon (for instance, so that they do not
97have to start it themselves).
5fdbe67a
GM
98
99Improved signing security
100=========================
101
102For 0.10 the security of signing against unusual attacks has been
103improved by making the signatures constant time and deterministic.
104
105This change is a result of switching signing to use libsecp256k1
106instead of OpenSSL. Libsecp256k1 is a cryptographic library
107optimized for the curve Bitcoin uses which was created by Bitcoin
108Core developer Pieter Wuille.
109
110There exist attacks[1] against most ECC implementations where an
111attacker on shared virtual machine hardware could extract a private
112key if they could cause a target to sign using the same key hundreds
113of times. While using shared hosts and reusing keys are inadvisable
114for other reasons, it's a better practice to avoid the exposure.
115
116OpenSSL has code in their source repository for derandomization
117and reduction in timing leaks, and we've eagerly wanted to use
118it for a long time but this functionality has still not made its
119way into a released version of OpenSSL. Libsecp256k1 achieves
120significantly stronger protection: As far as we're aware this is
121the only deployed implementation of constant time signing for
122the curve Bitcoin uses and we have reason to believe that
123libsecp256k1 is better tested and more thoroughly reviewed
124than the implementation in OpenSSL.
125
126[1] https://eprint.iacr.org/2014/161.pdf
This page took 0.069607 seconds and 4 git commands to generate.