Blockchain-implemented method

TWI791456BInactive Publication Date: 2023-02-11NCHAIN HLDG LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
TW106125430
Authority / Receiving Office
TW · TW
Patent Type
Patents
Current Assignee / Owner
Priority Date
2016-07-29
Filing Date
2017-07-28
Publication Date
2023-02-11
Estimated Expiration
Not applicable · inactive patent

Smart Images

  • Figure TWG2TB001689955_001
    Figure TWG2TB001689955_001
  • Figure TWG2TB001689955_002
    Figure TWG2TB001689955_002
  • Figure TWG2TB001689955_003
    Figure TWG2TB001689955_003
Patent Text Reader

Abstract

This invention provides a novel and advantageous method and system for implementing a blockchain. The invention is implemented via a decentralized electronic ledger (blockchain). This may or may not be a Bitcoin blockchain. The invention is suitable for the exchange or transfer of assets, such as digital assets, like tickets and the like (but not limited to these). One embodiment provides a computer implementation method for transferring an asset between a first user and a second user via a blockchain, and implementing a third transaction that makes revealable information publicly available via the blockchain and thus known to the second user, who can use the revealable information in another unlocking command.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field] This invention generally relates to decentralized ledger technology (such as blockchain-related technologies), and more particularly to solutions for the secure transfer or exchange of assets between parties. This invention provides secure peer-to-peer exchange methods and systems implemented via a blockchain platform or protocol. This may or may not be a Bitcoin network. This invention is particularly suitable for the secure transfer of assets (such as digital or electronic assets) between parties who do not have prior relationships or trust. [Previous Technology] For convenience and ease of reference, we use the term "blockchain" in this document, as it is currently the most widely known term in this context. The term is used herein to include all forms of electronic, computer-based distributed ledgers (including consensus-based, alt-chain, sidechain, and transaction chain technologies), permitted and unpermitted ledgers, shared ledgers, and variations thereof. A blockchain is an electronic ledger implemented using a computer-based decentralized distributed system composed of blocks, which in turn consist of transactions. Each transaction (Tx) includes at least one input and at least one output. Each block contains hashes of previous blocks, making them linked together to create a permanent, immutable record of all transactions written to the blockchain from the beginning. Transactions contain small programs called instructions embedded in their inputs and outputs, which specify how and by whom the transaction's outputs can be accessed. On the Bitcoin platform, these instructions are written using a stack-based instruction processing language. In order for a transaction to be written to the blockchain, the transaction must i) be verified by the first node that receives the transaction—if the transaction is verified, the node will broadcast the transaction to other nodes in the network; and ii) be added to a new block constructed by the miner; and iii) be extracted, that is, added to the public ledger of past transactions. While other blockchain implementations have been proposed and developed, the most widely known application of blockchain technology is the Bitcoin ledger. Although Bitcoin is mentioned herein for convenience and illustrative purposes, it should be noted that this invention is not limited to use with the Bitcoin blockchain, and alternative blockchain implementations fall within the scope of this invention. Blockchain technology is most widely known for its application in cryptocurrency. However, recently, several entrepreneurs have begun exploring the use of both the cryptographic security system upon which Bitcoin is based and the data that can be stored on the blockchain to implement new systems. One area of ​​current interest and research is the use of blockchain for implementing "smart contracts." These smart contracts are computer programs designed to automate the execution of the terms of a contract or agreement. Unlike traditional contracts written in natural language, smart contracts are machine-executable programs that contain rules for processing input to produce results, which can then be used to perform actions based on those results. Another area related to blockchain is the use of "tokens" (or "colored coins") to represent and transmit real-world entities via blockchain. Potentially sensitive or secret items can be represented by tokens, which do not have identifiable meaning or value. Tokens thus act as identifiers that allow reference to real-world items. [Summary of the Invention] This invention is defined by the scope of the appended patent application. This invention provides a computer-implemented method and corresponding system. This invention can be described as a method for implementing or performing operations via blockchain. This invention can be described as a method for exchanging or transferring assets via blockchain. One or both of the assets may be part of a cryptocurrency. Alternatively or concurrently, one or both of the assets may be non-cryptocurrencies, but may be any other type of asset, such as physical, electronic, or digital assets. The assets may be symbolic assets. This method provides a computer-implemented approach for controlling the transfer or exchange of at least one asset between a first user and a second user via a blockchain. The method controls how and when the asset is transferred. The method may include: generating a first blockchain transaction, the first blockchain transaction including at least one first asset, redeemable by providing at least one first output by providing one of: (i) unlocking information; or (ii) a cryptographic signature of one of the first users and a cryptographic signature of one of the second users, wherein the at least one first asset is used to exchange for at least one second asset represented by at least one second output of a second blockchain transaction, the at least one second output being redeemable by providing one of: (i) the unlocking information; or (ii) the cryptographic signature of the first user and the cryptographic signature of the second user. By providing the first unlock information to realize at least one second output, the first unlock information can be used to realize at least one first output. The term "redemption" can mean spending (i.e., redeeming) one of the outputs contained in a blockchain transaction. The above methods enable the mutual guarantee of asset transfer via blockchain, thereby providing the advantages of secure asset transfer and immutable transfer records to be generated and maintained. Therefore, this invention provides a mechanism for two parties to securely exchange assets via blockchain (even if no trust has been established between them). This invention utilizes cryptographic techniques, a time-locking mechanism to control when transactions can be retrieved, and the concept of "revealable" data. Interdependence is established between transactions, meaning that control over asset transfer is implemented through innovative applications of blockchain protocols. Therefore, this invention provides a more secure asset exchange solution that can be advantageously used between multiple untrusted parties. By providing the cryptographic signature of the first user and the cryptographic signature of the second user to redeem the first blockchain transaction, at least one first output can be returned to the first user. This allows the first asset to be returned to the first user after both the first user's and the second user's signatures are provided, thus providing the advantage of preventing the first user from losing the asset. The method may further include the step of generating a third blockchain transaction configured to respond to a first lockout timeout by providing the cryptographic signature of the first user and the cryptographic signature of the second user to realize at least one first output. A time period is provided in which the first user is prevented from redeeming the first output, thereby providing the advantage of preventing the first user from claiming the first output other than the second output during that time period. The third blockchain transaction may include an unlocking command code containing the cryptographic signature of the first user and the cryptographic signature of the second user. This prevents third parties from requesting the first output, thereby providing the advantage of increased security for the method. The step of generating the third blockchain transaction may include sending the third blockchain transaction in an incomplete state to the second user, configuring the incomplete third blockchain transaction to receive the second user's cryptographic signature, and then sending the third blockchain transaction back to the first user in a complete state. This provides the advantage of a simple and secure mechanism for collecting cryptographic signatures. The first lock-in time may be longer than a second lock-in time associated with a fourth blockchain transaction, wherein the fourth blockchain transaction is configured to respond to the expiration of the second lock-in time by providing the cryptographic signature of the first user and the cryptographic signature of the second user to realize at least one second output. This provides a buffer period equal to the difference between the first lock time and the second lock time, during which the second user can cash out the first output, but the first user may not submit the third blockchain transaction to the blockchain to cash out the first output, thereby prohibiting the first user from cashing out both the first output and the second output. The unlocking data may include revealable data selected by the first user, which is not known to the second user prior to the fulfillment of the third blockchain transaction. This revealable data may be (initially) secret before the third blockchain transaction is consumed, preferably known only to the first user. By making the revealable data available on the blockchain (achieved by providing the revealable data in the unlocking command), the revealable data can become public or "revealed." This facilitates unlocking the locking command for the third transaction. The second user can then see and use the revealable data and provide it to another locking command. This provides the advantage of creating mutual trust between the first user and the second user, wherein disclosing the revealable information enables the first user to cash out the second output and enables the second user to cash out the first output, while also providing the additional advantage of allowing the first user and the second user to recover their individual assets represented by the respective first and second transactions when the revealable information is not disclosed. The unlock information may further include the second user's compiled signature of the password. This ensures that the redemption of the first output requires the cryptographic signature of the second user, thereby providing the advantage of increased security for the method. According to a second aspect of the present invention, a computer-implemented method for transferring an asset between a first user and a second user is provided. The method includes: generating a second blockchain transaction, the second blockchain transaction including representation of at least one second asset, and redeemable by providing at least one second output by providing one of: (i) unlocking data; or (ii) a cryptographic signature of one of the first users and a cryptographic signature of one of the second users, wherein the at least one second asset is used to exchange for at least one first asset represented by at least one first output of a first blockchain transaction, the at least one first output being redeemable by providing one of: (i) first unlocking data; or (ii) the cryptographic signature of the first user and the cryptographic signature of the second user, wherein redeeming the second output by providing the first unlocking data makes the first unlocking data available for redeeming the first output. By providing the cryptographic signature of the first user and the cryptographic signature of the second user to redeem the second blockchain transaction, the second output can be returned to the second user. This allows the second asset to be transferred back to the second user after both the first user's and the second user's signatures are provided, thus providing the advantage of preventing the second user from losing the asset. The method may further include the step of generating a fourth blockchain transaction configured to respond to a second lockout timeout by providing the cryptographic signature of the first user and the cryptographic signature of the second user to realize at least one second output. This provides a time period during which the second user is prevented from redeeming the second output, thereby providing the advantage of preventing the second user from claiming the second output other than the first output during that time period. The fourth blockchain transaction may include an unlocking command code containing the cryptographic signature of the first user and the cryptographic signature of the second user. The step of generating the fourth blockchain transaction may include sending the fourth blockchain transaction in an incomplete state to the first user, configuring the incomplete fourth blockchain transaction to receive the first user's cryptographic signature, and then sending the fourth blockchain transaction back to the second user in a complete state. The method may further include steps for monitoring transactions on the third blockchain. This provision enables the second user to promptly realize the benefits of the first output. The method may further include the step of generating a fifth blockchain transaction, which includes at least one third output redeemable by providing the first user with the cryptographic signature, thereby sending at least one first output back to the first user. This allows for a refund mechanism to be implemented on the blockchain, whereby the first asset is returned to the first user, thereby providing the advantage of increasing the user-friendliness of the method. The method may further include, in response to a determination that the asset has not been provided to the first user, the step of broadcasting the fifth blockchain transaction to the blockchain. This provides the advantage of further reducing the possibility of loss for the first user. The fifth blockchain transaction can be sent to a third party, and the determination and broadcast can be performed by that third party. This provides another advantage for automating the method. [Simplified Explanation of the Diagram] Figure 1 illustrates a blockchain transaction from a first user to a second user in exchange for a second asset; Figure 2 illustrates a symbolic blockchain transaction of a second asset to be provided by a second user to a first user in exchange for a first asset; Figure 3 illustrates a blockchain transaction configured to potentially transmit the output of the transaction in Figure 1 back to the first user after the first lock-up period has expired; Figure 4 illustrates a blockchain transaction configured to potentially transmit the output of the transaction in Figure 2 back to the second user after the second lock-up period has expired; Figure 5 illustrates a blockchain transaction of the first asset being transmitted back to the first user; and Figure 6 illustrates a flowchart illustrating the steps performed by the first and second users.

Implementation Method

Claims

1. 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, the first blockchain transaction including at least one first output representing at least one first asset, the at least one first output being locked by a locking instruction code including a hash of one of secret data (X) selected by the first user and redeemable by providing unlock data, the unlock data including secret data selected by the first user; and exchanging the at least one first asset for at least one second asset represented by at least one second output of a second blockchain transaction, wherein the at least one second output being locked by a locking instruction code including a hash of one of secret data (X) selected by the first user and redeemable by providing the unlock data, the unlock data including secret data selected by the first user; wherein redeeming the at least one second output by providing the unlock data makes the unlock data available to the second user to redeem the at least one first output.

2. The computer implementation method for transferring an asset between a first user and a second user via a blockchain as described in claim 1, wherein the first blockchain transaction can also be redeemed by providing a cryptographic signature of one of the first users and a cryptographic signature of one of the second users, and the step of redeeming the first blockchain transaction by providing the cryptographic signature of the first user and the cryptographic signature of the second user causes at least one first output to be transmitted back to the first user.

3. The computer implementation method for transferring an asset between a first user and a second user via a blockchain as described in claim 2, further includes the step of generating a third blockchain transaction configured to respond to a first lockout timeout by providing the cryptographic signature of the first user and the cryptographic signature of the second user to realize at least one first output.

4. A computer implementation method for transferring an asset between a first user and a second user via a blockchain, as described in claim 3, wherein the third blockchain transaction includes an unlocking instruction code, the unlocking instruction code including the cryptographic signature of the first user and the cryptographic signature of the second user.

5. A computer implementation method for transferring an asset between a first user and a second user via a blockchain, as described in claim 4, wherein the step of generating the third blockchain transaction includes sending the third blockchain transaction in an incomplete state to the second user, configuring the incomplete third blockchain transaction to receive the cryptographic signature of the second user, and then sending the third blockchain transaction back to the first user in a complete state.

6. A computer implementation method for transferring an asset between a first user and a second user via a blockchain, as described in claim 3, wherein the first lock-in time is longer than a second lock-in time associated with a fourth blockchain transaction, wherein the fourth blockchain transaction is configured to respond to the expiration of the second lock-in time by providing the cryptographic signature of the first user and the cryptographic signature of the second user to realize at least one second output.

7. A computer implementation method for transferring an asset between a first user and a second user via a blockchain, as described in claim 1, wherein the unlocking data includes revealable data selected by the first user, wherein the revealable data is not known to the second user until a third blockchain transaction is completed.

8. A computer implementation method for transferring an asset between a first user and a second user via a blockchain, as described in claim 7, wherein the unlocking data further includes the second user's cryptographic signature.

9. A computer-implemented method for transferring an asset between a first user and a second user, the method comprising: generating a second blockchain transaction, the second blockchain transaction including at least one second output representing at least one second asset, wherein the at least one second output is locked by a locking instruction code including a hash of one of secret data (X) selected by the first user and is redeemable by providing: unlocking data, the unlocking data including secret data selected by the first user; wherein the at least one second asset is used to exchange for at least one first asset represented by at least one first output of a first blockchain transaction, wherein the at least one first output is locked by a locking instruction code including a hash of one of secret data (X) selected by the first user and is redeemable by providing: the unlocking data, the unlocking data including secret data selected by the first user; wherein the step of redeeming the second output by the first user providing the unlocking data makes the unlocking data available to the second user to redeem the first output.

10. A computer implementation method for transferring an asset between a first user and a second user as described in claim 9, wherein the second blockchain transaction can also be redeemed by providing a cryptographic signature of one of the first users and a cryptographic signature of one of the second users, and the step of redeeming the second blockchain transaction by providing the cryptographic signature of the first user and the cryptographic signature of the second user causes the second output to be returned to the second user.

11. The computer implementation method for transferring an asset between a first user and a second user as described in claim 10, further comprising the step of generating a fourth blockchain transaction configured to respond to a second lockout timeout by providing the cryptographic signature of the first user and the cryptographic signature of the second user to realize at least one second output.

12. A computer implementation method for transferring an asset between a first user and a second user as described in claim 11, wherein the fourth blockchain transaction includes an unlocking instruction code that includes the cryptographic signature of the first user and the cryptographic signature of the second user.

13. A computer implementation method for transferring an asset between a first user and a second user as described in claim 12, wherein the step of generating the fourth blockchain transaction includes sending the fourth blockchain transaction in an incomplete state to the first user, configuring the incomplete fourth blockchain transaction to receive the cryptographic signature of the first user, and then sending the fourth blockchain transaction back to the second user in a complete state.

14. The computer implementation method for transferring an asset between a first user and a second user as described in claim 9, further comprising the step of monitoring transactions on a third blockchain on the blockchain.

15. The computer implementation method for transferring an asset between a first user and a second user as described in claim 9, further comprising the step of generating a fifth blockchain transaction, the fifth blockchain transaction comprising sending at least one first output back to the first user by providing at least one third output redeemable by the first user’s cryptographic signature.

16. The computer implementation method for transferring an asset between a first user and a second user as described in claim 15, further comprising the step of broadcasting the fifth blockchain transaction to the blockchain in response to a determination that the asset has not been provided to the first user.

17. A computer implementation method for transferring an asset between a first user and a second user as described in claim 16, wherein the fifth blockchain transaction is sent to a third party, and wherein the determination and broadcasting steps are performed by the third party.

Citation Information

Patent Citations

  • Information issuing method and device

    CN105719172A