Commit Graph

8943 Commits

Author SHA1 Message Date
Taylor Hornby bbf75f9f70 z5 release 2016-06-16 19:32:55 -06:00
Taylor Hornby 39bb34eae7 Merge remote-tracking branch 'jack/990-default-ports' into zc.v0.11.2.latest 2016-06-16 19:28:24 -06:00
Taylor Hornby 32ef290e03 Merge remote-tracking branch 'jack/fix-version' into zc.v0.11.2.latest 2016-06-16 19:25:41 -06:00
zkbot 62a2d12672 Auto merge of #1026 - ebfull:address-serialization, r=ebfull
Zcash address encoding

We need to encode Zcash addresses so they aren't as large and unweildy. We're using Base58Check just like upstream does, and to ensure the first character is "z" in our addresses we must use two bytes for the version string. Two bytes gives us an extra character for free, so this PR targets the beginning of addresses to have "zc".

```
$ ./src/zcash-cli zcrawkeygen
{
    "zcaddress" : "tnvaj4ZbZG83tj4RwZcFeLgJoSt8nw1ZvSCG8EMyowAsXTQgJPat77Y43BVdVCrwrbLy7GG9msJDYdn5hmreHmkXAkX17hb",
    "zcsecretkey" : "SKzkxCRWvscKnroSFyhCqhY332KcDMH4LLNdK2TsSvbmr3CGAB8B",
    "zcviewingkey" : "10aa74046f31cbe5eaa8965d1e104853234c3d6c6e45f9c497ca3a025d159755"
}
```

This PR also encodes the spending keys with a prefix that targets "SK". The spec needs to be updated with these changes.

Testnet addresses will start with "tn".

Closes #572
2016-06-16 18:52:30 +00:00
Sean Bowe 05a6d19a54 Testnet spending keys should start with 'TK'. 2016-06-16 12:16:49 -06:00
Jack Grigg 3985a40d1f Change default ports 2016-06-17 00:21:58 +12:00
Jack Grigg cdec0b923e Fix bug in network hashrate lookup window configuration 2016-06-16 21:26:49 +12:00
Jack Grigg 71671484fd Handle full Zcash version string in AC_INIT 2016-06-16 13:48:42 +12:00
zkbot 1178df0883 Auto merge of #1004 - str4d:931-difficulty-algorithm, r=ebfull
Implement new difficulty algorithm

Closes #931. Closes #696.
2016-06-15 23:26:49 +00:00
Jack Grigg 5e207f4ea5 Improve comments per review 2016-06-16 10:45:19 +12:00
Sean Bowe f0ae0b11fe Add test to ensure spending keys always encode with 'SK' at beginning. 2016-06-15 16:25:21 -06:00
Sean Bowe 13039c5362 Make testnet addresses always start with 'tn'. 2016-06-15 16:22:36 -06:00
Sean Bowe d5d2fb71cf Guarantee first two bytes of spending key are SK 2016-06-15 16:15:54 -06:00
Sean Bowe 0d6864e465 Added encoding for Zcash spending keys. 2016-06-15 16:03:57 -06:00
zkbot fe97a405e3 Auto merge of #994 - ebfull:remove-redundant-constraints, r=ebfull
Final changes to the circuit

