VOUT

Revision as of 17:05, 13 January 2020 by AlexMackay (talk | contribs)

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. Due to policy limits imposed on pre-genesis bitcoin transaction sizes, the BSV network allows each transaction to include up to approximately 3025 outpoints [1,2] depending on the type of outputs in the transaction. After the Genesis release of the Bitcoin SV software, this number will be configurable by miners, with a consensus limit of 232 - 1 outpoints.

Unspent Transaction Outputs

If a VOUT has not been spent, it is referred to as an Unspent Transaction Output 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 outptuts

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