diff --git a/zips/zip-0227-asset-identifier-relation-orchard-zsa.svg b/zips/zip-0227-asset-identifier-relation-orchard-zsa.svg index 200c2be19..4f6b07b8e 100644 --- a/zips/zip-0227-asset-identifier-relation-orchard-zsa.svg +++ b/zips/zip-0227-asset-identifier-relation-orchard-zsa.svg @@ -378,7 +378,7 @@ x="605.17181" sodipodi:role="line" style="font-size:13.9668px;stroke-width:1.12713" - id="tspan310-1-3-3">[32 bytes][33 bytes][65 bytes] + y="976.58667">[66 bytes] diff --git a/zips/zip-0227.rst b/zips/zip-0227.rst index 0fd1f6eb5..cfb251599 100644 --- a/zips/zip-0227.rst +++ b/zips/zip-0227.rst @@ -161,7 +161,8 @@ Define $\mathsf{IssueAuthSig.DerivePublic} \;{\small ⦂}\; (\mathsf{isk} \;{\sm * Return $\bot$ if the $\textit{PubKey}$ algorithm invocation fails, otherwise return $\mathsf{ik}$. 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. +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. It is possible for the $\textit{PubKey}$ algorithm to fail with very low probability, which means that $\mathsf{IssueAuthSig.DerivePublic}$ could return $\bot$ with very low probability. If this happens, discard the keys and repeat with a different $\mathsf{isk}$. @@ -179,9 +180,8 @@ Define $\mathsf{IssueAuthSig.Sign} \;{\small ⦂}\; (\mathsf{isk} \;{\small ⦂} 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 -specify alternative issuance authorization signature schemes. - +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. Define $\mathsf{IssueAuthSig.Validate} \;{\small ⦂}\; (\mathsf{ik} \;{\small ⦂}\; \mathsf{IssueAuthSig.Public}) \times (M \;{\small ⦂}\; \mathsf{IssueAuthSig.Message}) \times (\text{σ} \;{\small ⦂}\; \mathsf{IssueAuthSig.Signature}) \to \mathbb{B}$ as: