IP Library Granted Patent US 12,223,501
Granted Patent B2
US 12,223,501 · App. 17/431,110 · Granted Feb 11, 2025

Computer-implemented systems and methods for implementing transfers over a blockchain network

Inventors: Craig Steven Wright (Cardiff, GB); Jack Owen Davies (Cardiff, GB); Alexander Tennyson Mackay (Cardiff, GB)
Assignee: nChain Licensing AG
G06Q20/389G06Q20/065G06Q20/0658G06Q20/223G06Q20/3678G06Q20/38215G06Q20/3823G06Q20/3827G06Q20/3829G06Q20/4014H04L9/0825H04L9/088H04L9/30H04L9/3218H04L9/3239G06Q20/341G06Q2220/00H04L9/50H04L2209/56
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,223,501
App. No.
17/431,110
Granted
Feb 11, 2025
Kind
B2
Abstract

The invention provides improved verification solutions for blockchain-implemented transfers. It is suited for, but not limited to, implementation in an SPV wallet. In accordance with one embodiment, a system or resource is provided which comprises a plurality of novel SPV verification components, the activities of which are coordinated by a coordination component. The system enables Bob to send Alice a payment transaction template (template Tx3) and requests: the full transaction data for all input transactions (Tx1, Tx2) comprising at least one output that Alice wants to spend as inputs to a transfer (Tx3); the Merkle path for all input transactions (Tx1, Tx2) linking them to their respective Merkle roots associated with their respective block headers; the completed transfer transaction (Tx3). Alice provides this information plus her signature. Bob can then perform local SPV checks on the input transactions Tx1, Tx2 using transactions Tx1 and Tx2, their corresponding Merkle paths Path 1, Path 2, and Bob's local list of block headers. Bob broadcasts the transfer transaction (Tx3) to the P2P network.

Claims (64)

1. A computer-based system operative to use Simplified Payment Verification to facilitate a blockchain transfer of an asset over a blockchain network between a transferor and a transferee, comprising:

i) a plurality of verification resources; and

ii) a coordination component operative to communicate with the at least one verification resource and select the at least one verification resource from the plurality of verification resources;

and wherein the at least one verification resource is arranged to:

a) receive using an off-chain communication that does not involve the blockchain or blockchain network:

1) complete transaction data relating to at least one input blockchain transaction (Tx1) that comprises at least one output that spends to an input of a transfer transaction (Tx3); and

2) a Merkle path for the at least one input blockchain transaction (Tx1);

b) perform a Simplified Payment Verification check on the at least one input blockchain transaction (Tx1) using the complete transaction data and the Merkle path to prove that the input transaction (Tx1) that comprises the at least one output that spends to the input of the transfer transaction (Tx3) is valid and in the blockchain, and wherein the Simplified Payment verification check is performed locally on the at least one verification resource and does not go through the blockchain network; and

c) determine that the Simplified Payment Verification check proves that the input transaction is valid and in the blockchain; and

d) responsive to determining that the Simplified Payment Verification check proves that the input transaction (Tx1) is valid and in the blockchain, transmit the transfer transaction (Tx3) to the blockchain network for mining into a block on the blockchain to transfer the asset from the transferor to the transferee over the blockchain.

2. The computer-based system of claim 1 , wherein at least one verification resource in the plurality of verification resources comprises at least one public key that is associated with a private key, and wherein the private key is provided:

in the at least one verification resource; or

in the coordination component.

3. The computer-based system of claim 1 , wherein the verification resource is operative to at least one of:

verify whether a specified transaction is stored on a blockchain; or

facilitate or enable a transfer from one address to another using a blockchain transaction.

4. The computer-based system of claim 1 , wherein the coordination component is operative to cause the at least one verification resource to at least one of:

verify whether a specified transaction is stored on a blockchain; or

facilitate or enable a transfer from one address to another using a blockchain transaction.

5. The computer-based system of claim 1 , wherein the coordination component is operative to send and receive transaction related data to and from a blockchain network.

6. The computer-based system of claim 1 , wherein the coordination component is operative to:

send and receive at least one of at least one public key or transaction ID (TXID) to and from the at least one verification resource.

7. The computer-based system of claim 2 , wherein the private key is a seed.

8. The computer-based system of claim 1 , wherein each of the plurality of verification resources-comprises at least one public key associated with a respective private key.

9. The computer-based system of claim 1 , wherein the at least one verification resource is operative to:

i) use the Merkle path to verify a Merkle proof for the at least one transaction; or

ii) store, receive and/or request at least one block header of a blockchain transaction.

10. The computer-based system of claim 1 , wherein the complete transaction data or Merkle path are received and/or requested from a providing resource which is the transferor of the asset and is operative to store and/or send:

