Difference between revisions of "VOUT"
AlexMackay (talk | contribs) |
|||
Line 1: | Line 1: | ||
A VOUT is a '''transaction outpoint''' or '''transaction output number'''. It is a 4-byte integer value indicating the position of an output within a bitcoin transaction. | A VOUT is a '''transaction outpoint''' or '''transaction output number'''. It is a 4-byte integer value indicating the position of an output within a bitcoin transaction. | ||
− | Each VOUT contains a piece of script which can be used to contain a piece of data, hold a token or lock a quantity of Satoshis. | + | Each VOUT contains a piece of script which can be used to contain a piece of data, hold a token or lock a quantity of Satoshis. As the VOUT index is a 4 byte number, this gives users the effective ability to include a maximum of 2<sup>32</sup> outpoints in a Bitcoin transaction. |
==Unspent Transaction Outputs== | ==Unspent Transaction Outputs== |
Revision as of 06:09, 30 January 2020
A VOUT is a transaction outpoint or transaction output number. It is a 4-byte integer value indicating the position of an output within a bitcoin transaction.
Each VOUT contains a piece of script which can be used to contain a piece of data, hold a token or lock a quantity of Satoshis. As the VOUT index is a 4 byte number, this gives users the effective ability to include a maximum of 232 outpoints in a Bitcoin transaction.
Unspent Transaction Outputs
If a VOUT has not been spent, it is referred to as an Unspent Transaction Output or UTXO and can be used in the creation of a new transaction. Once a VOUT has been used as an input to a transaction that has been validated by the mining network it is considered spent and can no longer be used in a new transaction (see Double-spending).
Zero value outputs
VOUTS that do not contain a value in Satoshis are often used to hold scripts that carry large data items or tokens. Provably unspendable zero-value False Return outputs are predominantly used as a means to attach data to bitcoin transactions. False return transaction outputs are not stored in the UTXO set kept by miners.
Non-false return zero value outputs are still valid UTXOs and can be used as inputs in a transaction, with locking conditions being applied as normal. The dust rules implemented early on in Bitcoin's history preclude the creation of complicated scripts using zero value outputs until miners remove the limits on minimum values for outputs using complex scripts.
See Also
References
[1] - https://github.com/bitcoin-sv/bitcoin-sv/blob/master/src/policy/policy.h
[2] - https://github.com/bitcoin-sv/bitcoin-sv/blob/dev-Genesis-beta/src/policy/policy.h