From a11f8a5fe087608dbd12ddc2d3ff41d7895477f9 Mon Sep 17 00:00:00 2001 From: Daira Hopwood Date: Wed, 7 Feb 2018 11:08:45 +0000 Subject: [PATCH] Specify the 100000-byte transaction size limit (pre-Overwinter). Signed-off-by: Daira Hopwood --- protocol/protocol.tex | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/protocol/protocol.tex b/protocol/protocol.tex index 562d75df..b3069b77 100644 --- a/protocol/protocol.tex +++ b/protocol/protocol.tex @@ -4285,6 +4285,8 @@ The encoding of $\joinSplitPubKey$ and the data to be signed are specified in on the Ed25519 curve, in the encoding specified by \cite{BDLSY2012}. Note that it is \emph{not} required that the encoding of the y-coordinate of the public key is less than $2^{255}-19$. + \prenuzeroitem{The encoded size of the \transaction{} \MUST be less than or equal to + $100000$ bytes.} \item \todo{Coinbase maturity rule.} \item \todo{Other rules inherited from \Bitcoin.} \end{consensusrules} @@ -4337,6 +4339,8 @@ The changes relative to \Bitcoin version $1$ \transactions as described in \cite have been added. \item In \Zcash it is permitted for a \transaction to have no \transparent inputs provided that $\nJoinSplit > 0$. + \item A consensus rule limiting \transaction size has been added. In \Bitcoin there is + a corresponding standard rule but no consensus rule. \end{itemize} \sproutonly{ @@ -5498,6 +5502,8 @@ The errors in the proof of Ledger Indistinguishability mentioned in \subparagraph{2018.0-beta-7} \begin{itemize} + \item Specify the $100000$-byte limit on \transaction size. + (The implementation in \zcashd was as intended.) \item Rename $\mathsf{clamp}$ to $\mathsf{bound}$ and $\mathsf{ActualTimespanClamped}$ to $\ActualTimespanBounded$ in the difficulty adjustment algorithm, to avoid a name