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
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