i) complete transaction data relating to the at least one blockchain transaction; and

ii) the Merkle path of the at least one blockchain transaction.

11. The computer-based system of claim 10 , wherein at least one of the providing resource or the verification resource is or comprises at least one of:

a digital wallet, a cryptocurrency wallet, a Simplified Payment Verification Wallet or a smart card.

12. The computer-based system of claim 1 , wherein the computer-based system is operative to receive transfer data from a providing resource which is the transferor of the asset, the transfer data comprising at least one of:

data relating to at least one unspent transaction output (UTXO) stored on a blockchain;

a transaction ID (TXID) for a transaction containing the at least one unspent blockchain transaction output (UTXO);

a signature for spending the at least one unspent blockchain transaction output (UTXO);

a Merkle path for a transaction containing the at least one unspent blockchain transaction output (UTXO); or

a public key address.

13. The computer-based system of claim 1 , wherein the system is operative to at least one of:

i) send at least one of a transfer value or an output address to a providing resource;

ii) receive at least one of a transfer value or an output address from a providing resource which is the transferor of the asset; or

iii) submit a transaction to the blockchain network upon successful verification of the Merkle proof for the at least one blockchain transaction.

14. The computer-based system of claim 1 , wherein the system is operative to send, to a providing resource which is the transferor of the asset, a request for transfer data comprising at least one of:

data relating to at least one unspent transaction output (UTXO) stored on a blockchain;

a transaction ID (TXID) for a transaction containing the at least one unspent blockchain transaction output (UTXO);

a signature for spending at the at least one unspent blockchain transaction output (UTXO);

a Merkle path for a transaction containing the at least one unspent blockchain transaction output (UTXO); or

a public key address.

15. The computer-based system of claim 14 , wherein the transfer data is requested by the system, and/or received from the providing resource, using a blockchain transaction template.

16. A method to facilitate a blockchain transfer of an asset over a blockchain network between a transferor and a transferee, comprising:

using an off-chain communication that does not involve the blockchain or blockchain network to receive or request, by at least one verification resource in a plurality of verification resources, the at least one verification resource comprising at least one public key:

complete transaction data relating to at least one blockchain transaction (Tx1) that comprises at least one output that spends to an input of a transfer transaction (Tx3), and

a Merkle path for the at least one blockchain transaction (Tx1),

performing, by the at least one verification resource, a local Simplified Payment Verification check on the at least one input blockchain transaction (Tx1) using the complete transaction data and the Merkle path to prove that the input transaction (Tx1) that comprises the at least one output that spends to the input of the transfer transaction (Tx3) is valid and in the blockchain, and wherein the Simplified Payment verification check is performed locally on the at least one verification resource and does not go through the blockchain network; and

if the Simplified Payment Verification check is proves that the input transaction is valid and in the blockchain, submitting the transfer transaction (Tx3) to the blockchain network for mining into a block on the blockchain to transfer the asset from the transferor to the transferee over the blockchain;

wherein:

a private key is associated with the at least one public key; and

a coordination component is configured to communicate with the at least one verification resource and to select the at least one verification resource from the plurality of verification resources.

17. The method of claim 16 , wherein the private key is provided in the at least one verification resource or in the coordination component.

18. The method of claim 16 , wherein the verification resource is configured to at least one of verify whether a specified transaction is stored on a blockchain or facilitate or enable a transfer from one address to another using a blockchain transaction.

19. The method of claim 16 , the coordination component is operative to cause the at least one verification resource to at least one of:

verify whether a specified transaction is stored on a blockchain or facilitate or

enable a transfer from one address to another using a blockchain transaction.

