IP Library Granted Patent US 12,619,982
Granted Patent B2
US 12,619,982 · App. 17/791,154 · Granted May 5, 2026

Single-use tokens

Inventors: Bassem Ammar (London, GB); Wei Zhang (Zug, CH); Craig Steven Wright (Zug, CH)
Assignee: nChain Licensing AG
G06Q20/385G06Q20/38215G06Q20/3825G06Q20/3827G06Q20/3829G06Q20/389G06Q20/407G06Q2220/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,619,982
App. No.
17/791,154
Granted
May 5, 2026
Kind
B2
Abstract

A computer-implemented method of using blockchain transactions to issue one or more single-uses tokens for use by one or more respective token redeemers, wherein the method is performed by a token issuer and comprises: generating a token transaction, wherein the token transaction comprises: one or more token outputs, wherein each token output comprises token data representing a respective single-use token, wherein each single-use token is associated with a respective spendable output of the token transaction, and wherein a respective validity of each single-use token is conditional on the respective spendable output being present in an unspent transaction output set of a blockchain; and one or more inputs, wherein at least a first one of the inputs comprises a signature linked to a first public key of the token issuer; and transmitting the token transaction to one or more nodes of a blockchain network to be recorded in the blockchain.

Claims (63)

1 . A computer-implemented method of using blockchain transactions to issue a single-use token for use by a token redeemer, wherein the method is performed by a token issuer and comprises:

receiving a blockchain address from the token redeemer, wherein the blockchain address comprises a public key linked to the redeemer or a hash of the public key linked to the redeemer;

generating token data representing the single-use token;

generating a cryptographic hash of the token data by inputting the token data to a cryptographic hash function and executing the cryptographic hash function using the token data;

generating a set of cryptographically-linked public keys, wherein the set comprises a first public key, a second public key and a third public key, and wherein the second public key is certified by a certificate authority as being linked to the token issuer;

receiving, from the certificate authority, a reference to a certificate transaction recorded on the blockchain, wherein the certificate transaction comprises a certificate certifying the second public key of the token issuer;

generating a token transaction, wherein generating the token transaction comprises:

generating a token output of the token transaction,

including the cryptographic hash of the token data in the token output;

including, in the token output, the reference to a certificate transaction to enable the token redeemer to identify the certificate transaction and verify that the first and third public keys are cryptographically linked to the second public key that has been certified by the certificate authority;

locking the token output or a different output of the token transaction to the blockchain address of the token redeemer, said locking comprising constructing a locking script that requires, when executed during validation of the token transaction by one or more nodes of a blockchain network, an input of a redemption transaction to comprise a signature generated using a private key corresponding to the public key linked to the token redeemer; and

generating one or more inputs of the token transaction,

generating a first digital signature linked to the first public key of the token issuer, and including the first digital signature into one of the one or more inputs,

generating a second digital signature linked to the third public key of the token issuer, and including the second digital signature into one of the one or more inputs; and

transmitting the token transaction to one or more nodes of a blockchain network to be recorded in the blockchain.

2 . The method of claim 1 , wherein the token output is a spendable transaction output.

3 . The method of claim 2 , wherein the token output is an m-of-n multi-signature output, and wherein the m-of-n multi-signature output is configured such that, in order to be unlocked by the input of the token redemption transaction, the input of the token redemption transaction must comprise at least m signatures that are linked to respective ones of n public keys.

4 . The method of claim 3 , wherein the m-of-n multi-signature output requires the input of the token redemption transaction to comprise a signature that is linked to a second public key of a token redeemer and/or a signature that is linked to a public key of the token issuer.

5 . The method of claim 2 , wherein token output comprises a if-else statement that defines two or more alternative conditions, and wherein each alternative condition is configured such that, in order to be unlocked by the input of the token redemption transaction, the input of the redemption transaction must meet one of the two or more defined conditions.

6 . The method of claim 1 , wherein the token output is an unspendable output.

7 . The method of claim 6 , wherein the different output of the token transaction is a spendable output associated with the single-use token and is an m-of-n multi-signature output configured such that, in order to be unlocked by the input of the token redemption transaction, the input of the token redemption transaction must comprise a signature that is linked to a public key of a token redeemer and/or a signature that is linked to the second public key of the token issuer.

8 . The method of claim 1 , wherein the token transaction comprises a plurality of inputs.

9 . The method of claim 1 , comprising:

generating a token update transaction, wherein the token update transaction comprises an input that references the token output of the token transaction, wherein the token update transaction comprises a token update output, wherein the token update output comprises token data representing an updated version of the single-use token; and

transmitting the token update transaction to one or more nodes of a blockchain network to be recorded in the blockchain.

10 . The method of claim 1 , comprising:

generating a token cancel transaction, wherein the token cancel transaction comprises an input that references of the token output of the token transaction, wherein the token cancel transaction comprises a token cancel output, wherein the token cancel output comprises token data representing a cancelled version of the single-use token; and

