2. Transactions
Last updated
Last updated
Transactions are formatted using a flexible messaging protocol that can represent anything from extremely simple transfers to large and highly complex actions that consume and create hundreds, thousands or even millions of inputs and outputs. Each transaction must reference one or more existing outpoints containing spendable satoshis on the BSV ledger and generate one or more new outputs that place those satoshis into newly created scripts which can be consumed in future transactions.
The message format is simple, open and easily interpreted in software. There is no requirement for cryptographic signatures or other functions to be used, unless those are required by the particular action being captured in the transaction. Each output generated within a transaction defines a predicate or 'puzzle' which locks the satoshis it contains into place. In order to spend the satoshis, the user must provide a valid solution as a transaction input. The scripting language used within the Bitcoin protocol is highly flexible and can be used to capture and inscribe any requirements related to the activity generating the transactions.
Importantly, transactions are not necessarily limited to financial activity, and things like sensor data, user selection information and much more can be captured in a transaction script. There are no protocol level limits on the size or complexity of transaction scripts. Potential application boundaries are defined only by the imagination of the people seeking to build their platforms on Bitcoin.