From a76d796bd867e1038d19e6076f441229aa5b451a Mon Sep 17 00:00:00 2001 From: Dr Maxim Orlovsky Date: Mon, 20 Feb 2023 11:30:35 +0100 Subject: [PATCH] LNPBP-6: fix markdown formatting --- lnpbp-0006.md | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/lnpbp-0006.md b/lnpbp-0006.md index 6c6e606..31a3ce4 100644 --- a/lnpbp-0006.md +++ b/lnpbp-0006.md @@ -44,11 +44,11 @@ TBD Tapret commitment is structured as an `OP_RETURN`-based script, containing the commitment to the LNPBP-4 message, constructed under multiple protocols. The -commitment script (**tapret leaf script**) always consists of 64 -bytes[^why-64-bytes]. +commitment script (**tapret leaf script**) always consists of +[64 bytes][why-64-bytes]. The leaf with the tapret leaf script is always put into the same depth of the -taproot script tree, and this depth is 7[^why-depth-7] (in 0-based indexing of +taproot script tree, and this [depth is 1][why-depth-1] (in 0-based indexing of depth levels, where depth 0 corresponds to the merkle tree root). The commitment is always put into the rightmost node of the tree by using consensus ordering of the nodes, as it is defined in BIP-341 merkle path construction @@ -190,14 +190,17 @@ should not exceed 290 bytes. Since the most of the taproot script trees will not have a depth more than 1 or 2, the actual size in these cases will be 66 or 98 bytes. -### Rationale +### Why 64 byte tapscript -[^why-64-bytes]: This allows distinguishing of tapret leaf script from a data -used in production of taproot branch hash, such that the proof of the absence of -an alternative tapret commitment can be validated by simple comparison of the -first of the child node hashes to the tapret leaf script prefix. +This allows distinguishing of tapret leaf script from a data used in production +of taproot branch hash, such that the proof of the absence of an alternative +tapret commitment can be validated by simple comparison of the first of the +child node hashes to the tapret leaf script prefix. + +### Why script depth 1 + +This helps to keep client-side-validated proof size smaller. -[^why-depth-7]: ## Acknowledgements @@ -214,3 +217,6 @@ This document is licensed under the Creative Commons CC0 1.0 Universal license. ## Test vectors TBD + +[why-64-bytes]: #why-64-byte-tapscript +[why-depth-1]: #why-script-depth-1