transmitting the token cancel transaction to one or more nodes of a blockchain network to be recorded in the blockchain.

11 . The method of claim 1 , comprising:

transmitting, to the token redeemer, a transaction identifier of the token transaction.

12 . The method of claim 1 , wherein the single-use token is associated with a tangible asset.

13 . Computer equipment, comprising:

memory comprising one or more memory units; and

processing apparatus comprising one or more processing units, wherein the memory stores code arranged to run on the processing apparatus, the code being configured so as when run on the processing apparatus, the processing apparatus performs a method of using blockchain transactions to issue a single-uses tokens for use by a token redeemers, wherein the method is performed by a token issuer, the method including:

receiving a blockchain address from the token redeemer, wherein the blockchain address comprises a public key linked to the redeemer or a hash of the public key linked to the redeemer;

generating token data representing the single-use token;

generating an encrypted version of the token data by: a) inputting the token data to a cryptographic hash function and executing the cryptographic hash function using the token data;

generating a set of cryptographically-linked public keys, wherein the set comprises a first public key, a second public key and a third public key, and wherein the second public key is certified by a certificate authority as being linked to the token issuer;

receiving, from the certificate authority, a reference to a certificate transaction recorded on the blockchain, wherein the certificate transaction comprises a certificate certifying the first public key of the token issuer or the second public key of the token issuer;

generating a token transaction, wherein generating the token transaction comprises:

generating a token output of the token transaction,

including the hash of the token data in the token output,

including, in the token output, the reference to a certificate transaction to enable the token redeemer to identify the certificate transaction and verify that the first and third public keys are cryptographically linked to the second public key that has been certified by the certificate authority;

locking the token output or a different output of the token transaction to the blockchain address of the token redeemer, said locking comprising constructing a locking script that requires, when executed during validation of the token transaction by one or more nodes of a blockchain network, an input of a redemption transaction to comprise a signature generated using a private key corresponding to the public key linked to the token redeemer; and

generating one or more inputs of the token transaction,

generating a first digital signature linked to the first public key of the token issuer, and including the first digital signature into one of the one or more inputs,

generating a second digital signature linked to the third public key of the token issuer, and including the second digital signature into one of the one or more inputs; and

transmitting the token transaction to one or more nodes of a blockchain network to be recorded in the blockchain.

14 . A computer program product, comprising computer program code embodied on a non-transitory computer-readable storage medium, the computer program code being configured so as, when run on computer equipment, the computer equipment performs a method of using blockchain transactions to issue a single-use token for use by a token redeemers, wherein the method is performed by a token issuer and includes:

receiving a blockchain address from the token redeemer, wherein the blockchain address comprises a public key linked to the redeemer or a hash of the public key linked to the redeemer;

generating token data representing the single-use token;

generating an encrypted version of the token data by: a) inputting the token data to a cryptographic hash function and executing the cryptographic hash function using the token data;

generating a set of cryptographically-linked public keys, wherein the set comprises a first public key, a second public key and a third public key, and wherein the second public key is certified by a certificate authority as being linked to the token issuer;

receiving, from the certificate authority, a reference to a certificate transaction recorded on the blockchain, wherein the certificate transaction comprises a certificate certifying the first public key of the token issuer or the second public key of the token issuer;

generating a token transaction, wherein generating the token transaction comprises:

generating a token output of the token transaction,

including the hash of the token data in the token output,

including, in the token output, the reference to a certificate transaction to enable the token redeemer to identify the certificate transaction and verify that the first and third public keys are cryptographically linked to the second public key that has been certified by the certificate authority;

locking the token output or a different output of the token transaction to the blockchain address of the token redeemer, said locking comprising constructing a locking script that requires, when executed during validation of the token transaction by one or more nodes of a blockchain network, an input of a redemption transaction to comprise a signature generated using a private key corresponding to the public key linked to the token redeemer; and

generating one or more inputs of the token transaction,

generating a first digital signature linked to the first public key of the token issuer, and including the first digital signature into one of the one or more inputs,

generating a second digital signature linked to the third public key of the token issuer, and including the second digital signature into one of the one or more inputs; and

transmitting the token transaction to one or more nodes of a blockchain network to be recorded in the blockchain.

