IP Library Granted Patent US 12,267,443
Granted Patent B2
US 12,267,443 · App. 17/766,713 · Granted Apr 1, 2025

Methods and devices for secure symbiotic mining

Inventors: Jack Davies (London, GB); Wei Zhang (London, GB); Craig Steven Wright (London, GB)
Assignee: nChain Licensing AG
H04L9/50H04L9/3236
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,267,443
App. No.
17/766,713
Granted
Apr 1, 2025
Kind
B2
Abstract

Methods and devices to enable the splitting of storage and validation functions from mining function in a blockchain network. The storage and validation nodes create candidate blocks and collect block rewards from successfully mined blocks. The mining nodes provide hash power for mining the candidate blocks and received resources from the storage and validation node for successful mining of a candidate block. Atomic exchange mechanisms are described for preventing loss and fraud and minimizing the use of bandwidth by mining nodes.

Claims (45)

1. A computer-implemented method of mining in a blockchain network, the blockchain network including a non-mining node and a plurality of mining nodes, the method comprising:

generating, by the non-mining node, a candidate block containing a plurality of transactions including a source transaction that includes a first output associated with the non-mining node and a miner transaction that includes the first output of the source transaction as an input and includes a second output associated with a first mining node;

determining a payload summary of the candidate block;

sending, to the first mining node, the payload summary, the miner transaction, and a first summary path for the miner transaction;

receiving, from the first mining node, a proof-of-work solution for the candidate block; and

propagating the candidate block on the blockchain network,

wherein the source transaction and the mining transaction are not propagated on the blockchain network and are not contained in a mempool prior to receipt of the proof-of-work solution for the candidate block.

2. The method claimed in claim 1 , wherein sending excludes sending the source transaction to the first mining node.

3. The method claimed in claim 1 , wherein sending includes sending a candidate block header for the candidate block, the candidate block header containing the payload summary.

4. The method claimed in claim 1 , wherein sending includes sending, to the first mining node, a hash of the source transaction and a second summary path for the source transaction.

5. The method claimed in claim 1 , wherein the plurality of transactions in the candidate block further includes a generation transaction that includes a coinbase output associated with the non-mining node.

6. The method claimed in claim 1 , further including, at the first mining node, validating that the miner transaction is included in the candidate block based on the payload summary and the first summary path.

7. The method claimed in claim 6 , wherein sending includes sending, to the first mining node, a hash of the source transaction and a second summary path for the source transaction, and wherein validating includes validating that the source transaction is included in the candidate block based on the payload and the second summary path.

8. The method claimed in claim 1 , wherein the payload summary includes a Merkle root, the first summary path includes a first Merkle path, and the first Merkle path includes a minimum set of hashes for reconstructing the Merkle root from the miner transaction.

9. The method claimed in claim 1 , further comprising:

generating, by the non-mining node, a second candidate block containing a second plurality of transactions including the source transaction and a second miner transaction that includes the first output of the source transaction as an input and includes a further output associated with a second mining node different from the first mining node.

10. A computer-implemented method of mining in a blockchain network, the blockchain network including a non-mining node and a mining node, the method comprising:

receiving, at the mining node from the non-mining node, a candidate block header for a candidate block, a payload summary for the candidate block, a miner transaction, and a first summary path for the miner transaction;

validating that the miner transaction is included in the candidate block based on the payload summary and the first summary path;

repeatedly mining the candidate block header with successive nonce values inserted in the candidate block header until a proof-of-work is found; and

sending, to the non-mining node, at least the nonce value corresponding to the proof-of-work.

11. The computer-implemented method of claim 10 , wherein receiving further includes receiving a hash of a source transaction and a second summary path for the source transaction, and the method further comprises validating that the source transaction is included in the candidate block based on the hash of the source transaction and the second summary path.

12. The computer-implemented method of claim 10 , wherein the payload summary includes a Merkle root, the first summary path includes a first Merkle path, and the first Merkle path includes a minimum set of hashes for reconstructing the Merkle root from the miner transaction.

13. A computing device to implement a storage and validation node within a blockchain network, the blockchain network including a plurality of mining nodes, the computing device including:

one or more processors;

memory storing blockchain data; and

computer-executable instructions stored in the memory that, when executed by the one or more processors, cause the one or more processors to:

generate a candidate block containing a plurality of transactions including a source transaction that includes a first output associated with the storage and validation node and a miner transaction that includes the first output of the source transaction as an input and includes a second output associated with a first mining node;

determine a payload summary of the candidate block;

