Alessandro Coglio
08fcc0c1f0
Add a paragraph break
...
It seems that this should get its own paragraph, for symmetry with nearby paragraphs.
2021-01-15 18:09:09 -08:00
Daira Hopwood
adced97391
Update Change History version and date.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-11 00:08:20 +00:00
Daira Hopwood
6dc375e9ec
Add (experimental, unused) support for linking consensus rules with the corresponding code.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-10 23:56:30 +00:00
Daira Hopwood
9bc9823a23
Add macros and Makefile support for building the Orchard draft specification.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-10 23:56:30 +00:00
Daira Hopwood
3751c9973d
QED-it changed the spelling of their company name to QEDIT.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-10 23:46:24 +00:00
Daira Hopwood
a5b78961f4
Clarify the encoding of block heights for the "height in coinbase" rule.
...
The description of this rule has also moved from 'Block Header Encoding and Consensus' to
'Transaction Encoding and Consensus'.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-10 23:45:53 +00:00
Daira Hopwood
0bd8580d1a
Include the activation dates of Heartwood and Canopy in 'Network Upgrades'.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-10 23:40:03 +00:00
Daira Hopwood
1ddc19ffaa
Section links in the Heartwood and Canopy versions of the specification now go to the correct document URL.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-10 23:37:16 +00:00
Daira Hopwood
34de56533f
Protocol spec: use cmap package to attempt to improve search/copy-paste on some PDF readers.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-10 23:32:54 +00:00
Daira Hopwood
3274aa10de
Avoid undefined references when building sprout.pdf.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-11-06 01:00:58 +00:00
Daira Hopwood
9a8f72c5e3
Add release date.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-11-06 01:00:58 +00:00
Daira Hopwood
7999296d7d
Minor corrections.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-11-06 01:00:58 +00:00
Daira Hopwood
6e3c173538
Update a comment about BIPs (which is not in the rendered document).
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-11-06 01:00:58 +00:00
Daira Hopwood
c278c2f93a
Reserve transaction version 0x7FFFFFFF and version group ID 0xFFFFFFFF for experimental use.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-11-06 01:00:58 +00:00
Daira Hopwood
9257be1d1f
Add a consensus rule that the (zero-valued) coinbase transaction output of the genesis block cannot be spent.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-11-06 01:00:58 +00:00
Daira Hopwood
917dbf5c46
Add a missing consensus rule that has always been implemented in zcashd: there must be at
...
least one transparent output, Sapling output, or JoinSplit in a transaction.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-11-06 01:00:58 +00:00
Daira Hopwood
94ec65564c
Define Sprout/Sapling chain value pool balances, and include consensus rules from ZIP 209.
...
This includes updates to ZIPs 209 and 211 for consistency of terminology (also addressing
a nit from the NCC Canopy report).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-11-06 01:00:58 +00:00
Daira Hopwood
71cee89a18
Corrections to note decryption algorithms:
...
* ephemeralKey is kept as a byte sequence rather than immediately converted to a curve point;
this matters because of non-canonical encoding.
* The representation of pk_d in a note plaintext may also be non-canonical and need not be in the
prime subgroup.
* Move checking of cm_u in decryption with ivk to the end of the algorithm, to more closely match
the implementation.
* The note about decryption of outputs in mempool transactions should have been normative.
Also change ZIP 212 to say that it is aligned with this version of the protocol spec.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-11-06 01:00:58 +00:00
Daira Hopwood
775b5f3b5d
Use "let mutable" to introduce mutable variables in algorithms.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-11-06 01:00:58 +00:00
Daira Hopwood
9c9ad74fad
Acknowledge Alexandra Elbakyan for her work on Sci-Hub.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-11-06 01:00:58 +00:00
Daira Hopwood
0ed38ec775
Acknowledge Izaak Meckler, Zac Williamson, and Vitalik Buterin for discussions of the protocol.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-11-06 01:00:58 +00:00
Daira Hopwood
a5db85828c
Acknowledge Jack Gavigan as a co-designer of Sapling and of the Zcash protocol.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-11-06 01:00:58 +00:00
Daira Hopwood
924fd97422
Remove a statement that the language consisting of key and address encoding possibilities is prefix-free
...
(the raw encodings are not).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-11-06 01:00:58 +00:00
Daira Hopwood
85b8f1647b
Include a reference to [BFIJSV2010] for batch pairing verification techniques.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-11-06 01:00:58 +00:00
Daira Hopwood
906838f3b6
Minor fixes to Change History.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-30 21:07:46 +01:00
Daira Hopwood
4d00112f5d
Explicitly state the consensus rule that a coinbase transaction must not spend more than is available from the block subsidy and transaction fees.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-30 21:07:34 +01:00
Daira Hopwood
c7180872a3
Specify where PRF^expand is used and with what inputs.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-30 21:06:29 +01:00
Daira Hopwood
ea59cda07f
Fix a type error in the output of PRF^nfSapling; a Sapling nullifier is a sequence of 32 bytes, not a bit sequence.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-30 21:01:51 +01:00
Daira Hopwood
b3da7a14ee
Remove a silly comment from the LaTeX source.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-30 21:01:51 +01:00
Daira Hopwood
b2a7e1deb0
Fix a type error in the output of PRF^nfSapling.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-17 21:33:05 +01:00
Daira Hopwood
850e7ea019
Correct an off-by-one in an expression used in the definition of c for windowed Pedersen commitments
...
(this does not change the value of c).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-17 21:32:15 +01:00
Daira Hopwood
e1cac0c48a
Make the Canopy specification the default.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-11 13:56:46 +01:00
Daira Hopwood
19ba684f2c
Minor wording improvement.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-11 13:56:19 +01:00
Daira Hopwood
55c51715b5
Cosmetics.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-11 13:56:08 +01:00
Daira Hopwood
7032c07fb8
Make Halving(height) return 0 (rather than -1) for height < SlowStartShift.
...
This has no effect on consensus since the Halving function is not used in that case,
but it makes the definition match the intuitive meaning of the function.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-11 13:55:38 +01:00
Daira Hopwood
d117273977
Refine the domain of HeightForHalving from N to N^+.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-11 13:54:06 +01:00
Daira Hopwood
9dbac78f29
Rename some section titles under 'Consensus Changes from Bitcoin' to use 'Encoding and Consensus'.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-11 13:52:58 +01:00
Daira Hopwood
6fbe17da59
Updates to reflect ZIP 211: add a consensus rule on v^pub_old, and a rule about node and wallet support for sending to Sprout addresses.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-11 13:49:36 +01:00
Daira Hopwood
1d71f6cb31
Rename the type of Sapling transmission keys from KA^Sapling.PublicPrimeOrder to KA^Sapling.PublicPrimeSubgroup.
...
This type is defined as J^(r), which reflects the implementation in zcashd (subject to the point below);
it was never enforced that a transmission key (pk_d) cannot be the zero point.
Add a non-normative note saying that zcashd does not fully conform to the requirement to treat
transmission keys not in KA^Sapling.PublicPrimeSubgroup as invalid when importing payment addresses.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-11 13:43:00 +01:00
Daira Hopwood
e1037ff046
Wording improvements.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-11 01:57:49 +01:00
Daira Hopwood
d11304c7d1
Add indexing for "halving".
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-11 01:54:48 +01:00
Daira Hopwood
a651ad7fe7
Modify funding stream tables and notes to reflect changes in ZIP 214.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-11 01:52:06 +01:00
Daira Hopwood
fd2416d9ea
Set CanopyActivationHeight for Testnet.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-11 01:48:59 +01:00
Daira Hopwood
17def33bf8
Use abstBytes_{Ed25519} and reprBytes_{Ed25519} for conversions in Ed25519 batch signature validation, and
...
fix a missing requirement that S_j < \ell for all signatures.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-03 12:14:34 +01:00
Daira Hopwood
ff3c7c2bce
Move the footnote about (x, y) notation for Ed25519 to where this notation is first used.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-03 12:11:08 +01:00
Daira Hopwood
13b6f0e120
Delete a potentially misleading Sprout-specific comment.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-03 12:10:20 +01:00
Daira Hopwood
31b844c37c
Give a definition for SHA-512. Also some refactoring of hash macros.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-03 12:09:33 +01:00
Daira Hopwood
6a4b1f5f6c
Add a reference to [BCCGLRT2014].
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-03 12:05:33 +01:00
Daira Hopwood
b2f033f84d
Add spec changes for ZIPs 207 and 214.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-13 18:45:16 +01:00
Daira Hopwood
bc809dae5d
Add note about full viewing key decryption of mempool transactions.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-13 18:45:16 +01:00