Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ZIPs 226 & 227 - ZSA Protocol: Transfer, Issuance and Burn #680

Closed
wants to merge 43 commits into from

Commits on Oct 4, 2023

  1. 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 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>
    7 people committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    e6fef40 View commit details
    Browse the repository at this point in the history
  2. Update zip-0226.rst

    Co-authored-by: Daira Hopwood <daira@jacaranda.org>
    2 people authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    16198c6 View commit details
    Browse the repository at this point in the history
  3. Apply suggestions from ZIP review

    Includes improvements to mathematical notation, and typographical edits.
    
    Co-authored-by: Daira Hopwood <daira@jacaranda.org>
    Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
    3 people authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    17d255a View commit details
    Browse the repository at this point in the history
  4. 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).
    vivek-arte authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    a2270aa View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    23ef13d View commit details
    Browse the repository at this point in the history
  6. Rearrangements and minor changes to the Security and Privacy Consider…

    …ations (#13)
    
    Minor changes to the Security and Privacy Considerations
    to make it more in line with the format specified in ZIP 0.
    vivek-arte authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    ef71dda View commit details
    Browse the repository at this point in the history
  7. 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.
    vivek-arte authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    ae57a85 View commit details
    Browse the repository at this point in the history
  8. 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.
    vivek-arte authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    4acb79c View commit details
    Browse the repository at this point in the history
  9. Applying suggestions from ZIP review

    Co-authored-by: Daira Hopwood <daira@jacaranda.org>
    2 people authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    994f55c View commit details
    Browse the repository at this point in the history
  10. 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.
    AntoineRondelet authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    d7e2660 View commit details
    Browse the repository at this point in the history
  11. Handling additional suggestions from PR#649 and PR#628 (#19)

    Making updates based on pending reviews from
    [PR#649](zcash#649) and
    [PR#628](zcash#628).
    vivek-arte authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    3a914c5 View commit details
    Browse the repository at this point in the history
  12. 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.
    vivek-arte authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    01c8f04 View commit details
    Browse the repository at this point in the history
  13. First round of modifications on ZIP227 (#20)

    Improved style and content of ZIP 227.
    
    ---------
    
    Co-authored-by: Vivek Arte <vivek@qed-it.com>
    2 people authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    a434b9e View commit details
    Browse the repository at this point in the history
  14. 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.
    vivek-arte authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    e129e68 View commit details
    Browse the repository at this point in the history
  15. 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.
    vivek-arte authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    c5eb10f View commit details
    Browse the repository at this point in the history
  16. 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.
    AntoineRondelet authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    7913ed5 View commit details
    Browse the repository at this point in the history
  17. 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.
    vivek-arte authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    30a6f5b View commit details
    Browse the repository at this point in the history
  18. 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>
    2 people authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    7cbfde6 View commit details
    Browse the repository at this point in the history
  19. Changing issue digest hash personalization values to match with imple…

    …mentation (#29)
    
    This makes the changes in ZIP 227 based on [this
    comment](QED-it/orchard#66 (comment)).
    vivek-arte authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    69d3f77 View commit details
    Browse the repository at this point in the history
  20. 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>
    2 people authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    c4e55ea View commit details
    Browse the repository at this point in the history
  21. Consistency changes for notation and updates to issuance key derivati…

    …on (#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.
    vivek-arte authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    f765818 View commit details
    Browse the repository at this point in the history
  22. 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)
    ConstanceBeguier authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    5d26401 View commit details
    Browse the repository at this point in the history
  23. Apply suggestions from ZIP review

    These are the changes to the rst files based on ZIP editors typographical changes.
    
    Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
    2 people authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    7444c86 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    ffae569 View commit details
    Browse the repository at this point in the history
  25. 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](zcash#680 (comment)).
    vivek-arte authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    51d424b View commit details
    Browse the repository at this point in the history
  26. Adding explicit assumption for canonical encodings for the Asset Base. (

    #33)
    
    This addresses [this comment](zcash#680 (comment)).
    vivek-arte authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    5dfad3a View commit details
    Browse the repository at this point in the history
  27. 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.
    vivek-arte authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    7c48103 View commit details
    Browse the repository at this point in the history
  28. Add enable_zsa flag (#37)

    This PR adds enable_zsa flag into ZIP 226.
    ConstanceBeguier authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    3ba2557 View commit details
    Browse the repository at this point in the history
  29. 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.
    vivek-arte authored and PaulLaux committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    00a608c View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2023

  1. 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 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>
    7 people authored Oct 5, 2023
    Configuration menu
    Copy the full SHA
    ae5a2d8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1c3510d View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2023

  1. 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.
    vivek-arte authored Oct 16, 2023
    Configuration menu
    Copy the full SHA
    be596bb View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2023

  1. updated burn description

    Minor addition to burn mechanism description
    vivek-arte authored Oct 17, 2023
    Configuration menu
    Copy the full SHA
    d370d1f View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2023

  1. Apply suggestions from ZIP review

    Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
    vivek-arte and daira authored Oct 18, 2023
    Configuration menu
    Copy the full SHA
    69b0f23 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9da0702 View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2023

  1. Apply suggestions from ZIP review

    Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
    vivek-arte and daira authored Oct 31, 2023
    Configuration menu
    Copy the full SHA
    0f63995 View commit details
    Browse the repository at this point in the history

Commits on Nov 1, 2023

  1. Configuration menu
    Copy the full SHA
    19ef526 View commit details
    Browse the repository at this point in the history
  2. 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`
    vivek-arte authored Nov 1, 2023
    Configuration menu
    Copy the full SHA
    50e7958 View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2023

  1. 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](zcash#680 (comment))
    vivek-arte authored Nov 2, 2023
    Configuration menu
    Copy the full SHA
    064257a View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2023

  1. 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.
    vivek-arte authored Nov 7, 2023
    Configuration menu
    Copy the full SHA
    1b29061 View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2023

  1. ZIPs 226 and 227: minor editorial changes (#47)

    Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
    daira authored Nov 13, 2023
    Configuration menu
    Copy the full SHA
    7346a02 View commit details
    Browse the repository at this point in the history

Commits on Jan 2, 2024

  1. Fix typo in Orchard-ZSA Action Description. (#48)

    This fixes a typo in the ZSA-Orchard Action Description table,
    wherein one table entry was not updated from 580 to 612 bytes.
    vivek-arte authored Jan 2, 2024
    Configuration menu
    Copy the full SHA
    668312d View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2024

  1. Updates based on review comments (#49)

    This updates the ZSA ZIPs based on the comments made on PR#680.
    vivek-arte authored Jan 5, 2024
    Configuration menu
    Copy the full SHA
    ba1c185 View commit details
    Browse the repository at this point in the history