IP Library Granted Patent US 11,374,769
Granted Patent B2
US 11,374,769 · App. 16/933,416 · Granted Jun 28, 2022

Efficient and secure distributed ledger maintenance

Inventors: Radia J. Perlman (Redmond, WA); Charles Kaufman (Redmond, WA)
Assignee: EMC IP Holding Company LLC
H04L9/3247G06F16/23G06F16/27H04L9/0637
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 11,374,769
App. No.
16/933,416
Granted
Jun 28, 2022
Kind
B2
Abstract

An apparatus in one embodiment includes at least one processing device comprising a processor coupled to a memory. The processing device is configured to implement a first ledger maintenance node. The first ledger maintenance node is configured to communicate over one or more networks with a plurality of additional ledger maintenance nodes, to identify a block for proposed addition to a distributed ledger collectively maintained by the first and additional ledger maintenance nodes, to apply a digital signature of the first ledger maintenance node to the block, and to receive digital signatures on the block from at least a subset of the additional ledger maintenance nodes. Responsive to receipt of sufficient digital signatures from respective ones of the additional ledger maintenance nodes to meet a specified quorum of digital signatures required for addition of the block to the distributed ledger, the first ledger maintenance node adds the block to the distributed ledger.

Claims (62)

1. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

wherein the processing device is configured to implement a first ledger maintenance node;

the first ledger maintenance node being configured:

to communicate over one or more networks with a plurality of additional ledger maintenance nodes;

to identify a block for proposed addition to a distributed ledger collectively maintained by the first and additional ledger maintenance nodes;

to apply a digital signature of the first ledger maintenance node to the block;

to receive digital signatures on the block from at least a subset of the additional ledger maintenance nodes;

to perform verification operations for respective ones of the received digital signatures on the block; and

to control whether or not the block is added to the distributed ledger based at least in part on results of the verification operations;

wherein responsive to a block proposed by the first ledger maintenance node receiving a specified quorum of digital signatures and at least one other block proposed by another one of the ledger maintenance nodes also receiving the specified quorum of digital signatures, executing a tie-breaking algorithm to select a particular one of the proposed blocks to add to the distributed ledger; and

wherein the tie-breaking algorithm comprises:

generating hashes of respective ones of the proposed blocks; and

selecting a particular one of the proposed blocks to add to the distributed ledger based at least in part on the hashes.

2. The apparatus of claim 1 wherein identifying the block for proposed addition to the distributed ledger comprises one of:

generating the block for proposed addition in the first ledger maintenance node; and

identifying the block for proposed addition from one or more blocks proposed for addition by respective ones of the additional ledger maintenance nodes.

3. The apparatus of claim 2 wherein generating the block for proposed addition in the first ledger maintenance node comprises:

accumulating a set of one or more transactions in the first ledger maintenance node; and

generating the block based at least in part on the accumulated set.

4. The apparatus of claim 3 wherein generating the block comprises timestamping the block prior to applying the digital signature of the first ledger maintenance node to the block.

5. The apparatus of claim 1 wherein identifying the block for proposed addition to the distributed ledger comprises abandoning a previously-proposed block generated in the first ledger maintenance node in favor of another block proposed for addition by one of the additional ledger maintenance nodes.

6. The apparatus of claim 1 wherein the distributed ledger is collectively maintained by the first and additional ledger maintenance nodes on a peer-to-peer basis without utilizing a centralized authority and wherein each of the first and additional ledger maintenance nodes adds the same proposed block to the distributed ledger in each of a plurality of rounds of a consensus protocol that requires a specified quorum of digital signatures for addition of the block to the distributed ledger.

7. The apparatus of claim 1 wherein applying a digital signature of the first ledger maintenance node to the block comprises signing the block using a private key of a public-private key pair of the first ledger maintenance node.

8. The apparatus of claim 1 wherein digital signatures from respective ones of the additional ledger maintenance nodes are generated using respective private keys of public-private key pairs of those additional ledger maintenance nodes.

9. The apparatus of claim 1 wherein there are N ledger maintenance nodes and addition of the block to the distributed ledger requires a specified quorum of digital signatures including digital signatures of at least K of the N ledger maintenance nodes including the first ledger maintenance node, where K<N.

10. The apparatus of claim 9 wherein K >N/2.

