ZSA Protocol: Transfer, Issuance and Burn: ZIPs 226, 227, and 230 #854
Merged
Conversation
This adds a field to the TxId digest to include the burn fields of the transaction to the SIGHASH.
…ero number of issuance actions are present. (#54) As described in the title, this adds to the transaction format to require that the `ik` and `issueAuthSig` fields be present in the transaction format if and only if there are a non-zero number of issuance actions.
…he V7 transaction details (#55) A quick summary of the changes here: - The `assetDescSize` field in the issuance action description is encoded as a `compactSize` type, as is standard across the specification (and also allows for the use of the existing methods in the implementation). - The description of the notes used inside the issuance bundle were explicitly serialized to remove ambiguity. - The type of the `valueBurn` field was set to the standard `uint64` type. - The order of the Orchard bundle fields was adjusted to have the binding signature after the burn fields.
This resolves zcash#752
This PR catches our latest changes up with the rearranging of the repository performed upstream.
This adds the symbolic link above in order to allow the [qed-it.github.io/zips](qed-it.github.io/zips) website to work correctly post the upstream repository restructure.
…escription string size (#61) This rewrites the burn mechanism description in ZIP 226 in order to remove some ambiguously defined terms, and improve the clarity of the specification. It also adds the rationale for the choice of 512 bytes for the maximum length of the asset description string in ZIP 227, which resolves zcash#843 (along with the additions in the already merged #59)
This adds the NU6 changes from upstream to our branch.
This updates the protocol spec references from 2023.4.0 [NU5] to 2024.5.1 [NU6], along with some minor section changes and renumbering. It also fixes some old links in favour of updated ones. This resolves zcash#751 for the present.
This makes the changes to align with the change in notation for ZIP 32 done in zcash#908.
daira
reviewed
Oct 29, 2024
daira
reviewed
Oct 30, 2024
daira
reviewed
Oct 30, 2024
| - Add :math:`\mathsf{cm}` to the Merkle tree of note commitments. | ||
| - Increase the value of :math:`\mathsf{issued\_assets(AssetBase).balance}` by the value of the note, :math:`\mathsf{v}`. | ||
|
|
||
| - If :math:`\mathsf{finalize} = 1\!`, set :math:`\mathsf{issued\_assets(AssetBase).final}` to :math:`1` in the global state immediately after the block in which this transaction occurs. |
Collaborator
There was a problem hiding this comment.
After discussion among the ZIP Editors and I, we think this is inconsistent with other transaction processing which is sequential within a block.
Contributor
Author
There was a problem hiding this comment.
Thanks for the clarification, we updated this in QED-it#75
daira
reviewed
Oct 30, 2024
|
|
||
| - We require a check whether the :math:`\mathsf{finalize}` flag only has been set in a previous block rather than a previous transaction in the same block. In other words, we only update the :math:`\mathsf{previously\_finalized}`` set at the block boundary. This is in keeping with the current property which allows for a miner to reorder transactions in a block without changing the meaning, which we aim to preserve. | ||
| - We limit the size of the :math:`\mathsf{asset\_desc}` string to 512 bytes as it is a reasonable size to store metadata about the Asset, for example in JSON format. | ||
| - We require a check whether the :math:`\mathsf{finalize}` flag only has been set in a previous block rather than a previous transaction in the same block. In other words, we only update the :math:`\mathsf{issued\_assets}` map at the block boundary. This is in keeping with the current property which allows for a miner to reorder transactions in a block without changing the meaning, which we aim to preserve. |
Collaborator
There was a problem hiding this comment.
It is not correct that miners can currently reorder transactions within a block without changing the meaning.
daira
reviewed
Oct 30, 2024
daira
reviewed
Oct 30, 2024
daira
reviewed
Oct 30, 2024
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
This makes changes from the review made on zcash#854.
This is done in response to zcash#667 (comment)
arya2
approved these changes
Nov 5, 2024
str4d
approved these changes
Nov 5, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR continues the discussion from the merged #778.
It contains any recent changes to the following ZIPs:
Note that the target issue for the ZSA ZIPs is #618
This pull request contains changes that resolve the following issues related to ZSAs: