Commit Graph

9097 Commits

Author SHA1 Message Date
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
Simon
fbd90518e3 Use -O1 opimitization flag when building libzcash.
Continuation of #1064 and related to #1168.
2016-08-03 22:41:28 -07:00
zkbot
9cc43696ec Auto merge of #1086 - zcash:daira-simplify-readme-title, r=bitcartel
README.md: simplify the title, drop "Core"

We only have one public tree.
2016-08-04 01:33:43 +00:00
zkbot
abd4c16ae9 Auto merge of #1064 - ThisIsNotOfficialCodeItsJustForks:t915-enable-security-hardening, r=bitcartel
Verify security hardening features are turned on
2016-08-03 23:57:05 +00:00
zkbot
1f7e1f68c6 Auto merge of #1157 - ThisIsNotOfficialCodeItsJustForks:t761-run-tests-under-valgrind, r=nathan-at-least
[WIP] Add more commands to run unit tests under valgrind.

This runs both zcash-gtest and test_bitcoin under valgrind. There's a corresponding PR to the buildbot config https://github.com/Electric-Coin-Company/bbotzc/pull/23. Closes #761.
2016-08-03 23:11:44 +00:00
zkbot
a40d70f464 Auto merge of #1160 - str4d:1131-remove-hardfork, r=bitcartel
Remove hardfork from special testnet difficulty rules

Closes #1131
2016-08-03 17:56:32 +00:00
zkbot
19b49de082 Auto merge of #1158 - bitcartel:zc.v0.11.2.latest_1126_trycatch, r=ebfull
Extend try catch block around call to libsnark verifier

As discussed in #1126.

@daira Per your [comment](https://github.com/zcash/zcash/pull/1126#issuecomment-234714939):

> I would like assertion errors during tests to cause a test failure (unless the test explicitly expects them). Can we split this into verify and verify_internal, where the former does the try/catch around a call to verify_internal, and the latter is called by verification unit tests?

Did you mean move everything inside the extended try/catch to verify_internal, or just the call to r1cs_ppzksnark_verifier_strong_IC?
2016-08-01 21:16:53 +00:00
zkbot
4714ea145b Auto merge of #1146 - str4d:1143-equihash-solution-callback, r=ebfull
Equihash: Pass each obtained solution to a callback for immediate checking

Closes #1143
2016-07-30 02:59:12 +00:00
Jack Grigg
4a0bdc9020 Fix bug in 'generate' RPC method that caused it to fail with high probability 2016-07-30 01:28:17 +12:00
Jack Grigg
9e0713f47f Remove hardfork from special testnet difficulty rules
Closes #1131
2016-07-29 21:46:27 +12:00
Simon
d81c31f5fb Extend try catch block around calls to libsnark, per discussion in #1126. 2016-07-29 00:02:22 -07:00
Taylor Hornby
88325d8abb Add more commands to run unit tests under valgrind. 2016-07-28 14:43:36 -06:00
zkbot
b2e956be01 Auto merge of #1137 - bitcartel:zc.v0.11.2.latest_deprecate_zcraw_api, r=ebfull
zcash-cli: Label zcraw... rpc commands as being deprecated

These RPC calls will be removed from 1.0, so let's mark them as deprecated.
2016-07-28 17:25:52 +00:00
Simon
eae3794152 Update deprecation message for zcraw api. 2016-07-27 21:40:26 -07: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
zkbot
6dfc9e7a7c Auto merge of #1120 - str4d:1055-asynchronous-miner-interrupts, r=str4d
Make Equihash solvers cancellable

The miner only cancels the solver when chainActive.Tip() changes.

Closes #1055
2016-07-25 23:51:23 +00:00
Simon
a24a2e1144 Inform user that zcraw... rpc calls are being deprecated. 2016-07-24 10:05:20 -07:00
Sean Bowe
167aece517 z7 Release 2016-07-22 15:50:04 -06:00
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`](59adbefcc8) removes a remote-DoS that can occur if proofs are not well-formed.

[`e3779f9`](e3779f9049) removes more files that we do not need from libsnark.

[`11242d8`](11242d8afe) 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
b00b98ae2c Make security options in configure.ac fail if unavailable. 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
Taylor Hornby
1327d1915a Add tests for security hardening features 2016-07-21 20:45:07 -06:00
Taylor Hornby
effd7ca1d8 Add checksec.sh from http://www.trapkit.de/tools/checksec.html 2016-07-21 20:45:07 -06:00
Taylor Hornby
4e0b4af40f Enable -O1 for better FORTIFY_SOURCE protections. 2016-07-21 20:45:02 -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
Taylor Hornby
ae79cec542 Make the --enable-hardening flag explicit. 2016-07-21 19:53:45 -06: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
zkbot
b5dfcd0fbb Auto merge of #1063 - ThisIsNotOfficialCodeItsJustForks:t898-remove-insecurely-downloaded-dependencies, r=ebfull
Remove insecurely-downloaded dependencies that we don't currently use.

Closes #898.
2016-07-19 23:14:06 +00:00
Taylor Hornby
86551dcb18 Remove insecurely-downloaded dependencies that we don't currently use. 2016-07-19 16:42:58 -06:00
zkbot
741cf2cedf Auto merge of #1115 - ebfull:shorten-proving-key, r=ebfull
Remove the constraint system from the alpha proving key.

This removes the constraint system from the `z5-proving.key`, shortening it by about 35%. It appeared at the end of the file, which is why we didn't need to change public parameters in #1104.
2016-07-19 22:38:50 +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