As I understand, Zcash shielded and deshielded transactions use a JoinSplit when converting notes from shielded to transparent (and vice versa).

vpub_old - is the value that the JoinSplit transfer removes from the transparent value pool, and vpub_new - is the value that the JoinSplit transfer inserts into the transparent value pool, signify how much is being transferred.

Can the vpub_old and vpub_new both simultaneosly have values in the same Zcash transaction? If so, is there an example transaction in practise?


As per reading the ZCash protocol specification (2017.0) I have found my answer.

Each (transaction) of these describes a JoinSplit transfer which takes in a transparent value and up to two input notes, and produces a transparent value and up to two output notes.

So I believe this answers the question as a transaction can have two input notes and two output notes, meaning a max vjoinsplit length of 4 with Upto two vpub_ins and two vpub_outs

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.