Commit Graph

3237 Commits

Author SHA1 Message Date
Daira-Emma Hopwood 15118ac4c0 ZIPs 226, 227, and 230: cosmetic math formatting improvements.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-02-07 19:18:35 +00:00
Daira-Emma Hopwood 3b98ae5e05 ZIPs 226, 227, and 230: update references and key words to latest ZIP conventions and protocol spec.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-02-07 19:18:35 +00:00
Daira-Emma Hopwood 865469aadb ZIP 226: use `\star` instead of `*` for bit representations.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-02-07 19:18:35 +00:00
Daira-Emma Hopwood a7a9c213db ZIPs 226 and 227: remove trailing spaces.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-02-07 19:18:35 +00:00
Vivek Arte 9eb00eeac3 Clarifying the encoding of `ik` (#46)
This makes it clear that the encoding of `ik` used in the Asset Base
derivation is big-endian, as in the case of the underlying BIP 340
Schnorr signature scheme.

It also adds a clarification about the version byte used in the Asset
Base derivation.
2024-02-07 19:18:35 +00:00
Vivek Arte 0fbded6fbb Updates to Security and Privacy Considerations section (#45)
This adds some details to the ZIP 226 Security and Privacy
Considerations section to address this
[comment](https://github.com/zcash/zips/pull/680#discussion_r1377549364)
2024-02-07 19:18:35 +00:00
Vivek Arte de1235c2ce Rename of Issuance Keys (#44)
This performs a rename of the Issuance keys as follows:

- `imk : Issuance master key` is renamed to `isk: Issuance authorizing
key`
2024-02-07 19:18:35 +00:00
Vivek Arte eed714f30e Suggestions from ZIP review: notation, typographical edits, and update Daira-Emma's name.
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-02-07 19:18:35 +00:00
Vivek Arte 7aff601838 updated burn description
Minor addition to burn mechanism description
2024-02-07 19:18:35 +00:00
Vivek Arte cea341ed7d Switching the issuance authorization scheme to using Bitcoin Schnorr over `secp256k1`, as in BIP 340. (#40)
We switch the `issueAuthSig` scheme from RedPallas without
key re-randomization to the Bitcoin Schnorr signature (as described in
bip340).
We also perform notation changes of `idk` to `imk`, and adjust the
derivation of the issuance keys to fit with the updated Issuance
Authorization Signature scheme.
2024-02-07 19:18:35 +00:00
Vivek Arte 9b1a0c24e5 Move the updated transaction structure from ZIP 226 to ZIP 230 (#42)
This removes the transaction structure fields from ZIP 226 in favour
of adding them to ZIP 230, for the v6 Transaction Format.

Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
Co-authored-by: str4d <thestr4d@gmail.com>
Co-authored-by: Paul <lauxpaul@protonmail.com>
Co-authored-by: Antoine Rondelet <rondelet.antoine@gmail.com>
Co-authored-by: Constance Beguier <constance@qed-it.com>
2024-02-07 19:18:35 +00:00
Vivek Arte 57aaf2948b Renaming `idk` to `imk` throughout ZIP 227 (#41)
This is a consistent renaming of the issuance derivation key to call it the issuance master key.
2024-02-07 19:18:35 +00:00
Constance Beguier 8753f711ba Add enable_zsa flag (#37)
This PR adds enable_zsa flag into ZIP 226.
2024-02-07 19:18:35 +00:00
Vivek Arte 28832be8f0 Burn Mechanism Rearrangement (#35)
This rearranges the positioning of the burn mechanism in order to remove duplication of material between the burn mechanism section and the value balance verification section.
There is also some simplification of the naming convention for the Asset Base variable.
2024-02-07 19:18:35 +00:00
Vivek Arte c70e0fd92b Adding explicit assumption for canonical encodings for the Asset Base. (#33)
This addresses [this comment](https://github.com/zcash/zips/pull/680#discussion_r1268669667).
2024-02-07 19:18:35 +00:00
Vivek Arte 33b23d074f Guidelines to wallets regarding representing Assets to clients (#32)
This adds to the specification to provide wallets instructions on displaying Asset information to users in an unambiguous way.

This addresses [this comment](https://github.com/zcash/zips/pull/680#discussion_r1147019628).
2024-02-07 19:18:35 +00:00
Vivek Arte 3651df5ffc Suggestions from ZIP review: clarifications and typographical edits.
Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
2024-02-07 19:18:35 +00:00
Constance Beguier e5f03d9bce Update with circuit changes (#31)
- Add the new nullifier equation for split notes
- Add a link to Orchard circuit document
- Add is_native_asset auxiliary witness
- Remove constraint (split_flag=1) => (v_old != 0)
- Add constraint (split_flag=1) => (is_native_asset=0)
2024-02-07 19:18:35 +00:00
Vivek Arte d92ccecb48 Consistency changes for notation and updates to issuance key derivation (#30)
This PR improves the naming of variables to make them consistent with
the broader ZIPs conventions.

It also makes changes to the issuance key derivation and the terms used
for the various keys.
2024-02-07 19:18:35 +00:00
Antoine Rondelet a7f5ffa0e9 Added missing indices over sums (#27)
This PR adds missing indices over sums. It also fixes and makes improvements to the burn mechanism description.

Co-authored-by: Vivek Arte <46618816+vivek-arte@users.noreply.github.com>
2024-02-07 19:18:35 +00:00
Vivek Arte 4ec6bf6505 Changing issue digest hash personalization values to match with implementation (#29)
This makes the changes in ZIP 227 based on [this
comment](https://github.com/QED-it/orchard/pull/66#discussion_r1227395737).
2024-02-07 19:18:35 +00:00
Antoine Rondelet cd55e625c3 Removed redundant terminology in ZIP226, building on ZIP227 (#26)
Removed redundant terminology in ZIP226, building on ZIP227, fixed abstract and used consistent terminology to stick to issuance instead of creation of assets.

Co-authored-by: Vivek Arte <46618816+vivek-arte@users.noreply.github.com>
2024-02-07 19:18:35 +00:00
Vivek Arte f8936acdae Updates to naming conventions and table format (#28)
This makes the naming conventions for variables more consistent, largely with a view to using double backticks for terms that appear in the transaction format and datatype description tables.

These tables have also been reformatted to be consistent with other ZIPs in their rst form.

The `previously_finalized` set is renamed to `finalized_assets`, and this set now stores `AssetDigest` values rather than `AssetId` values for more compactness in the global state.
2024-02-07 19:18:35 +00:00
Antoine Rondelet 709874d76b Fixed math boundary around purpose (#23)
As per the title, this is a tiny fix to adjust the boundary of the
math environment which wasn't properly closed and thus rendered poorly
on the html.
2024-02-07 19:18:35 +00:00
Vivek Arte b76813c018 Updates to issue bundle hash personalizations (#22)
A few of the issue bundle hash personalizations were 15 characters long
instead of the required 16. This is being fixed here.
2024-02-07 19:18:35 +00:00
Vivek Arte 3d26c5a4e0 Adding ZSA Orchard Action Description encoding details (#21)
This adds details of the changes to the Orchard Action encodings and
the changes to the transaction format that occur due to the ZSA
Protocol. It also improves the formatting of existing tables for Asset
Burn.
2024-02-07 19:18:35 +00:00
Antoine Rondelet 2630ffb40b First round of modifications on ZIP227 (#20)
Improved style and content of ZIP 227.

Co-authored-by: Vivek Arte <vivek@qed-it.com>
2024-02-07 19:18:35 +00:00
Vivek Arte 32b7f1e54b Updates to `txid_digest` (#15)
This details the changes to the transaction digest algorithm for the
ZSA protocol.
- A new branch is added for hashing the information in a transaction
related to issuance.
- Some branches are added and modified in the orchard_digest subtree to
account for the additional Asset Base value that needs to be hashed.
2024-02-07 19:18:35 +00:00
Vivek Arte 9c82f32126 Handling additional suggestions from PR#649 and PR#628 (#19)
Making updates based on pending reviews from
[PR#649](https://github.com/zcash/zips/pull/649) and
[PR#628](https://github.com/zcash/zips/pull/628).
2024-02-07 19:18:28 +00:00
Antoine Rondelet e6503116ae Added link to nested README for build deps (#17)
Link to the nested README in `protocol/README` to install all the dependencies needed to build ZIPs and the specs.
2024-02-07 19:18:28 +00:00
Vivek Arte 9dcb234117 Suggestions from ZIP review: editorial changes.
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-02-07 19:18:20 +00:00
Vivek Arte 14c9f4d8cb Corrections and addition of reference links (#16)
This adds in the reference links to the test vectors and reference implementations corresponding to the ZSA Protocol. Some corrections to the notation for better consistency and some updates to the formulae for syncing with the implementation are also included here.
2024-02-07 19:11:45 +00:00
Vivek Arte 01298df551 Rearranging ZIP structure (#14)
This rearranges and rewrites various sections of the ZIP to make it more in line with the suggestions in ZIP 0.
It also updates the Split Notes, Circuit Statement and Burn Mechanism sections with more information.
2024-02-07 19:11:45 +00:00
Vivek Arte 948d5dd2b1 Rearrangements and minor changes to the Security and Privacy Considerations (#13)
Minor changes to the Security and Privacy Considerations
to make it more in line with the format specified in ZIP 0.
2024-02-07 19:11:45 +00:00
Vivek Arte 59e305e1d4 Changes to issuance key derivation details (#8)
This covers the changes made to derive the issuance key independently of the Orchard key structure, using the techniques from [ZIP 32](https://zips.z.cash/zip-0032).
2024-02-07 19:11:45 +00:00
Vivek Arte 325c6e4d92 Suggestions from ZIP review: improvements to mathematical notation, and typographical edits.
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
2024-02-07 19:11:37 +00:00
Vivek Arte 5a1222bc2d ZIP 226: editorial change to terminology.
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-02-07 19:06:22 +00:00
Vivek Arte 16c8dcb45b Moving changes in zsa-zips to zsa1 (#10)
Co-authored-by: daniben31 <danielbenarroch92@gmail.com>
Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
Co-authored-by: Jonathan S. Rouach <jon@rouach.net>
Co-authored-by: str4d <thestr4d@gmail.com>
Co-authored-by: Paul <lauxpaul@protonmail.com>
2024-02-07 19:06:01 +00:00
Daira-Emma Hopwood 265cd39c19
Merge pull request #712 from zancas/zip317
Mark each protocol-specific logical_action as such, and sum across them
2024-02-07 11:58:25 +00:00
zancas 1d0c4ab09b Separate out logical action contributions of each protocol for clarity.
Co-authored-by: Zancas <zancas@zingolabs.org>
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-02-07 11:53:12 +00:00
Daira-Emma Hopwood f8ad3104a5
Merge pull request #777 from daira/zip-0228-stub
Add stub for ZIP 228: Asset Swaps for Zcash Shielded Assets
2024-02-07 03:17:26 +00:00
Daira-Emma Hopwood 60ae531acf Add stub for ZIP 228: Asset Swaps for Zcash Shielded Assets.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-02-06 21:57:28 +00:00
Daira-Emma Hopwood 16e534637a
Merge pull request #766 from nuttycom/zip_0320-ua_must_understand
ZIP 320: Specify Alternative 2 in terms of a MUST-understand metadata item
2024-02-05 15:42:43 +00:00
Daira Emma Hopwood e2d7738bb6 ZIP 320: Define the semantics of Source Restriction Metadata Items in UVKs.
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2024-02-04 15:17:20 +00:00
Kris Nuttycombe 1019792188 ZIP 320: Specify Alternative 2 in terms of a MUST-understand metadata item. 2024-01-25 22:07:53 -07:00
Conrado Gouvea fee271c03d
Merge pull request #764 from nuttycom/revert_316_r1
Revert "Merge pull request #759 from nuttycom/zip-316/ua-expiry"
2024-01-25 10:12:02 -03: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
str4d 7064e8229a
Merge pull request #759 from nuttycom/zip-316/ua-expiry
ZIP 316: MUST-understand Metadata Items and Address Expiration Metadata
2024-01-19 23:58:10 +00: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