Commit Graph
100 Commits
Author SHA1 Message Date
Duke Leto 4f95e4c6d7 Update INSTALL.md 2020-10-09 11:44:20 -04:00
Duke Leto 23cfd57a3c Merge branch 'master' of github.com:MyHush/hush3 2020-10-06 07:29:59 -04:00
Duke Leto d2094cf589 Merge branch 'dev' 2020-10-06 07:29:49 -04:00
Duke Leto 4e9f822a2d update man pages 2020-10-06 07:00:42 -04:00
Duke Leto dd8ab3df68 Sync CLIENT_VERSION_BUILD and bump version to 3.5.1 2020-10-05 20:36:59 -04:00
Duke Leto 155c310be0 Make nodes randomly prefer one ciphersuite or another upon startup 2020-10-03 12:59:22 -04:00
Duke Leto a3dfe52b65 Merge pull request #143 from jahway603/master
removed old zcash images
2020-10-03 08:19:12 -07:00
Duke Leto 9bae61c894 Merge pull request #146 from miodragpop/hush3-tls
Patch: openssl config to build support for TLS_CHACHA20_POLY1305_SHA256 cipher
2020-10-03 06:29:26 -07:00
Duke Leto d7a6ec7e81 less logspam 2020-10-03 07:45:24 -04:00
Duke Leto 5b07e54c3f spam fix 2020-10-03 07:32:31 -04:00
Duke Leto 46177addbe Update copyrights 2020-10-03 07:20:17 -04:00
Duke Leto 5884694fb6 Merge pull request #145 from miodragpop/hush3-tls
Hush TLS + asmap implementation
2020-10-02 07:46:58 -07:00
Duke Leto b33b1db4f1 lol 2020-09-26 23:33:25 -04:00
Duke Leto 410a1bdf94 Add script to make linux bins 2020-09-25 09:37:06 -04:00
Duke Leto 3a276a7b61 Merge pull request #141 from MyHush/dev
Sync dev to master in prep of 3.5.0 release
2020-09-23 13:29:52 -07:00
Duke Leto 4128dce2ea Add checkpoint for our beloved block 300K 2020-09-22 18:11:35 -04:00
Duke Leto edb0f4be90 less logspam 2020-09-21 07:27:53 -04:00
Duke Leto b5d308f182 Fix deletetx=1 coredump and more logspam 2020-09-21 01:03:38 -04:00
Duke Leto 61e805083c deletetx=1 logspam 2020-09-21 00:16:03 -04:00
Duke Leto 8317beef1e Increase logspam for deletetx=1 and -zdebug 2020-09-20 14:33:15 -04:00
Duke Leto e880a45995 Fix block 128 bug discoverd by @denioD 2020-09-20 13:58:16 -04:00
Duke Leto a7f88a87aa Update copyright URL to be https 2020-09-20 13:17:38 -04:00
Duke Leto cb09e7feda Update some copyrights 2020-09-20 12:59:08 -04:00
Duke Leto 287310e81c Better logspam 2020-09-20 12:45:05 -04:00
Duke Leto b4de87db04 Fix off-by-one found by our Legendary Warrior @denioD 2020-09-20 12:34:11 -04:00
Duke Leto 3a2288bcc4 Logspam 2020-09-20 12:06:37 -04:00
Duke Leto a64b721d4c update coin name in exceptions 2020-09-20 11:55:56 -04:00
Duke Leto e87101bd1f RPC help fixes 2020-09-20 11:16:42 -04:00
Duke Leto 1064d33f43 Update some copyright stuff in windows files 2020-09-20 11:13:38 -04:00
Duke Leto 9e6cdec2f6 Update hush-cli cli help 2020-09-19 20:38:43 -04:00
Duke Leto 01e493d207 Update checkpoints up to block 295K 2020-09-19 12:38:11 -04:00
Duke Leto 06c6494dfb Merge branch 'duke' into dev 2020-09-19 12:18:24 -04:00
Duke Leto c64d6d5256 Merge branch 'danger' into duke 2020-09-19 12:17:51 -04:00
Duke Leto 9e288d185b Define the halving interval, initial transition period and fix format string bug 2020-09-19 12:17:26 -04:00
Duke Leto 65da80de58 Implement entire Hush block subsidy schedule
We now have our halving schedule implemented until the BR goes to zero.
The data was calculated via two new scripts which are in ./contrib :

