Transactions have a version
field (currentlysee here and here, which is currently 2, RingCT), but. However RingCT signatures also specify a type in rct_signatures.type
. RCTTypeSimple etc, are the type of RingCT signature used and are defined here.
Therefore it depends what you intend on changing (transaction / signatures), that would determine which field(s) you should change to ensure backwards compatibility.
If you intend on doing away with RingCT altogether, you would of course change the transaction version
field.
If you intend on creating a new type of RingCT signature, you would create a new signature type
.