Commit Graph

99 Commits

Author SHA1 Message Date
Daira-Emma Hopwood 31fa493afb ZIP 316: say how to maximize interoperability by using Revision 0 UA/UVKs
(intentionally without adding any conformance requirement).

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-03-13 14:35:22 +00:00
Daira-Emma Hopwood 436c1ee41f ZIP 316: change the minimum F4Jumble^{-1} input length to allow for
any possible Metadata Item with a Transparent P2PKH Receiver.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-03-13 14:35:13 +00:00
Daira-Emma Hopwood ecbc7381f2 ZIP 316: fix a typo and remove trailing spaces.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-02-13 19:52:18 +00:00
Kris Nuttycombe 1f6eec0f63 ZIP 316: Mark Revision 1 as Proposed 2024-02-13 12:07:27 -07:00
Kris Nuttycombe e538acac69 ZIP 316, Revision 1 and ZIP 320: Address comments from ZIP sync. 2024-02-13 11:53:39 -07:00
Daira-Emma Hopwood a5cba44738 ZIP 316: clarify Address Expiry for transactions sending to more than one UA.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-02-13 01:46:12 +00:00
Daira-Emma Hopwood 8b13e37e54 ZIP 316: apply suggestions from @arya2's review.
Co-authored-by: Arya <aryasolhi@gmail.com>
2024-02-13 01:45:41 +00:00
Daira-Emma Hopwood 56a6be2254 ZIP 316: add requirements on the revision of UAs and UIVKs derived from a
Revision 1 UIVK/UFVK.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-02-11 02:43:34 +00:00
Daira-Emma Hopwood a723dd29dd ZIP 316: formatting fix.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-02-09 20:25:57 +00:00
Daira-Emma Hopwood 81a9c41120 ZIP 316: exclude MUST-understand Metadata Items from the requirement for
Consumers to ignore Items with Typecodes they do not recognise.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-02-09 20:06:53 +00:00
Daira-Emma Hopwood 0c4dd0d6e4 ZIPs 316 and 320: drop the "at least one shielded Item" restriction.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-02-09 01:36:51 +00:00
Daira-Emma Hopwood d9ec0e2ae6 ZIPs 316 and 320: change the prefix for Revision 1 to "ur".
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-02-09 01:21:53 +00:00
Kris Nuttycombe 9425d7a68a zip-0316: Expand the metadata typecodes range to start at 0xC0, to provide more space for MUST-understand typecodes. 2024-02-09 01:14:50 +00:00
Daira Emma Hopwood a95a0296ac ZIP 316, Revision 1: Change the Human-Readable Part for Revision 1 unified encodings.
This change ensures that wallets that have not yet been updated to ZIP
316 Revision 1 will fail to recognise Unified Addresses with
MUST-understand metadata, and consequently will not violate any
restrictions imposed on transfers by those metadata items'
requirements.

Co-authored-by: Kris Nuttycombe <kris@nutty.land>
2024-02-09 01:14:50 +00:00
Daira Emma Hopwood 84ef511641 ZIP 316: cosmetics - spell UA/UIVK consistently.
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2024-02-09 01:14:50 +00:00
Kris Nuttycombe d5dd194a40 Reintroduce ZIP 316, Revision 1 changes.
This reverts commit 058b1a6a17.
2024-02-09 01:14:50 +00:00
Kris Nuttycombe 058b1a6a17 Revert "Merge pull request #759 from nuttycom/zip-316/ua-expiry"
This reverts commit 7064e8229a, reversing
changes made to 82f98ec91b.

Revision 1 will be amended to include a change to the Human-Readable
Part of UA/UVK encodings in order to ensure that MUST-understand
metadata cannot be ignored by existing wallets.
2024-01-24 18:48:31 -07:00
Daira Emma Hopwood b0de22d1e2 ZIP 316, Revision 1: Clarify relation of "MUST-understand" typecodes to derivation.
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2024-01-18 19:43:16 +00:00
Kris Nuttycombe e05c7faa30 ZIP 316, Revision 1: Clarify constraints with respect to expiry times. 2024-01-18 19:40:11 +00:00
Kris Nuttycombe 5b92bcd076 ZIP 316, Revision 1: Apply suggestions from code review
Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
2024-01-18 19:40:11 +00:00
Kris Nuttycombe 099ef4397f ZIP 316, Revision 1: Clarify that address expiration metadata is optional. 2024-01-18 19:40:11 +00:00
Kris Nuttycombe 34ac94b73c ZIP 316, Revision 1: Address Expiration Metadata
This change adds metadata that allows a user to specify either an expiry
height or an expiry time (or both) for their addresses, and specifies
how wallets should interpret expiry metadata.

Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
2024-01-18 19:40:11 +00:00
Kris Nuttycombe d4d34ed6ff ZIP 316, Revision 1: MUST-understand metadata items
Reserve a range of metadata typecodes that unified container parsers
must understand; if a parser does not understand a typecode in the
specified range, then it must treat the entire unified address as
unsupported.

Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
2024-01-18 19:40:11 +00:00
Daira Emma Hopwood 2eb0ed8ef0 Updates to reference BCP 14 rather than RFC 2119. fixes #729
Also change two "should"s in ZIP 224 to "SHOULD"s.

Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-10-28 15:34:22 +01:00
Daira Emma Hopwood 932b81d59d
dk is already a byte sequence. 2023-08-22 20:30:42 +01:00
Andrew Arnott 61654491ce
Fix ZIP-316 bug in expected `dk` length
The `dk` value is 256 bits long. It's the *diversifier* that is only 88 bits long. The incoming viewing key requires the diversifier key -- not the diversifier.

