A computer-implemented method of enabling a plurality of users (103a-1 ... 103a-N) to access an item of media content ( D m ); the method comprising, by software run on computer equipment of a vendor of the media content: providing a first transaction ( Tx 1-m ) comprising i) one or more outputs including at least a first output specifying an amount of a digital asset to transfer to the vendor, and ii) initially, a total of zero or more inputs wherein a total input amount of the digital asset specified in any outputs of any source transactions pointed to by the zero or more inputs is less than a total output amount of the digital asset specified by the one or more outputs, and wherein the first output of the first transaction comprises a locking script specifying a condition to be met by an unlocking script to unlock said first output; over a side channel , receiving an input from each of said plurality of users, and adding each received input to the first transaction, each received input pointing to an output of a respective source transaction ( Tx 0-m-A1 ... Tx 0-m-AN ) specifying an amount of the digital asset; and once a target is reached, whereby a total input amount pointed to by the inputs of the first transaction is equal to or exceeds the output amount, causing the first transaction and a second transaction ( Tx 2-m ) to be published to a blockchain network to be recorded in a blockchain , wherein the second transaction comprises an input pointing to the first output of the first transaction and comprising the unlocking script meeting said condition; wherein the condition specified by the locking script requires the unlocking script to include a media key ( S m ) enabling the users to access the item of media content. providing a first transaction ( Tx 1-m ) comprising i) one or more outputs including at least a first output specifying an amount of a digital asset to transfer to the vendor, and ii) initially, a total of zero or more inputs wherein a total input amount of the digital asset specified in any outputs of any source transactions pointed to by the zero or more inputs is less than a total output amount of the digital asset specified by the one or more outputs, and wherein the first output of the first transaction comprises a locking script specifying a condition to be met by an unlocking script to unlock said first output; over a side channel , receiving an input from each of said plurality of users, and adding each received input to the first transaction, each received input pointing to an output of a respective source transaction ( Tx 0-m-A1 ... Tx 0-m-AN ) specifying an amount of the digital asset; and once a target is reached, whereby a total input amount pointed to by the inputs of the first transaction is equal to or exceeds the output amount, causing the first transaction and a second transaction ( Tx 2-m ) to be published to a blockchain network to be recorded in a blockchain , wherein the second transaction comprises an input pointing to the first output of the first transaction and comprising the unlocking script meeting said condition; wherein the condition specified by the locking script requires the unlocking script to include a media key ( S m ) enabling the users to access the item of media content. <EOS>