From 4b2af700ef318a7ad56d09ddd5027248a9bd70a6 Mon Sep 17 00:00:00 2001 From: Kris Nuttycombe Date: Fri, 26 Mar 2021 15:21:11 -0600 Subject: [PATCH] Add non-requirement for non-malleable transaction IDs for v4 transactions. --- zip-0244.rst | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/zip-0244.rst b/zip-0244.rst index 970e0a6c..0b3a5a0d 100644 --- a/zip-0244.rst +++ b/zip-0244.rst @@ -27,7 +27,7 @@ field, as specified in section 7.1 of the Zcash protocol specification Abstract ======== -This proposal defines a new transaction digest algorithm for the network upgrade +This proposal defines a new transaction digest algorithm for the NU5 network upgrade onward, in order to introduce non-malleable transaction identifiers that commit to all transaction data except for attestations to transaction validity. @@ -53,7 +53,7 @@ signatures. In addition, by specifying a transaction identifier and signature algorithm that is decoupled from the serialized format of the transaction as a whole, -this change makes it so that the wire format of transactions is no longer +this change makes it so that the wire format of transactions is no longer consensus-critical. ============ @@ -95,6 +95,10 @@ In order to support backwards-compatibility with parts of the ecosystem that have not yet upgraded to the non-malleable transaction format, it is not an initial requirement that all transactions be non-malleable. +It is not required that legacy (Sapling V4 and earlier) transaction formats +support construction of non-malleable transaction identifiers, even though +they may continue to be accepted by the network after the NU5 upgrade. + ============= Specification =============