20. The method of claim 16 , wherein the coordination component is operative to send and receive transaction related data to and from the blockchain network.

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 Aug 16, 2021
From: WRIGHT, CRAIG STEVEN; DAVIES, JACK OWEN; MACKAY, ALEXANDER TENNYSON
To: NCHAIN HOLDINGS LTD.
Reel/Frame 057194/0621 →
Priority Claims (5)
GB 1902086 · Feb 15, 2019 · national
GB 1902088 · Feb 15, 2019 · national
GB 1902089 · Feb 15, 2019 · national
GB 1902090 · Feb 15, 2019 · national
GB 1902092 · Feb 15, 2019 · national
Continuity (1)
Related Publication 20220138738A1 · May 5, 2022
References Cited (34)
US 11831749B1 · Fisher · 2023 [cited by examiner]
US 20160191243A1 · Manning · 2016 [cited by examiner]
US 20170132621A1 · Miller · 2017 [cited by examiner]
US 20190026146A1 · Peffers et al. · 2019 [cited by applicant]
US 20190149429A1 · Stöcker · 2019 [cited by examiner]
US 20200014531A1 · Falco · 2020 [cited by examiner]
US 20200104228A1 · Mac · 2020 [cited by applicant]
US 20200126075A1 · Fisch · 2020 [cited by examiner]
US 20200252221A1 · Zamani · 2020 [cited by applicant]
US 20200304518A1 · Thekadath · 2020 [cited by examiner]
US 20210073795A1 · Ruiz · 2021 [cited by examiner]
US 20210160053A1 · Yang · 2021 [cited by applicant]
US 20220046028A1 · Paavolainen · 2022 [cited by applicant]
US 20230144486A1 · Bono · 2023 [cited by examiner]
CN 109074566X · 2018 [cited by applicant]
TW 201807633A · 2018 [cited by applicant]
TW I646480B · 2019 [cited by applicant]
WO 2018208106A1 · 2018 [cited by applicant]
WO 2018224954A1 · 2018 [cited by applicant]
Examination Opinion, UK Application No. GB1902090.8, Jul. 31, 2019. [cited by applicant]
Son Nguyen, A view of Plasma Cash for Ethereum, FINC Tech Blog—Meduim, Sep. 14, 2018, pp. 1-13, URL: https://medium.com;finc-engineering/a-view-of-plasma-cash-for-ethereum-b608b934ec67. [cited by applicant]
Satoshi Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System, Oct. 31, 2008, pp. 1-9, URL: https://bitcoin.org/bitcoin.pdf. [cited by applicant]
Pedro Franco: Understanding Bitcoin: Cryptography, Engineering and Economics, In: “Understanding Bitcoin: Cryptography, Engineering and Economics”, Nov. 24, 2014 (Nov. 24, 2014), Wiley, XP055580078, ISBN: 978-1-119-0191… [cited by applicant]
Andreas M. Antonopoulos, Mastering Bitcoin—Unlocking Digital Cryptocurrencies, In: Mastering bitcoin : [unlocking digital cryptocurrencies], Dec. 20, 2014 (Dec. 20, 2014), O'Reilly Media, Beijing Cambridge Farnham Koln … [cited by applicant]
Mike Hearn, FAQ on the payment protocol, Sep. 24, 2013 (Sep. 24, 2013), XP055687996, URL:https://bitcointalk.org/index.php?topi c=300809.0, p. 1-p. 4. [cited by applicant]
Buterin, Vitalik, “Merkling in Ethereum”, Ethereum Foundation Blog, Nov. 15, 2015, URL: https://blog.ethereum.org/2015/11/15/merkling-in-ethereum. [cited by applicant]
Buterin, Vitalik, “Chain Interoperability” R3 Reports, Sep. 9, 2016, pp. 4-6 https://www.r3.com/wp-content/uploads/2018/04/Chain_Interoperability_R3.pdf. [cited by applicant]
Luu L et al., SCP: A Computationally-Scalable Byzantine Consensus Protocol For Blockchains. IACR Cryptology ePrint Archieve, Dec. 4, 2015, pp. 1-1611. Problem & Challenges, B. Scoin: A Scalable Cryptocurrency Citation i… [cited by applicant]
Ding, Donghui et al., InterChain: A Framework to Support Blockchain Interoperability. Dec. 31, 2018 2. Overview of Interchain, 3. Workflow, 3.1 Workflow for Asset Transfer, Second Asia-Pacific Work, URL: https://confere… [cited by applicant]
Ganne, Emmanuelle, Can Blockchain revolutionanize international trade? Blockchain & Money, Sep. 20, 2018, Whole document especially pp. 8-12, 20, World Trade Organization, Geneva, Swizterland URL: https://ocw.mit.edu/co… [cited by applicant]
Antonopoulos, Andreas M., “Bitcoin and blockchain, Technology supporting cryptocurrencies”, Jul. 21, 2016, NTT Publishing Co., Ltd., pp. 147-182. [cited by applicant]
Dai, W. et al., SBLWT: A Secure Blockchain Lightweight Wallet Based on Trustzone, IEEE Access, [online], Aug. 15, 2018, vol. 6, pp. 40638-40648, URL: https://ieeexplore.ieee.org/document/8412192. [cited by applicant]
Sakakibara, Y. et al., “A Hardware-Based Caching System on FPGA NIC for Blockchain”, IEICE Transactions on Information and Systems, Feb. 2, 2018, vol. E101-D No. 5, pp. 1350-1360. [cited by applicant]
Shi, F., Qin, Z. and Mccann, J. A., “OPPay: Design and Implementation of a Payment System for Opportunistic Data Services”, 2017 IEEE 37th International Conference on Distributed Computing Systems, Jun. 2017, pp. 1618-1… [cited by applicant]