IP Library Granted Patent US 12,250,313
Granted Patent B2
US 12,250,313 · App. 17/776,573 · Granted Mar 11, 2025

Multifactor authentication using blockchain transactions

Inventors: Daniel Joseph (London, GB); Craig Steven Wright (London, GB)
Assignee: nChain Licensing AG
H04L9/321H04L9/3247H04L9/3271H04L9/50
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,250,313
App. No.
17/776,573
Granted
Mar 11, 2025
Kind
B2
Abstract

A method of providing credentials to enable a second party to verify an identity of a first party. The first party is associated with a first public key which is registered with a third party. One or more first credentials are provided to the second party. A request transaction is obtained, which comprises a) an input comprising a signature generated based on a respective private key of the third party, and b) an output locked to a second public key of the first party. The second public key is based on the first public key. A confirmation transaction is generated. The confirmation transaction comprises an input that references the output of the request transaction, and a signature generated based on a private key corresponding to the second public key of the first party. The confirmation transaction is transmitted to nodes of a blockchain network for inclusion in a blockchain.

Claims (48)

1. A method of providing credentials to enable a second party to verify an identity of a first party, wherein the first party is associated with a first public key, wherein the first public key is registered with a third party, and wherein the method is performed by the first party and comprises:

providing one or more first credentials to the second party;

obtaining a request transaction, the request transaction being a first blockchain transaction that has been transmitted to one or more nodes of a blockchain network and comprising a) an input comprising a signature generated based on a respective private key of the third party, and b) an output locked to a second public key of the first party, wherein the second public key is generated by i) multiplying a pseudorandom number with a generator point of an Elliptic Curve Digital Signature Algorithm, ECDSA, scheme to generate a third public key, and ii) combining the third public key with the first public key to generate the second public key;

generating a confirmation transaction, the confirmation transaction being a second blockchain transaction comprising an input that references the output of the request transaction, and a signature generated based on a private key corresponding to the second public key of the first party; and

causing the confirmation transaction to be transmitted to one or more nodes of a blockchain network for inclusion in a blockchain.

2. The method of claim 1 , wherein said obtaining comprises:

obtaining the request transaction from the blockchain; or

obtaining the request transaction from a respective memory pool of one or more nodes of the blockchain network, wherein each respective memory pool comprises a respective set of unconfirmed blockchain transactions.

3. The method of claim 1 , comprising:

receiving from or transmitting to the second party, at least one of a message and/or a hash of the message; and

determining whether the request transaction comprises at least one of the message, the hash of the message, and/or a multi-hash of the message, and wherein said generating of the confirmation transaction is conditional on the request transaction comprising at least one of the message, the hash of the message, and/or a pre-image of the multi-hash of the message.

4. The method of claim 3 , wherein the output of the request transaction comprises a challenge requiring knowledge of the message and/or the hash of the message in order to be unlocked, and wherein the input of the confirmation transaction comprises the message, the hash of the message and/or a pre-image of the multi-hash of the message.

5. The method of claim 3 , wherein the message comprises the pseudorandom number, or wherein the message comprises a first pseudorandom number and the pseudorandom number is generated based on the first pseudorandom number.

6. A method of verifying an identity of a first party, wherein the first party is associated with a first public key, wherein the first public key is registered with a third party, and wherein the method is performed by the third party and comprises:

receiving a request to verify the identity of the first party;

generating a request transaction, the request transaction being a first blockchain transaction comprising a) an input comprising a signature generated based on a respective private key of the third party, and b) an output locked to a second public key of the first party, wherein the second public key is generated by i) multiplying a pseudorandom number with a generator point of an Elliptic Curve Digital Signature Algorithm, ECDSA, scheme to generate a third public key, and ii) combining the third public key with the first public key to generate the second public key;

causing the request transaction to be transmitted to one or more nodes of a blockchain network for inclusion in a blockchain; and

determining whether a confirmation transaction has been transmitted to one or more nodes of the blockchain network for inclusion in the blockchain, the confirmation transaction being a second blockchain transaction comprising an input that references the output of the request transaction, and a signature generated based on a private key corresponding to the second public key of the first party.

7. The method of claim 6 , wherein said determining whether the confirmation transaction has been transmitted to one or more nodes of the blockchain network for inclusion in the blockchain comprises:

determining whether the confirmation transaction is included in the blockchain.

8. The method of claim 7 , wherein said determining whether the confirmation transaction has been transmitted to one or more nodes of the blockchain network for inclusion in the blockchain comprises:

