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
1e40d2711d
Add copyright to files missing Hush copyright lines
2022-09-21 08:59:19 -07:00
Duke Leto
be16f80abc
Hush Full Node is now GPLv3
...
Any projects which want to use Hush code from now on will need to be licensed as
GPLv3 or we will send the lawyers: https://www.softwarefreedom.org/
Notably, Komodo (KMD) is licensed as GPLv2 and is no longer compatible to receive
code changes, without causing legal issues. MIT projects, such as Zcash, also cannot pull
in changes from the Hush Full Node without permission from The Hush Developers,
which may in some circumstances grant an MIT license on a case-by-case basis.
2020-10-21 07:28:10 -04:00
Duke Leto
a7f88a87aa
Update copyright URL to be https
2020-09-20 13:17:38 -04:00
blackjok3r
18854e2af7
ac_nk params
2019-04-17 13:42:02 +08:00
miketout
9feb4b9e08
Major updates integration from all upstreams
2018-09-18 14:33:53 -07:00
jl777
9000990c30
Merge remote-tracking branch 'zcash/master' into rebase2
...
# Conflicts:
# .travis.yml
# Makefile.am
# README.md
# configure.ac
# depends/Makefile
# depends/builders/darwin.mk
# depends/funcs.mk
# depends/hosts/darwin.mk
# depends/packages/googlemock.mk
# depends/packages/googletest.mk
# depends/packages/libsnark.mk
# depends/packages/libsodium.mk
# depends/packages/packages.mk
# depends/packages/rust.mk
# src/Makefile.am
# src/Makefile.gtest.include
# src/chainparams.cpp
# src/chainparams.h
# src/checkpoints.h
# src/clientversion.h
# src/coins.cpp
# src/consensus/consensus.h
# src/gtest/test_mempool.cpp
# src/httprpc.cpp
# src/init.cpp
# src/komodo-tx.cpp
# src/main.cpp
# src/miner.cpp
# src/policy/fees.cpp
# src/policy/fees.h
# src/rpcmining.cpp
# src/rpcrawtransaction.cpp
# src/rpcserver.cpp
# src/test/policyestimator_tests.cpp
# src/test/rpc_wallet_tests.cpp
# src/test/transaction_tests.cpp
# src/txdb.cpp
# src/txmempool.cpp
# src/wallet/asyncrpcoperation_sendmany.cpp
# src/wallet/rpcwallet.cpp
# src/wallet/wallet.cpp
# src/wallet/wallet.h
# src/zcash/CreateJoinSplit.cpp
# zcutil/build.sh
2018-03-25 18:44:38 +03:00
Per Grön
39d2e9e0cb
Make some globals static that can be
...
External linkage does not help and just encourages sloppy dependencies
and can lead to weird issues when there are name collisions.
2018-01-22 18:20:47 +01:00
Jack Grigg
c6b39fbbd6
Include endian-ness compatibility layer in Equihash implementation
2017-11-29 17:28:44 +00:00
ca333
a2d7c036e0
darwin 333
2017-10-22 04:08:53 +02:00
ca333
9d36579649
uni3
2017-10-09 11:45:49 +02:00
jl777
945f015d80
Initial merge
2017-03-30 04:35:16 +03:00
Jack Grigg
2cc0a252ad
Add compile flag to disable compilation of mining code
2017-01-30 21:14:46 +01:00
Joel Barker
cb42e55182
tweaks to allow compiling on linux
2016-12-30 19:42:46 +00:00
Joel Barker
e891d64b87
macifiy the build so that this compiles on a mac
2016-12-26 14:11:13 +08:00
4ZEC
cc6c9ec05e
Correct line swap
...
Pretty clear the author wanted these two lines in other order.
2016-10-14 13:35:22 -04:00
Daira Hopwood
bcf79c78c5
Change some asserts in equihash.cpp to be static.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org >
2016-08-24 06:13:13 +01:00
Daira Hopwood
c6a7e897bc
Add mostly-static checks on consistency of Equihash parameters, MAX_HEADERS_RESULTS, and MAX_PROTOCOL_MESSAGE_LENGTH.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org >
2016-08-24 06:13:06 +01:00
zkbot
cd9d373987
Auto merge of #1260 - str4d:1175-byte-array-manipulation, r=ebfull
...
Update Equihash implementation to match the Zcash spec
Closes #1175
2016-08-24 03:01:13 +00:00
Jack Grigg
e273f05d10
Remove unnecessary temporary array from Equihash hash generation
2016-08-21 06:05:48 +12:00
Jack Grigg
5be6abbf84
Store the Equihash solution in minimal representation in the block header
...
The genesis blocks and miner tests have been regenerated, because changing the
block header serialisation format changes the block hash, and thus validity.
The Equihash solutions have been removed from the bloom test inputs for
simplicity (block validity is not checked there; only a valid serialisation is
necessary).
2016-08-16 16:02:39 +12:00
Jack Grigg
20abe2083c
Extend byte array expansion and compression methods with optional padding
2016-08-16 11:02:04 +12:00
Jack Grigg
caa0348f04
Update Equihash hash generation to match the Zcash spec
...
Changes:
- floor(512/n)*n/8 bytes of BLAKE2b output is split between floor(512/n)
adjacent indices, instead of using one hash call per index.
- Parameters with n/(k+1) mod 8 != 0 will expand the BLAKE2b output to byte
boundaries for colliding, instead of using a longer output and clearing bits.
- The genesis blocks have been regenerated.
- The test vectors have been regenerated.
- The Equihash inputs for the cancellation tests were modified to ensure that
valid solutions were available to exercise the full solver.
2016-08-16 11:02:04 +12:00
Jack Grigg
881ffbfc87
Add methods for byte array expansion and compression
...
These methods convert between:
- A byte array of length NL/8, and
- An array of N blocks of ceil(L/8) bytes.
2016-08-16 11:02:00 +12:00
Robert C. Seacord
1031047885
Update equihash.cpp
...
fix https://github.com/zcash/zcash/issues/1214
2016-08-10 15:40:32 -04:00
Jack Grigg
23acf86791
Ignore duplicate entries after partial recreation
2016-08-06 17:33:38 +12:00
Jack Grigg
fa19e1b357
Add test showing bug in IsProbablyDuplicate()
2016-08-06 15:23:47 +12:00
Jack Grigg
eeb4177843
Add Equihash support for n = 200, k = 9
...
Closes #1177
2016-08-06 10:33:14 +12:00
zkbot
e5b57a1432
Auto merge of #1173 - str4d:1165-equihash-fix-large-k-ballooning, r=bitcartel
...
Eliminate some of the duplicates caused by truncating indices
Closes #1165
2016-08-05 17:35:35 +00:00
Jack Grigg
036dcbd94a
Remove the assumption that n/(k+1) is a multiple of 8.
...
This version works, but generates the initial rows in a way that is not what we
want to specify. See #1175 for resolving this.
Co-author: Daira Hopwood <daira@jacaranda.org >
2016-08-06 02:40:07 +12:00
Jack Grigg
3c3ef34505
Add missing assert
2016-08-05 22:24:04 +12:00
Jack Grigg
e999c1e339
Simplify IsProbablyDuplicate()
2016-08-05 22:17:40 +12:00
Jack Grigg
3c654f38eb
Eliminate probably duplicates in final round
...
This is more likely to eliminate valid solutions than doing so in intermediate
rounds, but the probability is still very low.
2016-08-05 18:15:34 +12:00
Jack Grigg
6b4f4475a5
Use fixed-size array in IsProbablyDuplicate to avoid stack protector warning
2016-08-05 17:18:47 +12:00
Jack Grigg
d4af3dd5fd
Eliminate some of the duplicates caused by truncating indices
2016-08-05 17:09:30 +12:00
Jack Grigg
51eb5273f5
Equihash: Pass each obtained solution to a callback for immediate checking
...
Closes #1143
2016-07-27 19:15:49 +12:00
Jack Grigg
215b9e139d
Use std::shared_ptr to deallocate partialSolns automatically
2016-07-23 00:31:47 +12:00
Jack Grigg
1655db285d
Move initialisations to simplify cancelled checks
2016-07-22 23:54:14 +12:00
Jack Grigg
5a360a5c6a
Fix segfault by indirectly monitoring chainActive.Tip(), locking on mutex
2016-07-21 19:34:21 +12:00
Jack Grigg
5b4ebcd5e2
Add tests that exercise the cancellation code branches
2016-07-21 16:39:32 +12:00
Jack Grigg
2dbabb1159
Make Equihash solvers cancellable
...
The miner only cancels the solver when chainActive.Tip() changes.
Closes #1055
2016-07-20 19:17:02 +12:00
Jack Grigg
1bb40a42c2
Collect all permutations of final solutions
2016-07-19 23:11:49 +12:00
Jack Grigg
d151ab4fea
Only compare the first n/(k+1) bits when sorting
2016-06-21 15:53:47 +12:00
Jack Grigg
09e9a329b7
Tweaks after review
2016-06-14 09:41:03 +12:00
Jack Grigg
933cb4cd9f
Use htole32 and htobe32 for endian conversions
2016-06-11 16:52:02 +12:00
Jack Grigg
a6dcf2ee6f
Use little-endian for hash personalisation and hashing indices
...
The test vectors have been regenerated using the basic solver.
2016-06-11 16:28:57 +12:00
Jack Grigg
d07cf62991
Speed up FullStepRow index comparison by leveraging big-endian byte layout
2016-06-11 16:28:57 +12:00
Jack Grigg
ae37d2a4cd
Increase Equihash parameters to n = 96, k = 3 (about 430 MiB)
...
Includes a tweak to set the fixed-width of the rows based on whether the first
or last round is widest. This is necessary for some parameters, these ones
included.
2016-06-11 12:15:25 +12:00
Jack Grigg
0a66f01304
Use depth-first scan for eliminating partial solutions instead of breadth-first
...
This reduces the peak number of lists in-memory from 2^k to k, and enables the
solver to eliminate most duplicates before it has instantiated the full set of
leaves.
2016-06-03 17:00:03 +12:00