send, to the first mining node, the payload summary, the miner transaction, and a first summary path for the miner transaction;

receive, from the first mining node, a proof-of-work solution for the candidate block; and

propagate the candidate block on the blockchain network,

wherein the source transaction and the mining transaction are not propagated on the blockchain network and are not contained in a mempool prior to receipt of the proof-of-work solution for the candidate block.

14. A non-transitory computer-readable medium storing processor-executable instructions for implementing a storage and validation node within a blockchain network, the blockchain network including a plurality of mining nodes, the processor-executable instructions including instructions that, when executed by one or more processors, cause the one or more processors to:

generate a candidate block containing a plurality of transactions including a source transaction that includes a first output associated with the storage and validation node and a miner transaction that includes the first output of the source transaction as an input and includes a second output associated with a first mining node;

determine a payload summary of the candidate block;

send, to the first mining node, the payload summary, the miner transaction, and a first summary path for the miner transaction;

receive, from the first mining node, a proof-of-work solution for the candidate block; and

propagate the candidate block on the blockchain network,

wherein the source transaction and the mining transaction are not propagated on the blockchain network and are not contained in a mempool prior to receipt of the proof-of-work solution for the candidate block.

15. The computing device of claim 13 , wherein the instructions, when executed, are to cause the one or more processors to send the payload summary while excluding sending the source transaction to the first mining node.

16. The computing device of claim 13 , wherein the instructions, when executed, are to cause the one or more processors to send by sending a candidate block header for the candidate block, the candidate block header containing the payload summary.

17. The computing device of claim 13 , wherein the instructions, when executed, are to cause the one or more processors to validate that the miner transaction is included in the candidate block based on the payload summary and the first summary path.

18. The computing device of claim 17 , wherein the instructions, when executed, are to cause the one or more processors to send by sending, to the first mining node, a hash of the source transaction and a second summary path for the source transaction, and to validate by validating that the source transaction is included in the candidate block based on the payload and the second summary path.

19. The computing device of claim 13 , wherein the instructions, when executed, are to cause the one or more processors to generate, by a non-mining node of the blockchain network, a second candidate block containing a second plurality of transactions including the source transaction and a second miner transaction that includes the first output of the source transaction as an input and includes a further output associated with a second mining node different from the first mining node.

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 Apr 5, 2022
From: DAVIES, JACK; ZHANG, WEI; WRIGHT, CRAIG STEVEN
To: NCHAIN HOLDINGS LIMITED
Reel/Frame 059509/0071 →
Priority Claims (1)
GB 1914572 · Oct 9, 2019 · national
Continuity (1)
Related Publication 20230344658A1 · Oct 26, 2023
References Cited (18)
US 20160330031A1 · Drego et al. · 2016 [cited by applicant]
US 20170249606A1 · Pirooz · 2017 [cited by applicant]
US 20180109541A1 · Gleichauf · 2018 [cited by applicant]
US 20190079950A1 · Ramabaja · 2019 [cited by examiner]
US 20190268142A1 · Lecker et al. · 2019 [cited by applicant]
US 20190296915A1 · Lancashire · 2019 [cited by applicant]
US 20190303363A1 · Leung et al. · 2019 [cited by applicant]
US 20200012731A1 · Deshpande · 2020 [cited by examiner]
US 20200076575A1 · Irazabal · 2020 [cited by examiner]
US 20210067321A1 · Lu · 2021 [cited by examiner]
WO 2018215949A1 · 2018 [cited by applicant]
WO 2018229633 · 2018 [cited by applicant]
WO 2019021107 · 2019 [cited by applicant]
Lee, Suhyeon, and Seungjoo Kim. “Pooled mining makes selfish mining tricky.” Cryptology ePrint Archive (2018). (Year: 2018). [cited by examiner]
GB1914572.1 Combined Search and Examination Report dated Apr. 14, 2020. [cited by applicant]
PCT/IB2020/059462 International Search Report and Written Opinion dated Dec. 7, 2020. [cited by applicant]
Suhyeon Lee et al, Pooled Mining Makes Selfish Mining Tricky, IACR, International Association for Cryptologic Research, vol. 20181230:125843 Dec. 22, 2018 (Dec. 22, 2018), pp. 1-16, Retrieved from the Internet: URL:http… [cited by applicant]
Antonopoulos, A.M., “Bitcoin and blockchain, Technology supporting cryptocurrencies”, Jul. 21, 2016, NTT Publishing Co., Ltd., 75 Pages. [cited by applicant]