Commit Graph

127 Commits

Author SHA1 Message Date
Jack Grigg 66f07f5d0d Regenerate genesis blocks for new powLimits 2016-09-07 08:18:46 +12:00
Jack Grigg 3e24a533f5 Restrict powLimit due to difficulty averaging 2016-09-07 08:17:43 +12:00
Jack Grigg 8f3ec042af Expand bounds on difficulty adjustment 2016-09-06 13:13:23 +12:00
Jack Grigg 57466ea652 Remove mainnet DNS seeds, set checkpoint to genesis
Closes #1185
2016-09-01 17:01:28 +12:00
Daira Hopwood 727ed5ffa3 Update pchMessageStart for the z9 testnet. ⚧Ⓐ
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-08-25 15:55:51 +01:00
Daira Hopwood c6a7e897bc Add mostly-static checks on consistency of Equihash parameters, MAX_HEADERS_RESULTS, and MAX_PROTOCOL_MESSAGE_LENGTH.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-08-24 06:13:06 +01:00
Jack Grigg 5be6abbf84 Store the Equihash solution in minimal representation in the block header
The genesis blocks and miner tests have been regenerated, because changing the
block header serialisation format changes the block hash, and thus validity.

The Equihash solutions have been removed from the bloom test inputs for
simplicity (block validity is not checked there; only a valid serialisation is
necessary).
2016-08-16 16:02:39 +12:00
Jack Grigg caa0348f04 Update Equihash hash generation to match the Zcash spec
Changes:

- floor(512/n)*n/8 bytes of BLAKE2b output is split between floor(512/n)
  adjacent indices, instead of using one hash call per index.

- Parameters with n/(k+1) mod 8 != 0 will expand the BLAKE2b output to byte
  boundaries for colliding, instead of using a longer output and clearing bits.

- The genesis blocks have been regenerated.

- The test vectors have been regenerated.

- The Equihash inputs for the cancellation tests were modified to ensure that
  valid solutions were available to exercise the full solver.
2016-08-16 11:02:04 +12:00
Simon a8270035c0 Release process for z8. Issue #1140. 2016-08-06 15:37:24 -07:00
Jack Grigg ca202e2db1 Change Equihash parameters to n = 200, k = 9 (about 563-700 MiB) 2016-08-06 15:27:27 +12:00
Simon 0ccb650b5a Update genesis block hashes and test data. 2016-07-27 00:55:48 -07:00
Simon a2cf219581 Update genesis blocks. 2016-07-26 17:09:27 -07:00
Simon 174a68b3b7 Use new public/private key pairs for alert system. 2016-07-15 18:03:30 -07:00
Sean Bowe 3cb927661e Remove the mainnet checkpoints. 2016-06-29 14:21:03 -06:00
Taylor Hornby 1ea8b00926 Change the network magic numbers. 2016-06-16 19:46:43 -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
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
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
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 e104fcddf8 Use base58check to encode Zcash payment addresses, such that the first two bytes are "zc". 2016-06-15 14:59:05 -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 f2c48e15e5 Implement new difficulty algorithm (#931)
The algorithm is based on DigiShield v3/v4.
2016-06-15 09:48:42 +12:00
Sean Bowe a180d0a6c6 Rename to `fCoinbaseMustBeProtected`. 2016-06-14 15:16:34 -06:00
Sean Bowe c0dde76d8a Disable coinbase-must-be-protected rule on regtest. 2016-06-13 12:23:55 -06:00
Jack Grigg 6f14382a02 Regenerate genesis blocks 2016-06-11 16:52:02 +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 45e3deea8a Decrease block interval to 2.5 minutes 2016-06-10 11:45:04 +12:00
Jack Grigg 2ce992956b Regenerate genesis blocks 2016-06-07 21:54:13 +12:00
Taylor Hornby 592b2f0e64 z4 release 2016-06-01 13:42:03 -06: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
Sean Bowe 383f8b0c8a Change testnet network magics. 2016-05-16 22:54:33 -06:00
Jack Grigg 7a1f55183d Disable mining slow start in regtest mode 2016-05-10 23:11:32 +12:00
Jack Grigg bcb34c0802 Implement mining slow start with a linear ramp 2016-05-10 23:03:18 +12:00
Sean Bowe 62fdd8d094 Change pchMessageStart for new testnet. 2016-04-11 12:46:46 -06:00
Jack Grigg b82dccaa0d Adjust genesis blocks to have valid solutions and hashes
The mainnet genesis block is artifically easy; we will revert this when we
actually start using mainnet.
2016-04-08 13:56:00 +12:00
Jack Grigg fdda3c5085 Use Equihash for Proof-of-Work
The main and test networks are configured to use parameters that are currently
low-memory but usable with the basic solver; they will be increased once the
solver is optimised. The regtest network is configured to have extremely low
memory usage for speed.

Note that Bitcoin's double-hasher is used for the difficulty check. This does
not match the paper, but is simpler than changing the block header
serialization. Single hashing is kept for the EquiHash solver because there is
no requirement on execution time there, only on memory usage.
2016-04-08 13:56:00 +12:00
Sean Bowe 8505fd548a Prevent testnet from connecting to Bitcoin and getting people marked as DoS. 2016-01-19 14:36:10 -07:00
Sean Bowe 9144ea8c2b Testnet modifications -- just take the parameters from regtest. Also, move loading ZC params to _before_ verification. 2016-01-19 14:36:10 -07:00
Luke Dashjr 33d6825c6f Bugfix: Allow mining on top of old tip blocks for testnet (fixes testnet-in-a-box use case) 2015-10-14 08:20:38 +00:00
ayeowch dd9e688b3b Trivial: Corrected owner of DNS seeder 2015-05-14 01:02:00 -04:00
Wladimir J. van der Laan 00820f921d
Merge pull request #6055
a8cdaf5 checkpoints: move the checkpoints enable boolean into main (Cory Fields)
11982d3 checkpoints: Decouple checkpoints from Params (Cory Fields)
6996823 checkpoints: make checkpoints a member of CChainParams (Cory Fields)
9f13a10 checkpoints: store mapCheckpoints in CCheckpointData rather than a pointer (Cory Fields)
2015-05-06 11:38:39 +02:00
Wladimir J. van der Laan 31c0bf1c46
Merge pull request #6080
1a0259f add jonasschnellis dns seeder (Jonas Schnelli)
2015-05-05 18:56:48 +02:00
Wladimir J. van der Laan 00e76db8c2
Merge pull request #6085
b05a89b Non-grammatical language improvements (Luke Dashjr)
7e6d23b Bugfix: Grammar fixes (Corinne Dashjr)
2015-05-04 08:01:58 +02:00
Luke Dashjr b05a89b2de Non-grammatical language improvements 2015-05-02 15:23:59 +00:00
Cory Fields 699682304f checkpoints: make checkpoints a member of CChainParams
This drops the virtual call and simplifies the logic
2015-04-30 23:14:48 -04:00
Cory Fields 9f13a10548 checkpoints: store mapCheckpoints in CCheckpointData rather than a pointer 2015-04-30 23:14:08 -04:00