determining whether the confirmation transaction is included in a respective memory pool of one or more nodes of the blockchain network, wherein each respective memory pool comprises a respective set of unconfirmed blockchain transactions.

9. The method of claim 6 , comprising:

verifying the identity of the first party based on whether the confirmation transaction has been transmitted to one or more nodes of the blockchain network.

10. The method of claim 9 , wherein the request is received from a second party, and wherein the method comprises:

transmitting an indication to the second party that the identity of the first party has been verified.

11. The method of claim 10 , wherein receiving the request comprises receiving an indication that the first party has provided one or more first credentials to the second party.

12. The method of claim 10 , wherein the request comprises at least one of a message or a hash of the message, and wherein the output of the request transaction comprises a challenge requiring knowledge of the message and/or the hash of the message in order to be unlocked.

13. The method of claim 12 , wherein the message comprises a first pseudorandom number.

14. The method of claim 9 , wherein the second party controls access or ownership of a resource or service, and wherein access or ownership of the resource or service is granted to the first party based on said verification of the identity of the first party.

15. The method of claim 6 , wherein the second public key is generated by combining the first public key with a second pseudorandom number.

16. The method of claim 15 , wherein the first pseudorandom number and/or the second pseudorandom number is based on a third pseudorandom number generated by the first party and a fourth pseudorandom number generated by the third party.

17. The method of claim 6 , wherein the output of the request transaction is locked to the second public key of the first party or a public key of the third party.

18. The method of claim 17 , comprising:

generating a cancel transaction, the cancel transaction being a third blockchain transaction comprising an input that references the output of the request transaction, and a signature generated based on a private key corresponding to the public key of the first party; and

causing the cancel transaction to be transmitted to one or more nodes of the blockchain network for inclusion in the blockchain.

19. 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 the code is run on the processing apparatus the processing apparatus performs a method of verifying an identity of a first party, wherein the first party is associated with a first public key, wherein the first public key is registered with a third party, and wherein the method is performed by the third party and comprises:

receiving a request to verify the identity of the first party;

generating a request transaction, the request transaction being a first blockchain transaction comprising a) an input comprising a signature generated based on a respective private key of the third party, and b) an output locked to a second public key of the first party, wherein the second public key is generated by i) multiplying a pseudorandom number with a generator point of an Elliptic Curve Digital Signature Algorithm, ECDSA, scheme to generate a third public key, and ii) combining the third public key with the first public key to generate the second public key;

causing the request transaction to be transmitted to one or more nodes of a blockchain network for inclusion in a blockchain; and

determining whether a confirmation transaction has been transmitted to one or more nodes of the blockchain network for inclusion in the blockchain, the confirmation transaction being a second blockchain transaction comprising an input that references the output of the request transaction, and a signature generated based on a private key corresponding to the second public key of the first party.

20. A non-transitory computer-readable storage medium having instructions stored thereon and configured so as, when run on computer equipment, the instructions causes the computer equipment to perform a method of verifying an identity of a first party, wherein the first party is associated with a first public key, wherein the first public key is registered with a third party, and wherein the method is performed by the third party and comprises:

receiving a request to verify the identity of the first party;

generating a request transaction, the request transaction being a first blockchain transaction comprising a) an input comprising a signature generated based on a respective private key of the third party, and b) an output locked to a second public key of the first party, wherein the second public key is generated by i) multiplying a pseudorandom number with a generator point of an Elliptic Curve Digital Signature Algorithm, ECDSA, scheme to generate a third public key, and ii) combining the third public key with the first public key to generate the second public key;

causing the request transaction to be transmitted to one or more nodes of a blockchain network for inclusion in a blockchain; and

