Commit Graph

16 Commits

Author SHA1 Message Date
Duke
0d0a7e9587 Fix 'writing 1 byte into region of size 0' 2024-04-18 06:41:25 -07:00
onryo
58b65f9670 Update copyrights 2024-02-27 23:59:59 +01:00
Duke
e033a2e6eb Update copyrights to 2023 2023-02-09 18:06:03 -05:00
Jonathan "Duke" Leto
005f1e00bc Update copyrights 2022-09-21 08:38:10 -07:00
Duke Leto
b58c15b9fb update copyrights 2020-12-10 07:45:36 -05:00
Duke Leto
8b349ad210 We do not need an expanded spending key here; make Sietch faster 2020-11-14 18:06:37 -05:00
Duke Leto
3bc379ff45 Optimize sietch a bit 2020-11-14 17:51:49 -05:00
Duke Leto
b22a73fc29 Run-time randomly generated Sietch zdust addresses
This commit drastically improves the privacy of the HUSH anonymity set
under attacks which ingest wallet.dat's which have been obtained by
seizure, i.e. stealing someones HUSH wallet.dat and putting it into
chain analysis software. Ciphertrace is known to do this to ZEC and XMR
and we can assume all chain analysis companies are implementing new
ways to de-anonymize privacy coins with any data they can obtain.

Instead of randomly sending to a randomly chosen static address,
hushd Sietch zdust addresses are now randomly generated at run-time. These
addresses are not stored in wallet.dat in any way and their private keys
are not known except by the internal memory of hushd for a few milliseconds.
This data is not stored in long-lived data structures of hushd, only as long
as the RPC z_getnewaddress is running or the equivalent function for internals
code paths. The seeds or private keys of these addresses are never stored on disk.

This now brings hushd on par with SDL, which already does this via a
different but equivalent seed phrase technique.

With this technique, if a HUSH wallet.dat is seized, it's impossible to tell
if any of the shielded outputs are random Sietch zdust with random data payload
or a one-time-use zaddr with encrypted payload.
2020-09-13 12:35:41 -04:00
Duke Leto
85a40ae2ed Tweak copyright 2020-09-13 11:23:55 -04:00
Duke Leto
6e40e2f1e2 NULL terminator considered important 2020-07-26 08:29:25 -04:00
Duke Leto
31983a9655 Correctly choose between dynamic or random sietch zdust addresses 2020-07-25 01:41:48 -04:00
Duke Leto
7e0c41977f Revert "Use dynamically generated zaddrs in sietch, which are not stored in wallet.dat"
This reverts commit 89532c4d7b.
2020-07-23 22:53:12 -04:00
Duke Leto
89532c4d7b Use dynamically generated zaddrs in sietch, which are not stored in wallet.dat 2020-01-07 12:28:57 -05:00
Duke Leto
0982e98ee2 Update some copyrights 2020-01-02 13:10:42 -05:00
Duke Leto
bec886ec43 Convert sietch to use 2 fixed zpools of 100 zaddrs 2019-12-30 23:22:56 -05:00
Duke Leto
cb5fbb6139 Define a sietch header file and add --sietch-min-zouts CLI option 2019-12-30 18:22:06 -05:00