Changeset View
Changeset View
Standalone View
Standalone View
doc/release-notes.md
Show All 23 Lines | |||||
-------------- | -------------- | ||||
### Reuse Avoidance | ### Reuse Avoidance | ||||
A new wallet flag `avoid_reuse` has been added (default off). When enabled, | A new wallet flag `avoid_reuse` has been added (default off). When enabled, | ||||
a wallet will distinguish between used and unused addresses, and default to not | a wallet will distinguish between used and unused addresses, and default to not | ||||
use the former in coin selection. | use the former in coin selection. | ||||
(Note: rescanning the blockchain is required, to correctly mark previously | Rescanning the blockchain is required, to correctly mark previously | ||||
used destinations.) | used destinations. | ||||
Together with "avoid partial spends" (present as of Bitcoin ABC v0.19.9), this | Together with "avoid partial spends" (present as of Bitcoin ABC v0.19.9), this | ||||
addresses a serious privacy issue where a malicious user can track spends by | addresses a serious privacy issue where a malicious user can track spends by | ||||
peppering a previously paid to address with near-dust outputs, which would then | peppering a previously paid to address with near-dust outputs, which would then | ||||
be inadvertently included in future payments. | be inadvertently included in future payments. | ||||
New RPCs | New RPCs | ||||
Show All 14 Lines | |||||
The `getblockstats` RPC is faster for fee calculation by using BlockUndo data. Also, `-txindex` is no longer required and `getblockstats` works for all non-pruned blocks. | The `getblockstats` RPC is faster for fee calculation by using BlockUndo data. Also, `-txindex` is no longer required and `getblockstats` works for all non-pruned blocks. | ||||
Several RPCs have been updated to include an "avoid_reuse" flag, used to control | Several RPCs have been updated to include an "avoid_reuse" flag, used to control | ||||
whether already used addresses should be left out or included in the operation. | whether already used addresses should be left out or included in the operation. | ||||
These include: | These include: | ||||
- createwallet | - createwallet | ||||
- getbalance | - getbalance | ||||
- getbalances | |||||
- sendtoaddress | - sendtoaddress | ||||
In addition, `sendtoaddress` has been changed to enable `-avoidpartialspends` when | In addition, `sendtoaddress` has been changed to avoid partial spends when `avoid_reuse` | ||||
`avoid_reuse` is enabled. | `avoid_reuse` is enabled. is enabled (if not already enabled via the `-avoidpartialspends` command line flag), | ||||
as it would otherwise risk using up the "wrong" UTXO for an address reuse case. | |||||
The listunspent RPC has also been updated to now include a "reused" bool, for nodes | The listunspent RPC has also been updated to now include a "reused" bool, for nodes | ||||
with "avoid_reuse" enabled. | with "avoid_reuse" enabled. | ||||
Miscellaneous RPC changes | Miscellaneous RPC changes | ||||
------------ | ------------ | ||||
- `createwallet` can now create encrypted wallets if a non-empty passphrase is specified. | - `createwallet` can now create encrypted wallets if a non-empty passphrase is specified. |