Sean Bowe
ffcd1c57cc
Update tests with cache usage computations
2016-07-10 20:53:33 -06:00
Sean Bowe
7f3c7a683b
Flush to disk more consistently by accounting memory usage of serials/anchors in cache.
2016-06-27 10:52:34 -06:00
Sean Bowe
05a6d19a54
Testnet spending keys should start with 'TK'.
2016-06-16 12:16:49 -06: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
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
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
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
Sean Bowe
ecd8ca5dbe
Minor changes to coins_tests.
2016-06-08 09:15:44 -06:00
Sean Bowe
49ab032b5f
Add test to ensure parent treestates only can appear earlier in the transaction or in the global state, not later.
2016-06-07 21:05:25 -06:00
Sean Bowe
1744fec274
Update the zkSNARK parameters.
2016-06-03 21:04:07 -06:00
Sean Bowe
c5f766b9b1
Change merkle tree depth to 29.
2016-06-03 20:42:15 -06:00
Sean Bowe
83e018b160
Remove redundant constraints.
2016-06-03 20:27:51 -06:00
Sean Bowe
3960e14d91
Update performance measurement transaction.
2016-05-31 13:17:55 -06:00
Sean Bowe
10c33f0f87
Test behavior of chained pour consensus rules.
2016-05-30 22:46:44 -06:00
Sean Bowe
6c59778acb
Allow pours to be anchored to intermediate treestates of a transaction.
2016-05-30 22:46:44 -06:00
Sean Bowe
8048f4c048
Ensure merkle tree fixed point removal is tested against inside coins_tests.
2016-05-30 22:46:44 -06:00
Sean Bowe
14b12fde2b
Move new coins tests to within coins_tests test suite.
2016-05-30 22:46:44 -06:00
Sean Bowe
7c68cc0747
Add additional assertions.
2016-05-30 21:38:44 -06:00
Sean Bowe
e8af0028eb
Change error for invalid joinsplit signature for consistency.
2016-05-30 19:38:01 -06:00
Sean Bowe
3a10823ad4
Wrap lines in *CTransaction constructors.
2016-05-30 19:35:09 -06:00
Sean Bowe
1e99cbab04
Use joinsplit_sig_t in more places.
2016-05-30 19:33:28 -06:00
Sean Bowe
69c0f9128c
Enforce that the S value of the ed25519 signature is smaller than the group order to prevent malleability attacks.
2016-05-30 11:05:55 -06:00
Sean Bowe
320f2cc7e0
Switch to Ed25519 for cryptographic binding of joinsplits to transactions.
2016-05-30 11:05:55 -06:00
Sean Bowe
fd7c139e37
Pass -fopenmp at compile-time to enable MULTICORE.
2016-05-25 15:59:59 -06:00
Sean Bowe
e6c2d66c93
Enable MULTICORE proving behavior with omp.
2016-05-25 11:19:13 -06:00
Sean Bowe
6b5d608899
Update proving key and tests that depend on transaction structure changes
2016-05-24 11:09:17 -06:00
Sean Bowe
3ebca007f3
Reorder fields of CPourTx to reflect the spec.
2016-05-24 11:08:31 -06:00
Sean Bowe
9285bba885
Enable binary serializations of proofs and r1cs keys, and make the CPourTx proof field fixed-size.
2016-05-24 11:08:31 -06:00
Sean Bowe
defe37a6d4
Enforce first four bits are zero for all spending keys and phi.
2016-05-24 11:07:09 -06:00
Sean Bowe
1bcdec40a4
Refactor PRF_gadget to hand responsibility to PRF_addr_a_pk_gadget for creating the '0' argument to the PRF.
2016-05-23 10:43:25 -06:00
Sean Bowe
a6770caa45
Update versions and release notes.
2016-05-16 23:08:35 -06:00
Sean Bowe
383f8b0c8a
Change testnet network magics.
2016-05-16 22:54:33 -06:00
Sean Bowe
1896a89cac
Add h_sig test vectors.
2016-05-12 16:45:12 -06:00
Sean Bowe
3e0af61b86
Update zkSNARK proving/verifying keys.
2016-05-12 16:45:12 -06:00
Sean Bowe
81469bbb83
Note values should be little-endian byte order.
2016-05-12 16:45:12 -06:00
Sean Bowe
032164d5d5
Rename hmac -> mac in circuit.
2016-05-12 16:45:12 -06:00
Sean Bowe
a9640f67f1
Rename ZCASH_ constants to ZC_.
2016-05-12 16:45:07 -06:00
Sean Bowe
53ab7c06ba
Use inheritance for PRF gadgets.
2016-05-12 16:44:49 -06:00
Sean Bowe
ccb439c510
Protect-style joinsplits should anchor to the latest root for now, until #604 is resolved.
2016-05-12 16:44:49 -06:00
Sean Bowe
0cdfab1d92
Remove the zerocash tests from the full test suite.
2016-05-12 16:44:49 -06:00
Sean Bowe
ddb03c3e8d
Fix performance measurements due to modified transaction structure.
2016-05-12 16:44:49 -06:00
Sean Bowe
b8d320df19
Update public zkSNARK parameters for new circuit.
2016-05-12 16:44:49 -06:00
Sean Bowe
4ec57478c4
Remove nearly all of libzerocash.
2016-05-12 16:44:49 -06:00
Sean Bowe
0d990f31a7
Stop testing old tree against new tree.
2016-05-12 16:44:49 -06:00
Sean Bowe
5975bf1c32
Added public zkSNARK parameter generation utility.
2016-05-12 16:44:49 -06:00
Sean Bowe
2dc3599271
Transplant of libzcash.
2016-05-12 16:44:47 -06:00
Sean Bowe
2140639309
Remove scriptPubKey/scriptSig from CPourTx, and add randomSeed.
2016-05-12 16:44:30 -06:00
Sean Bowe
5a2db9e283
libzcash: Add tests for API
2016-05-12 16:44:30 -06:00
Sean Bowe
59c3d926c6
zkSNARK: Enforce merkle authentication path from nonzero-valued public inputs to root.
2016-05-12 16:44:30 -06:00
Sean Bowe
fcece37f00
zkSNARK: Witness commitments to input notes.
2016-05-12 16:44:30 -06:00
Sean Bowe
e5f7c49d55
zkSNARK: Ensure that values balance correctly.
2016-05-12 16:44:30 -06:00
Sean Bowe
5e61a78fec
zkSNARK: Enforce disclosure of commitments to output notes.
2016-05-12 16:44:30 -06:00
Sean Bowe
6b010d9bfd
zkSNARK: Enforce that new output notes have unique rho to prevent faerie gold attack.
2016-05-12 16:44:30 -06:00
Sean Bowe
e52f40e839
zkSNARK: Authenticate h_sig with a_sk
2016-05-12 16:44:30 -06:00
Sean Bowe
2a2f3fb80f
zkSNARK: Enforce disclosure of input note nullifiers
2016-05-12 16:44:30 -06:00
Sean Bowe
ca8d6c9347
zkSNARK: Enforce spend-authority of input notes.
2016-05-12 16:44:30 -06:00
Sean Bowe
53d2ade7c2
zkSNARK: Add "zero" constant variable.
2016-05-12 16:44:30 -06:00
Sean Bowe
074eb3a2cf
zkSNARK: Foundations of circuit design and verification logic.
2016-05-12 16:44:30 -06:00
Sean Bowe
369df06583
Introduce new libzcash Zcash protocol API and crypto constructions surrounding the zkSNARK circuit.
2016-05-12 16:44:27 -06:00
Sean Bowe
c75d6bd0fa
Initialize libsodium in the gtest suite.
2016-05-10 17:46:58 -06:00
Sean Bowe
5961dcb6da
Change ciphertext length to match protocol spec, and refactor the use of constants.
2016-05-05 21:02:03 -06:00
Sean Bowe
26007222e8
Distinguish the failure cases of wfcheck in tree.
2016-05-03 11:23:54 -06:00
Sean Bowe
956dcdde80
Perform zerocash tests as part of full-test-suite, in preparation for removal of zerocash waterfall.
2016-05-03 06:49:15 -06:00
Sean Bowe
6bd8e46922
Run zcash-gtest in make check and fix performance tests.
2016-05-02 23:14:53 -06:00
Sean Bowe
6f1b70300d
Small nit fixes
2016-04-30 11:59:39 -06:00
Sean Bowe
4b2c67d212
Check exception has specific string message.
2016-04-28 19:35:22 -06:00
Sean Bowe
70ac6ce2ee
Clarify the usage of decryption API.
2016-04-28 17:06:08 -06:00
Sean Bowe
984bdd88f1
Add additional tests for ephemeral key behavior.
2016-04-28 16:52:22 -06:00
Sean Bowe
57f118176f
Move NoteEncryption tests to gtest suite.
2016-04-28 16:25:14 -06:00
Sean Bowe
6c36a9fe03
NoteEncryption implementation and integration, removal of ECIES and crypto++ dependencies.
2016-04-28 16:25:12 -06:00
Sean Bowe
6850b45e4d
Move incremental merkle tree tests to zcash-gtest.
2016-04-28 16:10:21 -06:00
Sean Bowe
9b92a9d5fb
Make appending algorithm more succinct.
2016-04-28 16:07:52 -06:00
Sean Bowe
d0c4b0e850
Add more well-formedness checks/tests to tree.
2016-04-28 16:07:52 -06:00
Sean Bowe
01e4ff0f74
Improve well-formedness checks and add additional serialization/deserialization tests.
2016-04-28 16:07:52 -06:00
Sean Bowe
6d71658673
Initialize curve/field parameters in case another test hasn't done so.
2016-04-28 16:07:52 -06:00
Sean Bowe
1760b3cd88
Deprecate the old tree and remove old tree tests from the test suite.
2016-04-28 16:07:52 -06:00
Sean Bowe
482aefbd0d
Test old tree along with new tree as much as possible.
2016-04-28 16:07:52 -06:00
Sean Bowe
434f328446
Integrate new incremental merkle tree implementation into consensus.
2016-04-28 16:07:52 -06:00
Sean Bowe
e1ff849d8d
New implementation of incremental merkle tree
...
This is a new implementation of the incremental merkle tree used by our
scheme to witness commitments to spendable value. It serves as a fixed-sized
accumulator.
This new construction has a much simpler API surface area, avoids memory
safety issues, remains pruned at all times, avoids serialization edge cases,
has more efficient insertion, and is abstract over the depth and hash
function used at the type level.
Further, it lays the groundwork for efficient "fast-forwarding" of witnesses
into the tree as the treestate is updated.
2016-04-28 16:07:52 -06:00
Sean Bowe
291b191bd7
Add serialization for primitive boost::optional<T>.
2016-04-28 16:07:52 -06:00
Sean Bowe
62fdd8d094
Change pchMessageStart for new testnet.
2016-04-11 12:46:46 -06:00
Sean Bowe
6ca317e1cc
Fix remaining RPC tests.
2016-04-11 12:46:46 -06:00
Sean Bowe
f3ffa3d27f
Implementation of Founders' Reward.
...
All blocks before the first subsidy halving block, with the exception of
the genesis block, must contain an output which sends 20% of the block
subsidy value to a scriptPubKey `FOUNDERS_REWARD_SCRIPT`.
2016-04-08 14:40:28 -06:00
Sean Bowe
abc1c352c9
Add missing synchronization that causes race condition in test.
2016-04-08 13:54:44 -06:00
Sean Bowe
e22df48519
Fix miner_tests to work with equihash
2016-04-08 22:16:29 +12:00
Sean Bowe
fd5007c126
Create new hasher for sha256() utility.
2016-03-31 16:19:29 -06:00