zkbot
eef6f737dc
Auto merge of #1126 - ebfull:more-libsnark-changes, r=ebfull
...
Remove more from libsnark, and fix potential remote-DoS.
See https://github.com/zcash/libsnark/pull/1 as well.
[`59adbef`](https://github.com/zcash/libsnark/commit/59adbefcc870c1e807a0378403b6a4022da71d03 ) removes a remote-DoS that can occur if proofs are not well-formed.
[`e3779f9`](https://github.com/zcash/libsnark/commit/e3779f90490905e88c3a08c7194ee948dd8a0da5 ) removes more files that we do not need from libsnark.
[`11242d8`](https://github.com/zcash/libsnark/commit/11242d8afe304c8bcc252baec483f04a110d1dd4 ) replaces assertions that could be triggered by our verifier with exceptions.
Here in Zcash, we catch all exceptions from the verifier and return false.
Closes #459 , Closes #69
2016-07-22 20:16:27 +00:00
zkbot
f0f8622f2a
Auto merge of #1127 - ebfull:test-merkle-tree-gadget, r=ebfull
...
Add test for non-intuitive merkle tree gadget witnessing behavior.
Closes #920
2016-07-22 19:37:13 +00: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
Taylor Hornby
73537ebe97
Put hardened stuff in libzcash CPPFLAGS.
2016-07-21 20:45:11 -06:00
Taylor Hornby
56734f4b27
Pull in upstream's make check-security, based on upstream PR #6854 and #7424 .
2016-07-21 20:45:10 -06:00
Jack Grigg
9e6adb124f
Hardfork to the previous testnet difficulty adjustment behaviour at block 43400
...
This hardfork will be removed the next time the testnet blockchain is reset.
2016-07-22 14:17:46 +12:00
Sean Bowe
4d66f8f68a
Add test for non-intuitive merkle tree gadget witnessing behavior.
2016-07-21 19:28:58 -06:00
Sean Bowe
25d2197043
Remove more from libsnark, and fix potential remote-DoS.
2016-07-21 18:34:59 -06:00
Jack Grigg
e99731b4a4
Reinstate previous testnet adjustment behaviour
...
When the difficulty adjustment algorithm was altered, the special testnet
min-difficulty case was maintained, but the difficulty adjustment for the
following block then adjusted from min-difficulty instead of from the last
non-min-difficulty block. This caused the difficulty on the testnet to sawtooth
instead of stabilising. The intended behaviour is restored here.
2016-07-21 20:50:05 +12:00
Jack Grigg
5a360a5c6a
Fix segfault by indirectly monitoring chainActive.Tip(), locking on mutex
2016-07-21 19:34:21 +12:00
zkbot
cebeabb2f4
Auto merge of #1119 - ebfull:version-bump, r=ebfull
...
Bump the (minimum) protocol version to avoid invoking legacy behavior
This sets the current protocol version to `170002` (an order of magnitude larger than Bitcoin's) and the minimum to the same.
Closes #1107
2016-07-21 04:55:06 +00: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
zkbot
e117ff7651
Auto merge of #1048 - str4d:collect-all-valid-equihash-solns, r=ebfull
...
Collect all permutations of final solutions
This fixes a small bug where if there was a three-way (or more) collision in the final step, one or more valid solutions would be left out.
2016-07-20 03:54:30 +00:00
Sean Bowe
697cc53b29
Bump the (minimum) protocol version to avoid invoking legacy behavior from upstream.
2016-07-19 19:07:14 -06:00
zkbot
b83061544f
Auto merge of #1116 - ebfull:performance-check-valid-pour-fix, r=ebfull
...
Introduce `zcsamplejoinsplit` for creating a raw joinsplit description
We need this to generate joinsplits for use in the performance measurements. The current measurements for *memory usage* of verification are wrong now that we're computing the joinsplit before verifying: https://speed.z.cash/timeline/?exe=1&base=1%2B9&ben=memory+verifyjoinsplit&env=1&revs=50&equid=off&quarts=on&extr=on
This PR fixes that.
2016-07-20 00:03:46 +00:00
zkbot
a1cded5b91
Auto merge of #1088 - ThisIsNotOfficialCodeItsJustForks:t1078-fix-sighash-bug-2, r=ebfull
...
Fix SIGHASH_SINGLE bug by removing in-band signalling.
Competes with #1079 . Closes #1078 .
**I FORCE PUSHED**
2016-07-19 23:39:06 +00:00
Taylor Hornby
838e3c753f
Fix the tests that the SIGHASH_SINGLE bugfix breaks.
2016-07-19 16:36:37 -06:00
Taylor Hornby
67f0243533
Remove in-band error signalling from SignatureHash, fixing the SIGHASH_SINGLE bug.
2016-07-19 16:36:35 -06:00
Sean Bowe
1737627c4e
Introduce zcsamplejoinsplit for creating a raw joinsplit description, and use it to construct the joinsplit for the performance tests that verify joinsplits.
2016-07-19 15:49:11 -06:00
Sean Bowe
1477fd3f40
Remove the constraint system from the alpha proving key.
2016-07-19 14:01:58 -06:00
Jack Grigg
c6365f4d80
Add test case that requires the fix
2016-07-19 23:33:28 +12:00
Jack Grigg
1bb40a42c2
Collect all permutations of final solutions
2016-07-19 23:11:49 +12:00
zkbot
d20d866d89
Auto merge of #1105 - bitcartel:zc.v0.11.2.z6_issue_424, r=ebfull
...
New private/public key pairs for broadcasting alert messages
Implements #424
Fixes and integrates method of sending alerts as described by upstream here:
- https://gist.github.com/laanwj/0e689cfa37b52bcbbb44
To send an alert:
- Copy private keys into alertkeys.h.
- Modify alert parameters and message found in sendalert.cpp
- Build and run to send the alert e.g. ./zcashd -printtoconsole -sendalert
Tested and verified with local nodes on alpha 6 testnet.
2016-07-18 21:09:46 +00:00
zkbot
4d459f93a4
Auto merge of #1090 - ebfull:rename-pour-and-serial, r=ebfull
...
Rename things to match protocol specification
This is a pass through the code to eliminate usage of "pour" and "serial" and any other outdated terminology.
Closes #602
2016-07-18 19:58:25 +00:00
zkbot
e613014526
Auto merge of #1104 - ebfull:libsnark-updates, r=ebfull
...
Update libsnark
We have now forked libsnark's current master and applied the following patches:
* [`9216072`: Remove code that we don't use.](https://github.com/zcash/libsnark/commit/9216072c3b20d65359f4d5f3982c8270dab422b6 ) (unblocks #69 )
* [`dcb78b2`: Modify makefile to stop compiling things we removed.](https://github.com/zcash/libsnark/commit/dcb78b24d9de86522f7f976741111e9e66804889 )
* [`a6b0ad0`: Use libsodium's PRNG](https://github.com/zcash/libsnark/commit/a6b0ad0c801fe96d0e12e5961279cdf306a412fa ) (closes #780 )
* [`4036716`: Don't (de)serialize the constraint system in the proving key.](https://github.com/zcash/libsnark/commit/403671675ada05caf7446f9676fa3c54d5830325 ) (closes #491 )
* [`a703148`: Taylor's compilation patch](https://github.com/zcash/libsnark/commit/a7031481fd8d2360337321401fe8e24f0359317a ) (@defuse can you submit this to upstream?)
This PR adopts those changes, and makes the requisite changes to Zcash to support them. I have decided to not bring libsnark in tree for the time being, though it should be incredibly easy to do later if we're *absolutely* sure we should.
2016-07-18 18:04:56 +00:00
Sean Bowe
b78daf7de7
Change serial to nf in txdb.
2016-07-18 10:07:30 -06:00
Sean Bowe
22de160219
Fixes for indentation and local variable names.
2016-07-18 10:07:29 -06:00
Sean Bowe
28173cd0de
Remove more usage of serial.
2016-07-18 10:06:18 -06:00
Sean Bowe
9e511dbbdd
Rename CSerialsCacheEntry.
2016-07-18 10:06:18 -06:00
Sean Bowe
1d184d53e1
Rename cacheSerials to cacheNullifiers and fix tests.
2016-07-18 10:06:18 -06:00
Daira Hopwood
4bc00dc141
Bucket -> note.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org >
2016-07-18 10:06:18 -06:00
Sean Bowe
cc01120a17
Rename more usage of serial.
2016-07-18 10:06:18 -06:00
Sean Bowe
b7e4abd6f7
Rename some usage of 'pour'.
2016-07-18 10:06:18 -06:00
Sean Bowe
bb64be52fe
Rename mapSerials to mapNullifiers.
2016-07-18 10:06:18 -06:00
Sean Bowe
d889a287ae
Rename CSerialsMap to CNullifiersMap.
2016-07-18 10:06:18 -06:00
Sean Bowe
d90e46ba8d
Renaming SetSerial to SetNullifier.
2016-07-18 10:06:18 -06:00
Sean Bowe
616f8d05af
Rename GetSerial to GetNullifier.
2016-07-18 10:06:18 -06:00
Sean Bowe
ee964faf3d
Rename HavePourRequirements to HaveJoinSplitRequirements.
2016-07-18 10:06:18 -06:00
Sean Bowe
942bc46756
Rename GetPourValueIn to GetJoinSplitValueIn
2016-07-18 10:06:18 -06:00
Sean Bowe
8f95cd3c26
Test fixes.
2016-07-18 10:06:18 -06:00
Sean Bowe
bfeaf0049a
Rename JSDescription's serials to nullifiers.
2016-07-18 10:06:18 -06:00
Sean Bowe
8675d94b63
Rename vpour to vjoinsplit.
2016-07-18 10:06:18 -06:00
Sean Bowe
a8c68ffe99
Rename CPourTx to JSDescription.
2016-07-18 10:06:18 -06:00
Simon
939aaeb620
New alert test data generated for new alert key pair.
...
Added test fixture to create new test data.
Added instructions for developer.
2016-07-17 12:36:26 -07:00
zkbot
f30580744f
Auto merge of #1059 - bitcartel:zc.v0.11.2.z5_getblocksubsidy, r=ebfull
...
Add getblocksubsidy RPC command to return block reward taking into account mining slow start
This PR adds a new RPC command to return the block reward as defined by function `GetBlockSubsidy`.
Usage:
`zcash-cli getblocksubsidy blockheight
`
The basis for this PR is that some users have been unaware of the mining slow start and they subsequently sought help to clarify if they were mining blocks correctly or if there was a bug in the reward schedule.
2016-07-17 16:19:39 +00:00
Simon
9be2f85c22
Remove QT alert message box.
2016-07-16 13:18:42 -07:00
Simon
7af996b263
Update URL for zcash alert IDs.
2016-07-16 13:17:47 -07:00
Simon
656a5f0b6f
Update alert protocol version comment.
2016-07-16 08:18:58 -07:00