$ ./contrib/hush_halvings
1,12500000000,340000
2,312500000,2020000
3,156250000,3700000
4,78125000,5380000
5,39062500,7060000
6,19531250,8740000
7,9765625,10420000
8,4882812,12100000
9,2441406,13780000
10,1220703,15460000
11,610351,17140000
12,305175,18820000
13,152587,20500000
14,76293,22180000
15,38146,23860000
16,19073,25540000
17,9536,27220000
18,4768,28900000
19,2384,30580000
20,1192,32260000
21,596,33940000
22,298,35620000
23,149,37300000
24,74,38980000
25,37,40660000
26,18,42340000
27,9,44020000
28,4,45700000
29,2,47380000
30,1,49060000
31,0,50740000
32,0,52420000
33,0,54100000

$ ./contrib/hush_block_subsidy_per_halving
0,1250000000,1125000000,125000000
1,625000000,562500000,62500000
2,312500000,281250000,31250000
3,156250000,140625000,15625000
4,78125000,70312500,7812500
5,39062500,35156250,3906250
6,19531250,17578125,1953125
7,9765625,8789062,976562
8,4882812,4394531,488281
9,2441406,2197265,244140
10,1220703,1098632,122070
11,610351,549316,61035
12,305175,274658,30517
13,152587,137329,15258
14,76293,68664,7629
15,38146,34332,3814
16,19073,17166,1907
17,9536,8583,953
18,4768,4291,476
19,2384,2145,238
20,1192,1072,119
21,596,536,59
22,298,268,29
23,149,134,14
24,74,67,7
25,37,33,3
26,18,16,1
27,9,8,0
28,4,4,0
29,2,2,0
30,1,1,0
31,0,0,0

These show that the block subsidy for miners goes to 0 at the 31st halving
and that the Founders Reward AKA Dev Tax goes to 0 at the 27th halving. There
is also some current KMD internals code that we inherited that prevents
the FR from being less than 10000, so that code would currently set our FR
to 0 at the 14th halving and lead less HUSH being mined than the planned 21M and
even a bit less than the amount under 21M that normally happens, such as in BTC.
We have some time to deal with the bug, since halving 14 is in about 52 years.
2020-09-19 11:03:35 -04:00
Duke Leto 599c842096 WIP full supply curve 2020-09-18 17:50:04 -04:00
Duke Leto 2ea974a402 Update comments 2020-09-18 17:15:51 -04:00
Duke Leto 6fec2f8fe0 Merge pull request #131 from MyHush/danger
Update Hush emission schedule code
2020-09-18 14:06:43 -07:00
Duke Leto 37c115bf44 Update manpages 2020-09-18 17:01:15 -04:00
Duke Leto 794c32143c Staked notaries are not supported on Hush smart chains 2020-09-18 16:59:15 -04:00
Duke Leto fab0f94942 Cleanup and update copyrights 2020-09-18 16:49:42 -04:00
Duke Leto 5adfbf80ee Bump protocol version since this is a mandatory consensus change, in the future we can make this a minimum protocol version 2020-09-18 16:42:14 -04:00
Duke Leto 70455eb41e update version 2020-09-18 16:41:28 -04:00
Duke Leto d65fbabc77 Correctly specify the exact block height when Hush block reward goes to zero 2020-09-18 16:34:36 -04:00
Duke Leto 0a96fdc63f Exactly simulate the Hush block reward until it hits zero at halving 31 2020-09-18 16:19:34 -04:00
Duke Leto 3e60d1187f Fix logging bug where incorrect number of zins/zouts was shown (block vs tx counts) 2020-09-18 13:09:30 -04:00
Duke Leto b277641ca1 Cleanup and cli help 2020-09-18 13:00:04 -04:00
Duke Leto 6746d1a46a Nothing is simple when floats are involved and this is a great example 2020-09-18 12:56:01 -04:00
Duke Leto 62fc6af52c cleanup 2020-09-18 11:47:06 -04:00
Duke Leto c5189df034 A few useful comments in hush_commission() 2020-09-15 13:18:01 -04:00
Duke Leto 909285b981 Where Would I Be Without @DenioD 2020-09-15 13:15:11 -04:00
Duke Leto 396488306b Optional logspam is best logspam 2020-09-15 13:09:36 -04:00
Duke Leto c422ec37b7 Initialize numhalvings and do not print for now, since we dont calculate it here 2020-09-15 10:15:03 -04:00
Duke Leto 0920f264be cleanup 2020-09-14 15:56:25 -04:00
Duke Leto 65b45d9f88 mining logspam 2020-09-14 15:53:34 -04:00
Duke Leto 1ae419b54c cleanup 2020-09-14 15:34:09 -04:00
Duke Leto b83f38c615 komodo_commission logspam 2020-09-14 15:27:26 -04:00
Duke Leto 5fc4b4c770 Use the correct interval at z2zheight 2020-09-14 15:14:47 -04:00
Duke Leto 3d5740191e Merge pull request #140 from MyHush/danger
Sync danger to duke branches
2020-09-14 05:54:30 -07:00
Duke Leto 3f2e814067 alert system updates 2020-09-13 19:15:15 -04:00
Duke Leto 5c5e545e75 HUSH has no JoinSplits 2020-09-13 19:12:21 -04:00
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
Duke Leto 85a40ae2ed Tweak copyright 2020-09-13 11:23:55 -04:00
Duke Leto a45ee31765 Add a static makefile for now 2020-09-11 10:30:56 -04:00
Duke Leto 7ae5a565d5 Add a bunch of things required by bip39 dependencies 2020-09-11 10:30:01 -04:00
Duke Leto 514348c427 Add various bip39 and base32/base58 stuff 2020-09-11 10:29:00 -04:00
Duke Leto 650498ec27 bip39 updates + tweaks 2020-09-11 10:27:14 -04:00
Duke Leto 5d08cd7b57 Refactor Hush supply curve into a dedicated function and increase logspam 2020-09-11 07:23:44 -04: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 ba4f1710a4 Merge branch 'danger' of github.com:MyHush/hush3 into danger 2020-09-09 11:43:00 -04:00
Duke Leto 5412da7d71 Connect z_listreceivedaddress to the outside world 2020-09-09 11:42:52 -04:00
Duke Leto b432e27f1b Refactor hush block subsidy 2020-09-08 16:10:32 -04:00
Duke Leto 3744f429f2 Re-enable 3rd block subsidy era 2020-09-08 15:52:09 -04:00
Duke Leto fbc34ef071 Implement custom Hush block subsidy code since changing our blocktime and using many eras breaks assumptions of existing code 2020-09-08 15:49:10 -04:00
Duke Leto 1751f986f1 Logspam for last and max eras 2020-09-08 15:16:00 -04:00
Duke Leto 5871b3019a Mo debug regarding current era and block subsidy 2020-09-08 14:57:38 -04:00
Duke Leto 807a37e740 Behold vast logspam, refactoring and dead code removal 2020-09-08 12:47:17 -04:00
Duke Leto fe4f0f7e9e Logspam 2020-09-08 12:01:07 -04:00
Duke Leto 67ed136e25 Only give 3 values for now to match how many values come in via CLI 2020-09-08 11:45:19 -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 2d90cef651 Merge branch 'danger' of github.com:MyHush/hush3 into danger 2020-09-08 09:54:20 -04:00
Duke Leto 31940f2b3a Thanks to @DenioD for reminding me we must modify -ac_end internals variable as well 2020-09-08 09:54:13 -04:00
Duke Leto b572ef0228 Calculate this value at run-time because it's not set yet when this header file is parsed 2020-09-07 18:40:51 -04:00
Duke Leto 9ae40031d6 Add -ac_halving1 + -ac_halving2 CLI args for devs
These new CLI args control the interval of the 1st halving (between
1st and 2nd halving blocks) and the 2nd halving (between 2nd and 3rd
halving blocks). -ac_halving2 is used for all subsequent halvings.

