Commit Graph

30039 Commits

Author SHA1 Message Date
Jonathan "Duke" Leto
81f4872698 Merge branch 'dev' of https://github.com/MyHush/hush3 into dev 2020-09-23 12:56:09 -07:00
Jonathan "Duke" Leto
7835fbd341 Fix for win64 systems, hopefully 2020-09-23 12:51:37 -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