Assignments (2)
CHANGE OF NAME Recorded Aug 8, 2022
From: NCHAIN HOLDINGS LIMITED
To: NCHAIN LICENSING AG
Reel/Frame 061118/0671 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2022
From: ZHANG, WEI; AMMAR, BASSEM; WRIGHT, CRAIG STEVEN
To: NCHAIN HOLDINGS LIMITED
Reel/Frame 060415/0450 →
Priority Claims (1)
GB 2000204 · Jan 8, 2020 · national
Continuity (1)
Related Publication 20230036852A1 · Feb 2, 2023
References Cited (35)
US 9858781B1 · Campero · 2018 [cited by examiner]
US 20180293573A1 · Ortiz · 2018 [cited by examiner]
US 20190057362A1 · Wright et al. · 2019 [cited by applicant]
US 20190164138A1 · Wright et al. · 2019 [cited by applicant]
US 20190205894A1 · Gonzales, Jr. · 2019 [cited by examiner]
US 20190220831A1 · Rangarajan · 2019 [cited by examiner]
US 20190266601A1 · Allen · 2019 [cited by applicant]
US 20200265516A1 · Xu · 2020 [cited by examiner]
US 20200302470A1 · Walsh · 2020 [cited by examiner]
JP 2018117287A · 2018 [cited by applicant]
JP 2019095884A · 2019 [cited by applicant]
JP 2019526120A · 2019 [cited by applicant]
JP 2019528590A · 2019 [cited by applicant]
WO WO2017145003A1 · 2017 [cited by examiner]
WO WO2017178955A1 · 2017 [cited by examiner]
WO 2018020372A1 · 2018 [cited by applicant]
WO WO2018078584A1 · 2018 [cited by examiner]
WO 2019163040A1 · 2019 [cited by applicant]
Antonopoulos A. M., “Mastering Bitcoin,” Jul. 21, 2017, pp. 55-115, Retrieved from the Internet: URL: https://www.oreilly.com/library/view/mastering-bitcoin-2nd/9781491954379/. [cited by applicant]
Charlon F., “Open Assets Protocol (OAP/1.0),” 2013, Retrieved from the Internet: URL: https://github.com/OpenAssets/open-assets-protocol/blob/master/specification.mediawiki, Retrieved on Dec. 4, 2019, 9 pages. [cited by applicant]
Combined Search and Examination Report for Application No. GB1913704.1, Jun. 23, 2020, 14 pages. [cited by applicant]
Combined Search and Examination Report for Application No. GB2000204.4, May 27, 2020, 5 pages. [cited by applicant]
Compliancy Group, “Gdpr Compliance and HIPAA: How to Address Both,” Retrieved from the Internet: URL: https://compliancy-group.com/gdpr-compliance-hipaa-software/, on Dec. 4, 2019, 5 pages. [cited by applicant]
Github, “Bitcoin/Bips,” Github, 2019, 15 pages, Retrieved from the Internet: URL: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki, Retrieved on Dec. 4, 2019. [cited by applicant]
Github, “The Colored Coins Protocol,” Retrieved from the Internet: URL:https://github.com/Colored-Coins/Colored-Coins-Protocol-Specification/, Retrieved on Dec. 4, 2019, 1 page. [cited by applicant]
hhs.gov, “Summary of the HIPAA Security Rule,” Health Information Privacy, Retrieved from the Internet: URL: https://www.hhs.gov/hipaa/for-professionals/security/laws-regulations/index.html, on Dec. 4, 2019, 7 pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/IB2020/061591, mailed on Feb. 22, 2021, 14 pages. [cited by applicant]
Nice, “Prescription Writing,” Medicines Guidance, Retrieved from the Internet: URL: https://bnf.nice.org.uk/guidance/prescription-writing.html, Retrieved on Dec. 4, 2019, 4 pages. [cited by applicant]
Rouse M., “HIPAA (Health Insurance Portability and Accountability Act),” Retrieved from the Internet: URL: https://searchhealthit.techtarget.com/definition/HIPAA, Retrieved on Dec. 4, 2019, 6 pages. [cited by applicant]
Tokenized, “Documentation Menu,” Tokenized Protocol, Retrieved from the Internet: URL: https://tokenized.com/docs/intro/preface, on Dec. 4, 2019, 3 pages. [cited by applicant]
Venkatesiah K., “GDPR Vs. HIPAA—Noting The Differences,” Health IT Outcomes, Dec. 15, 2017, Retrieved from the Internet: URL: https://www.healthitoutcomes.com/doc/gdpr-vs-hipaa-noting-the-differences-0001, Retrieved on … [cited by applicant]
Wikipedia, “Electronic Prescribing,” Retrieved from the Internet: URL: https://en.wikipedia.org/wiki/Electronic_prescribing, Retrieved on Dec. 4, 2019, 12 pages. [cited by applicant]
Wikipedia, “Medical Privacy,” Retrieved from the Internet: URL: https://en.wikipedia.org/wiki/Medical_privacy, Retrieved on Dec. 4, 2019, 19 pages. [cited by applicant]
Wikipedia, “SCRIPT (Medicine),” Retrieved from the Internet: URL: https://en.wikipedia.org/wiki/SCRIPT_(medicine), Retrieved on Dec. 4, 2019, 1 page. [cited by applicant]
Antonopoulos., A M., “Bitcoin and Blockchain,” NTT Publishing Co., Ltd, Jul. 21, 2016, pp. 95-102 and 130-145. [cited by applicant]