Skip to content

Changes to the Issuance Authorization Signature and issuance validating key#1042

Merged
nuttycom merged 1 commit intozcash:mainfrom
QED-it:zsa1
Jun 10, 2025
Merged

Changes to the Issuance Authorization Signature and issuance validating key#1042
nuttycom merged 1 commit intozcash:mainfrom
QED-it:zsa1

Conversation

@vivek-arte
Copy link
Contributor

This makes changes to the issuance authorization signature and issuance validating key fields of the V6 transaction format in order to make them length-prefixed encodings.

Further, it also adds a version byte to the start of both the above fields (as part of the definition of the scheme, not part of the transaction format).

More rationale for this is provided in #1034 and #1036, and this pull request should solve both these issues.

…ng key (#107)

This makes changes to the issuance authorization signature and issuance
validating key fields of the V6 transaction format in order to make them
length-prefixed encodings.

Further, it also adds a version byte to the start of both the above
fields (as part of the definition of the scheme, not part of the
transaction format).
Copy link
Contributor

@nuttycom nuttycom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK

@nuttycom nuttycom merged commit 02e31dc into zcash:main Jun 10, 2025
1 check passed
where the $\textit{PubKey}$ algorithm is defined in BIP 340 [#bip-0340]_.
Note that the byte representation of $\mathsf{ik}$ is in big-endian order as defined in BIP 340.
where the $\textit{PubKey}$ algorithm is defined in BIP 340 [#bip-0340]_, and the output of the algorithm is in big-endian order as defined in BIP 340.
The encoding of $\mathsf{ik}$ begins with a version byte that is $\mathtt{0x00}$. This enables future ZIPs to specify alternative signature schemes.
Copy link
Collaborator

@daira daira Jun 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"The encoding of $\mathsf{ik}$ begins with a byte indicating the signature scheme, which MUST be $\mathtt{0x00}$ indicating BIP 340. This enables future ZIPs to specify alternative signature schemes."


where the $\mathsf{Sign}$ algorithm is defined in BIP 340 and $a$ denotes the auxiliary data used in BIP 340 [#bip-0340]_.
Note that $\mathsf{IssueAuthSig.Sign}$ could return $\bot$ with very low probability.
Note that the initial $\mathtt{0x00}$ byte in the signature is a version byte, enabling future ZIPs to
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"The encoding of the signature begins with a byte indicating the signature scheme, which MUST be $\mathtt{0x00}$ indicating BIP 340. This enables future ZIPs to specify alternative signature schemes."

vivek-arte added a commit to QED-it/zips that referenced this pull request Jun 27, 2025
This PR updates the diagram of the relation between the issuance
validating key, asset description and asset identifier to correctly
describe the changes made in zcash#1042. It also responds to two
comments that were added post the merge of that PR.
ConstanceBeguier added a commit to QED-it/orchard that referenced this pull request Sep 1, 2025
…es (#182)

This PR makes the updates to the encoding of the issuance validating key
and the issuance authorization signature, as done in the specification
in zcash/zips#1042, along with the further updates in zcash/zips#1048
and zcash/zips#1053.

The test vectors are updated in QED-it/zcash-test-vectors#31.

---------

Co-authored-by: Constance Beguier <constance@qed-it.com>
vivek-arte added a commit to QED-it/zcash-test-vectors that referenced this pull request Sep 1, 2025
This is a companion PR to QED-it/orchard#182. It makes the changes to the specification made in zcash/zips#1042, namely the addition of a 0x00 byte to the start of the issuance validating key and the issuance authorization signature.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants