A method of using a plurality of blockchain transactions to execute a computer-implemented task, comprising the steps:
- using an unlocking script (ULS1) associated with a first input (In1) in a blockchain transaction (Tx2) to present at least one data item to a locking script (LS1) of another transaction (Tx1) so as to provide a result on a stack;
- amending the blockchain transaction (Tx2) to include a second input (In2);
- generating a further unlocking script (ULS2) associated with the second input (In2), the further unlocking script (ULS2) comprising the result from the stack, wherein the unlocking script (ULS1) and the further unlocking script (ULS2) are provided in association with different inputs (In1 In2) within the same blockchain transaction (Tx2) and wherein the result is provided as metadata within the further unlocking script (ULS2);
- and
- presenting the further unlocking script (ULS2) to a further locking script (LS2) such that the result from the stack is provided as input to the further locking script (LS2), wherein the locking script (LS1) and the further locking script (LS2) are provided in association with different outputs within the same blockchain transaction (Tx1) and wherein:
- the plurality of blockchain transactions are for a blockchain, the blockchain being a consensus-based, distributed, electronic ledger;
- and/or
- the blockchain is the Bitcoin blockchain;
- and/or
- one, some or all of the transactions are Bitcoin transactions;
- and/or
- the method is arranged for execution on the Bitcoin blockchain.