Commit Graph

9267 Commits

Author SHA1 Message Date
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
bitcartel 85cc6f5b44 Update tor.md for Zcash 2016-07-19 12:48:09 -07:00
zkbot 431604c7d9 Auto merge of #1094 - ThisIsNotOfficialCodeItsJustForks:t488-document-side-channel-attacks, r=ebfull
Add security warnings doc with warning about side channels.

Closes #5. Closes #785. Closes #488. Closes #784.

Let's only merge this once we're sure the warning is at least as strong as it needs to be (and thus sufficient to close those tickets).
2016-07-19 17:39:27 +00: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
Taylor Hornby b722000231 Mention physical access / close proximity 2016-07-18 14:54:22 -06:00
Taylor Hornby 35b3168d2c Note that the actual secret spending key may be leaked. 2016-07-18 14:50:07 -06: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.](9216072c3b) (unblocks #69)
* [`dcb78b2`: Modify makefile to stop compiling things we removed.](dcb78b24d9)
* [`a6b0ad0`: Use libsodium's PRNG](a6b0ad0c80) (closes #780)
* [`4036716`: Don't (de)serialize the constraint system in the proving key.](403671675a) (closes #491)
* [`a703148`: Taylor's compilation patch](a7031481fd) (@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 d36098f873 Rename `pour` in RPC tests. 2016-07-18 10:43:17 -06: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 fd933ed05e Fix tests 2016-07-18 10:06:18 -06:00
Sean Bowe 6e33353ea2 Rename pour RPC tests 2016-07-18 10:06:18 -06:00
Sean Bowe ffcfe76d4f Change encryptedbucket1 to encryptednote1. 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