Commit Graph

8873 Commits

Author SHA1 Message Date
zkbot d0cc00207b Auto merge of #929 - bitcartel:zc.v0.11.2.z2_fix_717, r=ebfull
Fix issue #717 t

Fix issue #717 where if addrman is starved of addresses (e.g. on testnet)
the Select_() function will loop endlessly trying to find an address,
and therefore eat up 100% cpu time on the 'opencon' thread.

Solution is to (1) add a delay to the loop and (2) restrict the number
of attempts to find an address.  On exiting the loop, we return
to an outer loop in net.cpp which will sleep, add seed nodes and
calculate new addresses.
2016-06-06 20:03:16 +00:00
Simon edab3ddd2e Implement issue #997 to reduce time for test_bitcoin due to sleeps in
addrman.  Related to issue #717.
2016-06-06 17:11:15 +08:00
Taylor Hornby 592b2f0e64 z4 release 2016-06-01 13:42:03 -06:00
zkbot 55bf149df9 Auto merge of #921 - str4d:optimised-equihash, r=daira
Optimise memory usage of Equihash implementation

Part of #857.
2016-06-01 13:10:26 +00:00
Jack Grigg 447444ae7a Fix nits after review 2016-06-01 23:15:04 +12:00
Sean Bowe 3960e14d91 Update performance measurement transaction. 2016-05-31 13:17:55 -06:00
zkbot 19769ba6c5 Auto merge of #976 - ebfull:implement-joinsplit-signatures, r=ebfull
Signing pours with ed25519

This is an alternative to #964 which uses ed25519 instead of secp256k1, and avoids the separate hash for fitting the public key into the `h_sig` block. It's based on @defuse's work in that branch.

Closes #808.
2016-05-31 03:46:30 +00: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
Taylor Hornby b48122b57b Fix tests for JoinSplit signatures 2016-05-30 11:05:43 -06:00
Taylor Hornby a138f81404 Implement signature verification in CheckTransaction 2016-05-30 11:05:43 -06:00
Taylor Hornby ed6c1b5d15 We don't want to benchmark signature creation / verification. 2016-05-30 11:05:43 -06:00
Taylor Hornby 6aae9d1a55 Sign JoinSplit transactions 2016-05-30 11:05:31 -06:00
zkbot 212cdc4fa4 Auto merge of #972 - bitcartel:zc.v0.11.2.z3_issue_651_remove_bitcoin_seeds, r=ebfull
Remove Bitcoin mainnet and testnet seeds.

Simple patch for issue #651 to remove hard-coded mainnet and testnet seeds
- they currently point to bitcoin nodes
- some are .onion addresses but Tor support has not yet been added
- gets rid of error messages in debug.log which might confuse people testing the alpha builds
2016-05-27 18:55:42 +00:00
Simon 17c4c0db48 Remove Bitcoin mainnet seeds. 2016-05-27 11:37:41 -07:00
zkbot b1f699660f Auto merge of #887 - str4d:mining-slow-start, r=ebfull
Implement mining slow start

Closes #762.
2016-05-27 02:15:24 +00:00
Jack Grigg 068e2f1a09 Fix comment 2016-05-27 11:29:08 +12:00
Simon 1cf94c69e8 Remove Bitcoin testnet seeds. 2016-05-25 17:00:44 -07:00
Taylor Hornby fc8c101acf Enable -v for valgrind so we can see counts for each error. 2016-05-25 16:42:39 -06:00
Taylor Hornby 0af5e31282 Pass -DPURIFY to OpenSSL so it doesn't clutter valgrind output. 2016-05-25 16:42:39 -06:00
Taylor Hornby d578de8e27 Add ability to run things under valgrind. 2016-05-25 16:42:36 -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
zkbot 8ff7c0752e Auto merge of #954 - ebfull:fix-cpourtx-structure, r=ebfull
CPourTx structural changes

* Enable binary serialization of proofs and the proving key (closes #799) and make the proofs fixed-size.
* Reorder fields of CPourTx to match the spec (closes #927)
2016-05-25 16:33:31 +00:00
zkbot 1f07deb5db Auto merge of #956 - ebfull:uint252, r=ebfull
Enforce first four bits are zero for all spending keys and phi.

This introduces a `uint252` to ensure these fields are 252-bits for the PRFs.

Closes #899
2016-05-25 14:59:00 +00:00
Simon 0dd2bf94dd Declare constants for the maximum number of retries, when to sleep
between retries and how long for.
2016-05-24 23:56:31 -07:00
Philip Kaufmann 0116e20ea1 remove using namespace std from addrman.cpp
Signed-off-by: Simon <simon@bitcartel.com>
2016-05-24 22:53:17 -07:00
Patrick Strateman 7bfb552f63 CAddrMan::Deserialize handle corrupt serializations better.
Signed-off-by: Simon <simon@bitcartel.com>
2016-05-24 22:47:00 -07:00
Ethan Heilman 1bf2cb1a06 Increase test coverage for addrman and addrinfo
Adds several unittests for CAddrMan and CAddrInfo.
Increases the accuracy of addrman tests.
Removes non-determinism in tests by overriding the random number generator.
Extracts testing code from addrman class to test class.

Signed-off-by: Simon <simon@bitcartel.com>
2016-05-24 12:55:33 -07:00
EthanHeilman 8375e1a3e7 Creates unittests for addrman, makes addrman testable.
Adds several unittests for addrman to verify it works as expected.
Makes small modifications to addrman to allow deterministic and targeted tests.

Signed-off-by: Simon <simon@bitcartel.com>
2016-05-24 11:10:54 -07: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
Jack Grigg b5c6a3af12 Use optimised Equihash solver for miner and benchmarks
The basic solver is still used for regtest-only purposes.
2016-05-24 23:16:53 +12:00
Jack Grigg d4d76536a5 Use fixed-width array for storing hash and indices 2016-05-24 23:16:53 +12:00
Jack Grigg 29d9986c83 Store full indices in the same char* as the hash 2016-05-24 23:16:52 +12:00
Jack Grigg 639c40047f Use comparator object for sorting StepRows 2016-05-24 23:16:52 +12:00
Jack Grigg a683cc85d9 Merge *StepRow XOR and trimming operations 2016-05-24 23:16:52 +12:00
Jack Grigg e95747288a Use template parameters to statically initialise Equihash 2016-05-24 23:16:50 +12:00
zkbot 9cf13a3e85 Auto merge of #955 - loxal:zc.v0.11.2.latest, r=ebfull
#776 add sha256sum support for Mac OS X
2016-05-24 03:47:03 +00:00
zkbot 4ac1841614 Auto merge of #958 - ebfull:prf-refactor, r=ebfull
Refactor PRF_gadget to hand responsibility to PRF_addr_a_pk_gadget for creating the '0' argument to the PRF

Closes #930
2016-05-24 01:11:44 +00:00
Jack Grigg 39f5cb35f9 Store truncated indices in the same char* as the hash (H/T tromp for the idea!) 2016-05-24 12:02:46 +12:00
Jack Grigg c92c1f6050 Implement index-truncation Equihash optimisation 2016-05-24 12:02:46 +12:00
Jack Grigg 6afef0dd6d Cleanups 2016-05-24 12:02:46 +12:00
Jack Grigg a3361e778b Refactor StepRow to make optimisation easier 2016-05-24 12:02:08 +12:00