This allows devs to simulate things via the CLI without changing code,
to verify things work as expected at halvings in the far future.
2020-09-07 12:58:50 -04:00
Duke Leto 727abe0ef2 Be more precise 2020-09-07 12:36:26 -04:00
Duke Leto d420e14472 Explicitly set the Hush block reward and halving intervals for the next two halvings (8 years) 2020-09-07 12:35:15 -04:00
Duke Leto 880cbc6b0d Mo docs for hushd 2020-09-07 08:54:12 -04:00
Duke Leto 58f7ae1336 Document hushd a bit 2020-09-07 08:51:50 -04:00
Duke Leto 043d58709d Fix off-by-one-decimal-place error discovered by @DenioD 2020-09-07 08:36:48 -04:00
Duke Leto b9fd0ce900 Fix bugs in porting zec upstream code 2020-09-07 08:34:19 -04:00
Duke Leto 1c4a2ee13c WIP hush_supply 2020-09-07 08:33:38 -04:00
Duke Leto e067453f49 Merge pull request #132 from jahway603/master
Added stdexcept to src/crypto/equihash.h
2020-08-24 22:18:49 -07:00
Duke Leto 6745ea5a48 WIP script to simulate Hush total supply for every block in the future until it goes to zero 2020-08-17 00:17:09 -04:00
Duke Leto 9deb58fa4e Start to tweak hush_supply and save old script to compare results 2020-08-16 23:18:15 -04:00
Duke Leto 40d6716993 Update Hush emission schedule code based on going to 75s blocks @ Block 340K 2020-08-01 09:12:14 -04:00
Duke Leto 1d24015300 Update checkpoints 2020-07-31 09:24:47 -04:00