Commit Graph

9064 Commits

Author SHA1 Message Date
Jack Grigg c2e092f29e Fix memory leak in large tx benchmark 2016-06-29 11:45:47 +12:00
Jack Grigg cfd806e161 Clear mempool before using it for benchmark test, fix parameter name 2016-06-29 11:19:41 +12:00
zkbot 68b8b95c53 Auto merge of #962 - ebfull:2mb-blocks, r=ebfull
Increase block size limit to 2MB.

http://gavinandresen.ninja/a-guided-tour-of-the-2mb-fork

Closes #765.
2016-06-28 17:46:47 +00:00
Jack Grigg 8e165d57d9 Randomise the nonce in the block header
The top and bottom 16 bits of the nonce are left clear for local use as thread
flags and counters. This does not leak any more local information about the
miner than is currently exposed.

The cleared bits should not be considered a consensus rule, as miners are free
to set all bits of the nonce however they wish.

Closes #1033
2016-06-28 11:36:35 +12:00
Simon 1b114e54c4 Add getblocksubsidy RPC command to return the block reward for a given
block, taking into account the mining slow start.
2016-06-27 13:04:33 -07: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
Taylor Hornby d9ee9a51d1 Test non-canonical ed25519 signature check 2016-06-23 18:22:20 -06:00
Taylor Hornby 4aea53423e More testing of CheckTransaction 2016-06-23 16:59:00 -06:00
Taylor Hornby 948d4e6c10 Split JoinSplit proof verification out of CheckTransaction. 2016-06-23 16:35:31 -06:00
Taylor Hornby cea9f58791 WIP: Add mock test coverage of CheckTransaction 2016-06-22 17:25:35 -06:00
zkbot 658cdb15f7 Auto merge of #1027 - ThisIsNotOfficialCodeItsJustForks:t862-trivial-mock-test-example, r=ebfull
Add example mock test of CheckTransaction

Closes #862.
2016-06-22 14:30:12 +00:00
Jack Grigg d151ab4fea Only compare the first n/(k+1) bits when sorting 2016-06-21 15:53:47 +12:00
aniemerg 24809b16b6 Update GetDifficulty() to use consensus.powLimit from consensus parameters. Fixes #1032. 2016-06-20 22:21:42 -04:00
Jack Grigg f5edc37f3f Add performance tests for creating and validating a MAX_BLOCK_SIZE transaction 2016-06-21 13:48:04 +12:00
Simon 5dad8f569d Disable USE_ASM when building libsnark (issue 932). 2016-06-20 15:18:15 -07:00
aniemerg dd74e9dd32 Suppress Libsnark Debugging Info
Suppress the Libsnark debugging information displayed on launch
2016-06-19 17:38:44 -04:00
Taylor Hornby 1ea8b00926 Change the network magic numbers. 2016-06-16 19:46:43 -06:00
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
Taylor Hornby fc057da455 Add example mock test of CheckTransaction 2016-06-15 17:01:55 -06: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