What does nVersion represent in Bitcoin transaction?

Have a few questions about the nVersion field in the transaction serialization format and they are related to the purpose of this field.

  1. What does this field tell us? In the sense that if it is version 1, the transaction fields are like this, if it is version 2, the transaction fields are like that, and so on. I don't see this field being intended for this. I only know that the transaction version affect nSequence. If the version is 1, the nSequence value has no purpose (it was intended as a replacement field, but is now disabled and you can put whatever you want in version 1) and if version is 2 then nSequence is used for relative time lock. What are the other purposes of this field, if any?

  2. What are all the standard and consensus rules for this field? Can it have any value under the consensus rules, but only 1 and 2 under the standard rules?

  3. If there is consensus and standard rules for this field, how are changes made to this field? For example, if the consensus and standard rule for this field was that it must be 1, then how was the addition of a relative timelock context to nSequences in the presence of version 2 done? That is, how was it possible that the value of this field can now be also 2 in order to add this change? How will version 3, 4, 5 or 10 be enabled? Hard fork?



from Recent Questions - Bitcoin Stack Exchange https://ift.tt/brvwOIS
via IFTTT

Comments

Popular posts from this blog

Do Kwon’s Detention Prolonged Until 2024 As Montenegro Responds To Extradition Requests

Sam Bankman-Fried Trial Begins Tomorrow: 3 Reasons Ex-SEC Official Foresees Conviction

Ethereum Price Plummets 9% As Fed Chair Passes Hawkish Remarks