* Remove [redundant](https://github.com/scipr-lab/libsnark/issues/37) bitness constraints that I pointed out in #908.
* The depth is increased from 20 to 29. I chose 29 because the QAP degree ends up being a power of two, which is probably going to be useful for the FFT in our MPC. (Closes #16)

If we're happy with depth 29 (over 268 million possible joinsplits), this will probably be the final change to the constraint system before 1.0.
2016-06-15 21:39:32 +00:00
Sean Bowe 6ab0a227c6 Fix test against merkle tree root. 2016-06-15 15:31:14 -06:00
Sean Bowe 83ee1903fc Add tests for `CZCPaymentAddress`. 2016-06-15 15:06:07 -06:00
Sean Bowe e104fcddf8 Use base58check to encode Zcash payment addresses, such that the first two bytes are "zc". 2016-06-15 14:59:05 -06:00
Sean Bowe 62b7cd6173 Do not encode leading bytes in `PaymentAddress` serialization; this is a task for a higher-level API. 2016-06-15 14:58:30 -06:00
zkbot 6793168a2e Auto merge of #1017 - ebfull:coinbase-must-be-protected, r=ebfull
Enforce that coinbases must be protected

This PR forces miners to place their funds in the private value transfer system, making "transparent coins" opt-in for users, and increasing privacy for all participants on a systemic level.

Closes #101.
2016-06-15 03:06:23 +00:00
Jack Grigg 284e125957 Update tests for new difficulty algorithm 2016-06-15 13:44:27 +12:00
Jack Grigg f2c48e15e5 Implement new difficulty algorithm (#931)
The algorithm is based on DigiShield v3/v4.
2016-06-15 09:48:42 +12:00
Sean Bowe d212ba320b Disable enforced coinbase protection in miner_tests. 2016-06-14 15:18:52 -06:00
Sean Bowe a180d0a6c6 Rename to `fCoinbaseMustBeProtected`. 2016-06-14 15:16:34 -06:00
Sean Bowe 89f3cd11c7 Ensure NonContextualCheckInputs runs before routines in ContextualCheckInputs. 2016-06-14 12:41:32 -06:00
Sean Bowe 542da618df Enforce remaining softfork activation rules unconditionally. 2016-06-14 12:34:38 -06:00
Sean Bowe b3be1ef529 Enforce BIP16 and BIP30 unconditionally to all blocks. 2016-06-14 09:49:48 -06:00
zkbot c80ce72845 Auto merge of #1019 - ebfull:mempool-integrity-chained-pours, r=ebfull
Ensure mempool integrity checks don't trip on chained joinsplits.
2016-06-14 02:43:28 +00:00
zkbot 1a30d65859 Auto merge of #1008 - str4d:850-platform-independent-equihash, r=str4d
Implement Equihash in a platform-independent manner

Closes #850.
2016-06-13 21:48:56 +00:00
Jack Grigg 09e9a329b7 Tweaks after review 2016-06-14 09:41:03 +12:00
Sean Bowe a667caec13 Ensure mempool integrity checks don't trip on chained joinsplits. 2016-06-13 13:02:46 -06:00
Sean Bowe c0dde76d8a Disable coinbase-must-be-protected rule on regtest. 2016-06-13 12:23:55 -06:00
Sean Bowe 1d38795f50 Prevent coinbases from being spent to transparent outputs. 2016-06-13 11:58:10 -06:00
Sean Bowe 2c901fd87d Refactor contextual and noncontextual input checks. 2016-06-13 11:52:46 -06:00
Sean Bowe 10df6fb3df Rename `CheckInputs` to `ContextualCheckInputs` since it relies on a global variable
and assumes calling conditions.
2016-06-13 11:45:41 -06:00
zkbot 47e6645005 Auto merge of #1009 - ThisIsNotOfficialCodeItsJustForks:t171-hard-fork-alerts-and-tests, r=ebfull
Enable -alertnotify for hard fork detection. Test it.

Closes #171. Closes #131.
2016-06-12 18:04:53 +00:00
Jack Grigg f3aee6b109 Update miner tests for platform-independent Equihash 2016-06-12 00:00:26 +12:00
Jack Grigg 6f14382a02 Regenerate genesis blocks 2016-06-11 16:52:02 +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 1dd8ce9ba5 Update tests to account for new Equihash parameters 2016-06-11 15:45:55 +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 3fe29eab90 Fix failing tests 2016-06-10 16:16:33 +12:00
Jack Grigg d4388ed52b Updated a hard-coded number of blocks to account for decreased block interval 2016-06-10 12:02:49 +12:00
Jack Grigg 196cf25d5b Update RPC tests to account for decreased block interval 2016-06-10 12:02:49 +12:00
Jack Grigg a59c352cfd Update tests to account for decreased block interval 2016-06-10 12:02:47 +12:00
Jack Grigg 45e3deea8a Decrease block interval to 2.5 minutes 2016-06-10 11:45:04 +12:00
zkbot 7232b5d70a Auto merge of #988 - str4d:optimised-equihash, r=ebfull
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.

Part of #857.
2016-06-09 22:43:09 +00:00
Taylor Hornby 57c074e1e4 Enable -alertnotify for hard fork detection. Test it. 2016-06-09 13:48:04 -06:00