Commit Graph

2221 Commits

Author SHA1 Message Date
Duke Leto
98e9ed80d7 Merge branch 'danger' of github.com:MyHush/hush3 into danger 2020-09-13 13:28:46 -04: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
4f70252524 Increase max --sietch-min-zouts to 50 2020-09-13 11:24:47 -04:00
DenioD
5d86afef6a Port -txsend from str4d #37, https://github.com/zcash/zcash/pull/4522 2020-09-12 09:12:40 +02:00
Duke Leto
032c7cbb9f Add transaction time to z_listreceivedbyaddress which drastically speeds up SD operations 2020-09-09 12:58:53 -04:00
Duke Leto
0614f51f28 Fix more docs bugs 2020-09-09 11:51:59 -04:00
Duke Leto
fc9725ca44 Fix docs 2020-09-09 11:45:23 -04:00
Duke Leto
5412da7d71 Connect z_listreceivedaddress to the outside world 2020-09-09 11:42:52 -04:00
Duke Leto
95ff64404c Specify that secret_key is a decimal not hex value 2020-09-08 11:10:43 -04:00
Duke Leto
b9fd0ce900 Fix bugs in porting zec upstream code 2020-09-07 08:34:19 -04:00
Jonathan "Duke" Leto
ad3e5db501 Update help regarding new -wallet option for relative paths 2020-09-04 19:40:29 -07:00
Jonathan "Duke" Leto
5315ded786 Support wallet.dat outside of datadir
Ported from 6a7cfdea54
which did not apply cleanly.
2020-09-04 19:31:05 -07:00
Jonathan "Duke" Leto
eae956cde9 Update docs 2020-07-30 09:01:29 -07:00
Duke Leto
bfbe4e9553 Tweak some logging 2020-07-28 11:38:16 -04:00
Duke Leto
c14e7102bf Reduce noise 2020-07-28 11:11:21 -04:00
Duke Leto
10c5809877 More z_sendmany debugging when -zdebug enabled 2020-07-28 11:00:20 -04:00
Duke Leto
b4e7f45826 Remove dead code 2020-07-28 00:44:57 -04:00
Duke Leto
79a4a48c38 Fix zaddr logging 2020-07-26 14:58:49 -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
cf83dc135a Merge branch 'danger' into sietch_dynamic 2020-07-22 09:39:48 -04:00
Duke Leto
47aaeea0c9 Merge branch 'dev' into duke 2020-07-22 09:34:15 -04:00
Miodrag Popović
33358740f4 malloc.h conditional inclusion
malloc.h header is also glibc specific
2020-07-21 10:26:42 +02:00
Jonathan "Duke" Leto
7227739733 Merge branch 'dev' into duke 2020-07-20 06:25:50 -07:00
miodragpop
534efcb65d malloc_trim is glibc specific 2020-07-17 02:28:27 +02:00
Duke Leto
d4883bce7c More timedate changes from KMD 0.6 2020-07-09 10:31:12 -04:00
Duke Leto
a7cd2b3750 Chill out on the logspam 2020-06-18 06:41:26 -04:00
Duke Leto
9bcf13bf4a report invalid roots 2020-06-18 05:40:04 -04:00
Duke Leto
4800f497aa Fix copyright 2020-06-17 22:32:00 -04:00
Duke Leto
83be5195e9 Revert "Randomize sietch memos and increase min zouts to 3"
This reverts commit a053d212b8.
2020-06-17 20:44:54 -04:00
Duke Leto
6e31ee3b1d fix 2020-06-17 10:41:33 -04:00
Duke Leto
4de60497c8 Refactor GetSaplingWitnesses code and add some logging 2020-06-17 00:04:55 -04:00
Duke Leto
a053d212b8 Randomize sietch memos and increase min zouts to 3 2020-06-13 21:34:20 -04:00
Duke Leto
2fbcca4167 add rescan rpc 2020-06-13 10:14:51 -04:00
Duke Leto
5a601d1431 desprout 2020-06-08 11:13:17 -04:00
Duke Leto
b0ea67d5be desprout 2020-06-07 16:10:49 -04:00
Duke Leto
dd95b1471c desprout 2020-06-06 14:48:16 -04:00
Duke Leto
f13171efc6 desprout 2020-06-06 05:14:21 -04:00
Duke Leto
22d4d1a06e desprout 2020-06-06 04:34:30 -04:00
Duke Leto
3cb215e39a more desprout, ugh 2020-06-05 12:17:41 -04:00
Duke Leto
90406d601c desprout 2020-06-05 11:13:30 -04:00
Duke Leto
a44fa2ede4 This datastructure is tied to the wallet.dat format on disk 2020-06-05 10:24:22 -04:00
Duke Leto
86a98587a1 desprout 2020-06-05 10:14:52 -04:00
Duke Leto
f7b1c1f26f Delete Payment Disclosures
This code will be "experimental" forever, only supports Sprout, and
is a piece of shit. Deleting with fire.

Sapling viewing keys are the replacement, which already exist.
2020-06-05 07:20:38 -04:00
Duke Leto
ed2c9450f9 desprout 2020-06-05 01:20:37 -04:00
Duke Leto
b32bf1f82c Revert "desprout"
This reverts commit 7c6c7150c6.
2020-06-04 21:51:21 -04:00
Duke Leto
7c6c7150c6 desprout 2020-06-03 22:20:10 -04:00
Duke Leto
52e3739671 desprout 2020-06-03 21:59:49 -04:00
Duke Leto
2134269e76 desprout 2020-06-03 00:12:54 -04:00
Duke Leto
62d438e0de desprout 2020-06-02 02:52:19 -04:00