v2.0.3
dcrwallet v2.0.3
This release includes several important privacy and performance improvements for mixing users. All 2.0.2 users are advised to upgrade.
Bug Fixes
- Ending the initial wallet setup prompts before the birthday prompt has been completed will no longer panic the wallet (
37e81f87
).
Other Improvements
-
The mixing client was modified to space out the publishing of pair request messages throughout the entire duration up until 30s before and after the epoch, and to add a small random delay before the broadcast of all messages. Together these changes reduce the ability to deanonymize which messages belong to the same wallets depending on when they were seen or received (dcrd/3388).
-
In SPV mode, a uniform random 100-500ms of per-peer delay is added to each inventory broadcast. This also has the effect of batching recent inventory into fewer
inv
messages (fee60562
). -
In SPV mode, a minimum of 3 (out of 8 total) full node peers which implement the mix message broadcasting protocol version will be targeted. If too many connected peers do not support this protocol version, they will be disconnected for other peers which do (
7830dd64
).
Changelog
The following lists all commits since dcrwallet v2.0.2:
e176480e
: [release-v2.0] version: Update for v2.0.342318906
: [release-v2.0] Update to latest dcrd modules37e81f87
: [release-v2.0] walletsetup: Return birthday prompt error.7830dd64
: [release-v2.0] Attempt cxns to >=3 mixing-capable peersfee60562
: [release-v2.0] Add 100-500ms of per-peer inventory delay434d7f94
: [release-v2.0] Use rand.ShuffleSliceb0e19ee5
: [release-v2.0] Replace additional rand funcs477f1888
: [release-v2.0] Replace hand rolled shuffle with rand.Shufflefdcde4c3
: [release-v2.0] Use dcrd's crypto/rand module
Code Contributors (alphabetical order):
- @JoeGruffins
- Josh Rickmar (@jrick)