Blockchain-implemented system and method
The invention provides a novel and advantageous method and corresponding system. The invention is implemented via a distributed electronic ledge (blockchain). This may or may not be the Bitcoin blockchain. The invention is suited for the exchange or transfer of an asset, e.g. a digital asset, such as tickets and the like (but not limited in this regard). A n embodiment may provide a computer-implemented method for transferring an asset between a first user and a second user via a blockchain, the method comprising: generating a first blockchain transaction comprising at least one first output, representing at least one first asset, redeemable by providing either: (i) unlocking data; or (ii) a cryptographic signature of the first user and a cryptographic signature of a second user, wherein the at least one first asset is exchanged for at least one second asset represented by a t least one second output of a second blockchain transaction, the at least one second output redeemable by providing either: (i) the unlocking data; or (ii) the cryptographic signature of the first user and the cryptographic signature of the second user, and wherein redemption of at least one second output by providing the first unlocking data makes the first unlocking data available to redeem at least one first output. The unlocking data may the unlocking data comprise revealable data which is chosen by the first user and is initially kept secret or unknown to the second user. Redemption of a third transaction causes the revealable data to become publicly available via the blockchain and thus known to the second user, who can use it in another unlocking script.
1 . A computer-implemented method of a computer-based system for transferring an asset between a first user and a second user via a blockchain, the computer-implemented method comprising:
generating, by a processor of the computer-based system, a first blockchain transaction comprising at least one first output, representing at least one first asset, wherein the at least one first output is locked by a first locking script comprising a hash of secret data chosen by the first user and is redeemable by providing, in a first unlocking script, unlocking data comprising the secret data provided by the first user,
wherein the at least one first asset is exchanged for at least one second asset represented by at least one second output of a second blockchain transaction, the at least one second output locked by a second locking script comprising the hash of the secret data and redeemable by providing, in a second unlocking script, the unlocking data comprising the secret data provided by the first user,
wherein the at least one second output is redeemed by providing the unlocking data to the second blockchain transaction and submitting the second blockchain transaction to the blockchain which makes the unlocking data available to the second user to redeem the at least one first output;
generating, by the processor of the computer-based system, a third blockchain transaction that enables redemption of the at least one first output by providing a cryptographic signature of the first user and a cryptographic signature of the second user;
enabling, by the processor of the computer-based system, a redemption of the at least one first output in response to elapse of a first locktime, wherein the first locktime is greater than a second locktime associated with a fourth blockchain transaction, wherein the fourth blockchain transaction enables redemption of the at least one second output by providing the cryptographic signature of the first user and the cryptographic signature of the second user in response to elapse of the second locktime; and
enacting, by the processor of the computer-based system, in response to the redemption, a refund mechanism on the blockchain to cause the first asset to be returned to the first user.
2 . The computer-implemented method according to claim 1 , wherein the third blockchain transaction comprises an unlocking script comprising the cryptographic signature of the first user and the cryptographic signature of the second user.
3 . The computer-implemented method according to claim 1 , wherein generating the third blockchain transaction comprises sending the third blockchain transaction in an incomplete state to the second user, wherein the incomplete state of the third blockchain transaction receives the cryptographic signature of the second user prior to returning the third blockchain transaction, in a complete state, to the first user.
4 . The computer-implemented method according to claim 1 , wherein the unlocking data comprises revealable data chosen by the first user, wherein the revealable data is unknown to the second user until the redemption of the at least one first output via the third blockchain transaction.
5 . The computer-implemented method according to claim 1 , wherein the unlocking data further comprises the cryptographic signature of the second user.
6 . A computer-implemented method of a computer-based system for transferring an asset between a first user and a second user, the computer-implemented method comprising:
generating, by a processor of the computer-based system, a second blockchain transaction comprising at least one second output, representing at least one second asset, wherein the at least one second output is locked by a second locking script comprising a hash of a secret data chosen by the first user and is redeemable by providing, in a second unlocking script, unlocking data comprising the secret data provided by the first user,
wherein the at least one second asset is exchanged for at least one first asset represented by at least one first output of a first blockchain transaction, the at least one first output locked by a first locking script comprising a hash of secret data chosen by the first user and redeemable by providing, in a first unlocking script, the unlocking data comprising the secret data provided by the first user,
wherein the at least one second output is redeemed by providing the unlocking data to the second blockchain transaction and submitting the second blockchain transaction to the blockchain which makes the unlocking data available to the second user to redeem the at least one first output;
generating, by the processor of the computer-based system, a third blockchain transaction that enables redemption of the at least one second output by providing a cryptographic signature of the first user and a cryptographic signature of the second user;
enabling, by the processor of the computer-based system, a redemption of the at least one second output in response to elapse of a first locktime, wherein the first locktime is greater than a second locktime associated with a fourth blockchain transaction, wherein the fourth blockchain transaction enables redemption of the at least one second output by providing the cryptographic signature of the first user and the cryptographic signature of the second user in response to elapse of the second locktime; and
enacting, by the processor of the computer-based system, in response to the redemption, a refund mechanism on the blockchain to cause the second asset to be returned to the second user.
7 . The computer-implemented method according to claim 6 , wherein the fourth blockchain transaction comprises an unlocking script comprising the cryptographic signature of the first user and the cryptographic signature of the second user.
8 . The computer-implemented method according to claim 6 , wherein the step of generating the fourth blockchain transaction comprises sending the fourth blockchain transaction in an incomplete state to the first user, wherein the incomplete state of the fourth blockchain transaction receives the cryptographic signature of the first user prior to returning the fourth blockchain transaction, in a complete state, to the second user.
9 . The computer-implemented method according to claim 6 , further comprising monitoring the third blockchain transaction on the blockchain.
10 . The computer-implemented method according to claim 6 , further comprising generating a fifth blockchain transaction comprising at least one third output, redeemable by providing the cryptographic signature of the first user, thereby returning the at least one first output to the first user.
11 . The computer-implemented method according to claim 10 , further comprising broadcasting the fifth blockchain transaction to the blockchain in response to a determination that the asset was not provided to the first user.
12 . The computer-implemented method according to claim 11 , wherein the fifth blockchain transaction is sent to a third party, and wherein the determination and the broadcasting are performed by the third party.