diff --git a/zip-0227.html b/zip-0227.html index 4252b6425..a1f22d76d 100644 --- a/zip-0227.html +++ b/zip-0227.html @@ -184,7 +184,9 @@
where the \(\textit{PubKey}\) - algorithm is defined in BIP 340 17.
+ algorithm is defined in BIP 340 17. Note that the byte representation of + \(\mathsf{ik}\) + is in big-endian order as defined in BIP 340.It is possible for the \(\textit{PubKey}\) algorithm to fail with very low probability, which means that @@ -276,8 +278,11 @@ , where
Define \(\mathsf{AssetBase_{\mathsf{AssetId}}} := \mathsf{ZSAValueBase}(\mathsf{AssetDigest}_{\mathsf{AssetId}})\) diff --git a/zip-0227.rst b/zip-0227.rst index b12068e28..aec157ed4 100644 --- a/zip-0227.rst +++ b/zip-0227.rst @@ -147,6 +147,7 @@ Define :math:`\mathsf{IssueAuthSig.DerivePublic}\: : \: (\mathsf{isk}\: : \: \ma * Return :math:`\bot` if the :math:`\textit{PubKey}` algorithm invocation fails, otherwise return :math:`\mathsf{ik}`. where the :math:`\textit{PubKey}` algorithm is defined in BIP 340 [#bip-0340]_. +Note that the byte representation of :math:`\mathsf{ik}` is in big-endian order as defined in BIP 340. It is possible for the :math:`\textit{PubKey}` algorithm to fail with very low probability, which means that :math:`\mathsf{IssueAuthSig.DerivePublic}` could return :math:`\bot` with very low probability. If this happens, discard the keys and repeat with a different :math:`\mathsf{isk}`. @@ -189,7 +190,8 @@ Let Define :math:`\mathsf{AssetDigest_{\mathsf{AssetId}}} := \textsf{BLAKE2b-512}(\texttt{"ZSA-Asset-Digest"},\; \mathsf{EncodeAssetId}(\mathsf{AssetId}))`, where -- :math:`\mathsf{EncodeAssetId}(\mathsf{AssetId}) = \mathsf{EncodeAssetId}((\mathsf{ik}, \mathsf{asset\_desc})) := \mathsf{0x00} || \mathsf{repr}_{\mathbb{P}}(\mathsf{ik}) || \mathsf{asset\_desc}\!`. +- :math:`\mathsf{EncodeAssetId}(\mathsf{AssetId}) = \mathsf{EncodeAssetId}((\mathsf{ik}, \mathsf{asset\_desc})) := \mathsf{0x00} || \mathsf{ik} || \mathsf{asset\_desc}\!`. +- Note that the initial :math:`\mathsf{0x00}` byte is a version byte. Define :math:`\mathsf{AssetBase_{\mathsf{AssetId}}} := \mathsf{ZSAValueBase}(\mathsf{AssetDigest}_{\mathsf{AssetId}})`