11. The apparatus of claim 1 wherein the distributed ledger is periodically truncated by deleting one or more blocks from the distributed ledger that were added to the distributed ledger prior to a designated point in time.

12. The apparatus of claim 1 wherein an integrity proof for a given block of the distributed ledger is generated by:

verifying that a quorum of digital signatures exists for the given block; and

verifying that each of the digital signatures in the quorum is correct.

13. The apparatus of claim 1 wherein an integrity proof for a given block of the distributed ledger is generated by:

checking that correct hashes based at least in part on the given block are included in respective ones of a plurality of subsequent blocks; and

verifying that a quorum of digital signatures exists for a final one of the subsequent blocks.

14. The apparatus of claim 1 wherein the first ledger maintenance node, at least at a time at which that node proposes its block, is currently designated as a leader of the ledger maintenance nodes based at least in part on a leader election previously carried out by the first and additional ledger maintenance nodes and further wherein only a ledger maintenance node that holds the leader designation is permitted to propose blocks for addition to the distributed ledger.

15. A method comprising:

configuring a first ledger maintenance node to communicate over one or more networks with a plurality of additional ledger maintenance nodes;

identifying a block for proposed addition to a distributed ledger collectively maintained by the first and additional ledger maintenance nodes;

applying a digital signature of the first ledger maintenance node to the block;

receiving digital signatures on the block from at least a subset of the additional ledger maintenance nodes;

performing verification operations for respective ones of the received digital signatures on the block; and

controlling whether or not the block is added to the distributed ledger based at least in part on results of the verification operations;

wherein responsive to a block proposed by the first ledger maintenance node receiving a specified quorum of digital signatures and at least one other block proposed by another one of the ledger maintenance nodes also receiving the specified quorum of digital signatures, executing a tie-breaking algorithm to select a particular one of the proposed blocks to add to the distributed ledger; and

wherein the tie-breaking algorithm comprises:

generating hashes of respective ones of the proposed blocks; and

selecting a particular one of the proposed blocks to add to the distributed ledger based at least in part on the hashes;

the method being performed by at least one processing device comprising a processor coupled to a memory.

16. The method of claim 15 wherein selecting a particular one of the proposed blocks to add to the distributed ledger based at least in part on the hashes comprises selecting a proposed block having a smaller hash relative to other hashes generated for the proposed blocks.

17. The method of claim 15 wherein the first ledger maintenance node, at least at a time at which that node proposes its block, is currently designated as a leader of the ledger maintenance nodes based at least in part on a leader election previously carried out by the first and additional ledger maintenance nodes and further wherein only a ledger maintenance node that holds the leader designation is permitted to propose blocks for addition to the distributed ledger.

18. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device comprising a processor coupled to a memory causes the processing device:

to configure a first ledger maintenance node to communicate over one or more networks with a plurality of additional ledger maintenance nodes;

to identify a block for proposed addition to a distributed ledger collectively maintained by the first and additional ledger maintenance nodes;

to apply a digital signature of the first ledger maintenance node to the block;

to receive digital signatures on the block from at least a subset of the additional ledger maintenance nodes;

to perform verification operations for respective ones of the received digital signatures on the block; and

to control whether or not the block is added to the distributed ledger based at least in part on results of the verification operations;

wherein responsive to a block proposed by the first ledger maintenance node receiving a specified quorum of digital signatures and at least one other block proposed by another one of the ledger maintenance nodes also receiving the specified quorum of digital signatures, executing a tie-breaking algorithm to select a particular one of the proposed blocks to add to the distributed ledger; and

wherein the tie-breaking algorithm comprises:

generating hashes of respective ones of the proposed blocks; and

selecting a particular one of the proposed blocks to add to the distributed ledger based at least in part on the hashes.

19. The computer program product of claim 18 wherein selecting a particular one of the proposed blocks to add to the distributed ledger based at least in part on the hashes comprises selecting a proposed block having a smaller hash relative to other hashes generated for the proposed blocks.

20. The computer program product of claim 18 wherein the first ledger maintenance node, at least at a time at which that node proposes its block, is currently designated as a leader of the ledger maintenance nodes based at least in part on a leader election previously carried out by the first and additional ledger maintenance nodes and further wherein only a ledger maintenance node that holds the leader designation is permitted to propose blocks for addition to the distributed ledger.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2020
From: PERLMAN, RADIA J.; KAUFMAN, CHARLES
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053254/0672 →