This change also reflects the de facto standard in implementations up to this point, including YWallet and the [zcash_address crate](https://docs.rs/zcash_address/latest/src/zcash_address/kind/unified/ivk.rs.html).
2023-07-31 07:21:04 -06:00
Jack Grigg 2fd1866298 Make existing inline rationale sections collapsible 2023-07-20 16:41:26 +01:00
Daira Emma Hopwood 815db1ca09 ZIP 316: cosmetics and minor rewording.
Also add definitions of Unified String Encoding and Unified QR Encoding.

Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-03-21 13:16:14 +00:00
Daira Emma Hopwood 158b32dabc ZIP 316: update Owners and Credits.
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-03-21 13:11:12 +00:00
Daira Hopwood 418bf7fcab ZIP 316: add MAY to keywords.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2023-03-21 13:11:12 +00:00
Daira Emma Hopwood 8ea921667d Daira Hopwood -> Daira Emma Hopwood.
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-03-02 12:13:07 +00:00
Daira Hopwood 54359a8809 Update the status of all NU5 ZIPs to Final.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-06-22 22:21:35 +01:00
Daira Hopwood e4ed372840 ZIP 316: specify that at least the first 20 characters of a UA/UVK MUST be shown.
fixes #571

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-28 21:09:04 +01:00
Daira Hopwood ae1180f6d3 ZIP 316: make the limitation on total size of encodings more explicit.
fixes #570

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-18 22:25:47 +01:00
Daira Hopwood 81af218ef3 ZIP 316: further clarify which OVK is to be used when the sending Account is undetermined.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-02-07 14:51:53 +00:00
Daira Hopwood 8b8b3f7c5d ZIP 316: UAs can be used in Payment Requests without any change to ZIP 321.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-19 19:00:52 +00:00
Daira Hopwood c562b100f8 ZIP 316: add "Usage of Outgoing Viewing Keys" section.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-19 19:00:52 +00:00
Daira Hopwood ca302f40ef ZIPs 32 and 316: update and correct protocol spec references.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-19 19:00:52 +00:00
Daira Hopwood d27d2fd836 ZIP 316: Clarify that UAs/UVKs MUST contain at least one shielded item. This is stronger than
the former requirement that a UA/UVK MUST NOT contain only P2SH or P2PKH items, due to the
existence of Typecodes that are not currently defined.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-19 19:00:51 +00:00
Daira Hopwood 4683507160 ZIP 316: add Deriving Internal Keys section, and minor cleanups.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-19 19:00:51 +00:00
Daira Hopwood 7b70d343b7 ZIP 316: link to the section of the protocol spec describing QR encoding.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-19 19:00:51 +00:00
Daira Hopwood ee70cc53c3 ZIP 316: update Acknowledgements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-28 15:30:44 +00:00
Daira Hopwood 1d75ed6548 ZIP 316: more changes to include UVKs and Metadata Items where applicable.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-28 15:30:15 +00:00
Daira Hopwood 2d5159361e ZIP 316: add rationale for unlinkable address derivation, with a caveat about Metadata Items.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-28 13:39:01 +00:00
Daira Hopwood b7e69cc10a ZIP 316: add rationale for requiring ordering by Typecode.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-28 13:39:01 +00:00
Daira Hopwood e8df7fbb65 ZIP 316: unrecognized metadata items should be dropped when deriving UFVK -> UIVK and UIVK -> UA.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-28 13:14:17 +00:00
Daira Hopwood 06b945bfe7 ZIP 316: change ordering of items.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-22 19:08:13 +00:00
Daira Hopwood 22840e1fc5 ZIP 316: clarify usage of Metadata Items and experiments.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-22 19:07:46 +00:00
Daira Hopwood 1a59063e81 ZIP 316: correct the rationale for the minimum size of the Bech32m-decoded byte sequence.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-22 19:07:19 +00:00
Daira Hopwood 4a23875519 ZIP 316: Clarify derivation of P2PKH IVK from FVK.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-08 23:46:09 +00:00