determining whether a confirmation transaction has been transmitted to one or more nodes of the blockchain network for inclusion in the blockchain, the confirmation transaction being a second blockchain transaction comprising an input that references the output of the request transaction, and a signature generated based on a private key corresponding to the second public key of the first party.

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 May 12, 2022
From: JOSEPH, DANIEL; WRIGHT, CRAIG STEVEN
To: NCHAIN HOLDINGS LIMITED
Reel/Frame 060050/0828 →
Priority Claims (1)
GB 1916644 · Nov 15, 2019 · national
Continuity (1)
Related Publication 20220393871A1 · Dec 8, 2022
References Cited (24)
US 20170317997A1 · Smith · 2017 [cited by examiner]
US 20210064780A1 · Riedel · 2021 [cited by examiner]
CN 106453271A · 2017 [cited by applicant]
EP 3396576A1 · 2018 [cited by examiner]
WO 2019034983A1 · 2019 [cited by applicant]
WO 2019115936A1 · 2019 [cited by applicant]
WO 2019194803A1 · 2019 [cited by applicant]
Bitcoin, “How Many Unconfirmed Childs Can I Have?,” Bitcoin Stack Exchange, Retrieved from the Internet: URL: https://bitcoin.stackexchange.com/questions/62900/how-many-unconfirmed-childs-can-i-have on Nov. 13, 2019, 1 … [cited by applicant]
Combined Search and Examination Report for Application No. GB1916644.6, Apr. 29, 2020, 8 pages. [cited by applicant]
“Diffie Hellman,” Sep. 3, 2019, Retrieved from the Internet: URL: https://www.sciencedirect.com/topics/computer-science/diffie-hellman, 8 pages. [cited by applicant]
Franco P., “Understanding Bitcoin: Cryptography, Engineering and Economics,” Wiley, Nov. 24, 2014, 238 pages. [cited by applicant]
Hydro, “What is Raindrop?,” Hydro's Raindrop Phase, Retrieved from the Internet: URL: https://projecthydro.org/raindrop-phase/# on Nov. 13, 2019, 5 pages. [cited by applicant]
International Search Report and Written Opinion issued in International Application No. PCT/IB2020/059676, mailed on Jan. 13, 2021, 14 pages. [cited by applicant]
Ouaddah A., et al., “FairAccess: A New Blockchain-Based Access Control Framework for the Internet of Things: FairAccess: A New Access Control Framework for IoT,” Security and Communication Networks, Feb. 2017, vol. 9, N… [cited by applicant]
Protectimus, “The Pros and Cons of Different Two-Factor Authentication Types and Methods,” Retrieved from the Internet: URL: https://www.protectimus.com/blog/two-factor-authentication-types-and-methods/ on Nov. 13, 2019… [cited by applicant]
Redman J., “Bitcoin Cash Community Bolsters Instant Transactions,” Bitcoin News, Apr. 2, 2018, retrieved from the Internet: URL: https://news.bitcoin.com/bitcoin-cash-community-bolsters-instant-transactions/ on Nov. 13,… [cited by applicant]
Redman J., “Bitcoin Cash Community Embraces Zero Confirmation Transactions,” Bitcoin News, Jul. 1, 2018, retrieved from the Internet: URL: https://news.bitcoin.com/bitcoin-cash-community-embraces-zero-confirmation-trans… [cited by applicant]
Rouse M., “Multifactor Authentication (MFA),” SearchSecurity.com, Retrieved from the Internet: URL: https://searchsecurity.techtarget.com/definition/multifactor-authentication-MFA on Nov. 13, 2019, 3 pages. [cited by applicant]
The Economist, “Where are the Flaws in Two-Factor Authentication?,” The Economist explains, Sep. 13, 2017, Retrieved from the Internet: URL: https://www.economist.com/the-economist-explains/2017/09/13/where-are-the-flaw… [cited by applicant]
Vo T., “HYDRO-Potential Project 2FA Just Got Better With Hydrogen,” Hydrogen, May 17, 2018, Retrieved from the Internet: URL: https://medium.com/@vminhtr_42068/hydro-potential-project-and-the-future-of-2fa-apps-e7bf9994… [cited by applicant]
Wiki, “Secp256k1—Bitcoin Wiki,” En.bitcoin.it, 2019, retrieved from internet: https://en.bitcoin.itlwiki/Secp256k1, 2 pages. [cited by applicant]
Fuchita Y., “Special Feature: Innovation and Finance—Blockchain and Financial Transaction innovation,” Nomura Capital Markets Quarterly, Japan, Nomura Institute of Capital Markets Research, Nov. 1, 2015, vol. 19, No. 2,… [cited by applicant]
Kakei S., et al., “Proposal of Cross-Certification Using Smart-Contract Toward Distributed Authentication Infrastructure,” Computer Security Symposium 2019, Japan, Information Processing Society of Japan, Oct. 14, 2019,… [cited by applicant]
Tsuchida T., et al., “Pseudo-Random Function Based Authentication Scheme using Blockchain for Self-Sovereignty Identification,” IEICE Technical Report, Security Psychology and Trust (SPT), Japan, Information Processing … [cited by applicant]