IP Library Granted Patent US 11,126,593
Granted Patent B2
US 11,126,593 · App. 16/442,475 · Granted Sep 21, 2021

Scalable, secure, efficient, and adaptable distributed digital ledger transaction network

Inventors: Kevin Patrick Hurley (Sunnyvale, CA); Benjamin D. Maurer (San Francisco, CA); Samuel Howard Blackshear (Palo Alto, CA)
Assignee: FACEBOOK, INC.
G06F16/1734G06F16/182G06F16/185G06F16/1865G06Q20/0658H04L9/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,126,593
App. No.
16/442,475
Granted
Sep 21, 2021
Kind
B2
Abstract

The present disclosure relates to systems, methods, and non-transitory computer readable storage media for implementing a scalable, secure, efficient, and adaptable distributed digital ledger transaction network. Indeed, the disclosed systems can reduce storage and processing requirements, improve security of implementing computing devices and underlying digital assets, accommodate a wide variety of different digital programs (or “smart contracts”), and scale to accommodate billions of users and associated digital transactions. For example, the disclosed systems can utilize a host of features that improve storage, account/address management, digital transaction execution, consensus, and synchronization processes. The disclosed systems can also utilize a new programming language that improves efficiency and security of the distributed digital ledger transaction network.

Claims (61)

1. A method comprising:

monitoring a transaction event counter corresponding to a user account of a state data structure stored at a computer node of a distributed digital ledger transaction network;

based on monitoring the transaction event counter, determining a count value of the transaction event counter;

transmitting a transaction event detail request for transaction event data from an event data structure stored at one or more computer nodes of the distributed digital ledger transaction network, the transaction event detail request comprising the count value of the transaction event counter and an access path of the transaction event counter corresponding to the user account within the state data structure; and

in response to transmitting the transaction event detail request, receiving, via the one or more computer nodes, transaction event data corresponding to the count value determined from the transaction event counter.

2. The method of claim 1 ,

determining that a new transaction event has occurred based on the count value of the transaction event counter; and

providing, to a client device associated with the user account, a notification of the new transaction event.

3. The method of claim 1 ,

wherein determining the count value of the transaction event counter comprises determining the count value of the transaction event counter at a first time; and

further comprising, based on monitoring the transaction event counter, determining an additional count value of the transaction event counter at a second time.

4. The method of claim 3 , further comprising verifying an absence of events corresponding to the user account between the first time and the second time by determining that the count value of the transaction event counter at the first time and the additional count value of the transaction event counter at the second time are the same count value.

5. The method of claim 3 , further comprising, based on comparing the count value of the transaction event counter at the first time and the additional count value of the transaction event counter at the second time, determining a sequence of count values indicating that a sequence of events corresponding to the user account have occurred via the distributed digital ledger transaction network.

6. The method of claim 5 , wherein:

transmitting the transaction event detail request comprises transmitting a transaction event sequence request for the sequence of events; and

receiving the transaction event data comprises receiving a set of transaction event data corresponding to a plurality of events.

7. The method of claim 6 , further comprising, comparing the set of transaction event data corresponding to the plurality of events with the sequence of count values to determine:

that the plurality of events are a complete set of the sequence of events; or

that the plurality of events are an incomplete set of the sequence of events.

8. The method of claim 1 , wherein:

the event data structure comprises an event Merkle tree and the state data structure comprises a state Merkle tree; and

receiving the transaction event data comprises receiving, from the computer node of the distributed digital ledger transaction network, a Merkle proof in response to transmitting the transaction event detail request.

9. The method of claim 1 , further comprising analyzing the transaction event data to determine satisfaction of the transaction event detail request.

10. A non-transitory computer-readable medium storing instructions thereon that, when executed by at least one processor, cause a computing device to:

monitor a transaction event counter corresponding to a user account of a state data structure stored at a computer node of a distributed digital ledger transaction network;

based on monitoring the transaction event counter, determine a count value of the transaction event counter;

transmit a transaction event detail request for transaction event data from an event data structure stored at one or more computer nodes of the distributed digital ledger transaction network, the transaction event detail request comprising the count value of the transaction event counter and an access path of the transaction event counter corresponding to the user account within the state data structure; and

in response to transmitting the transaction event detail request, receive, via the one or more computer nodes, transaction event data corresponding to the count value determined from the transaction event counter.

11. The non-transitory computer-readable medium of claim 10 , further comprising instructions that, when executed by the at least one processor, cause the computing device to:

determine that a new transaction event has occurred based on the count value of the transaction event counter; and

provide, to a client device associated with the user account, a notification of the new transaction event.

12. The non-transitory computer-readable medium of claim 10 , further comprising instruction that, when executed by the at least one processor, cause the computing device to:

monitor the transaction event counter by polling the transaction event counter at the computer node;

determine the count value of the transaction event counter by determining the count value of the transaction event counter at a first time; and

based on monitoring the transaction event counter, determine an additional count value of the transaction event counter at a second time.

13. The non-transitory computer-readable medium of claim 12 , further comprising instructions that, when executed by the at least one processor, cause the computing device to verify an absence of events corresponding to the user account between the first time and the second time by determining that the count value of the transaction event counter at the first time and the additional count value of the transaction event counter at the second time are the same count value.

14. The non-transitory computer-readable medium of claim 12 , further comprising instructions that, when executed by the at least one processor, cause the computing device to, based on comparing the count value of the transaction event counter at the first time and the additional count value of the transaction event counter at the second time, determine a sequence of count values indicating that a sequence of events corresponding to the user account have occurred via the distributed digital ledger transaction network.

15. The non-transitory computer-readable medium of claim 14 , further comprising instructions that, when executed by the at least one processor, cause the computing device to:

transmit the transaction event detail request by transmitting a transaction event sequence request for the sequence of events;

receive the transaction event data by receiving a set of transaction event data corresponding to a plurality of events; and

compare the set of transaction event data corresponding to the plurality of events with the sequence of count values to determine:

that the plurality of events are a complete set of the sequence of events; or

that the plurality of events are an incomplete set of the sequence of events.

16. The non-transitory computer-readable medium of claim 10 , further comprising instructions that, when executed by the at least one processor, cause the computing device to analyze the transaction event data to determine satisfaction of the transaction event detail request.

17. A system comprising:

at least one processor; and

at least one non-transitory computer-readable medium storing instructions thereon that, when executed by the at least one processor, cause the system to:

monitor a transaction event counter corresponding to a user account of a state data structure stored at a computer node of a distributed digital ledger transaction network;

based on monitoring the transaction event counter, determine a count value of the transaction event counter;

transmit a transaction event detail request for transaction event data from an event data structure stored at one or more computer nodes of the distributed digital ledger transaction network, the transaction event detail request comprising the count value of the transaction event counter and an access path of the transaction event counter corresponding to the user account within the state data structure; and

in response to transmitting the transaction event detail request, receive, via the one or more computer nodes, transaction event data corresponding to the count value determined from the transaction event counter.

18. The system of claim 17 , further comprising instructions that, when executed by the at least one processor, cause the system to:

determine that a new transaction event has occurred based on the count value of the transaction event counter; and

provide, to a client device associated with the user account, a notification of the new transaction event.

19. The system of claim 17 , further comprising instruction that, when executed by the at least one processor, cause the system to:

monitor the transaction event counter by polling the transaction event counter at the computer node;

determine the count value of the transaction event counter by determining the count value of the transaction event counter at a first time; and

based on monitoring the transaction event counter, determine an additional count value of the transaction event counter at a second time.

20. The system of claim 17 ,

wherein the event data structure comprises an event Merkle tree and the state data structure comprises a state Merkle tree; and

further comprising instructions that, when executed by the at least one processor, cause the system to receive the transaction event data by receiving, from the computer node of the distributed digital ledger transaction network, a Merkle proof in response to transmitting the transaction event detail request.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2025
From: CIRCLE INTERNET FINANCIAL, LLC
To: CIRCLE INTERNET GROUP, INC.
Reel/Frame 072774/0580 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2024
From: META PLATFORMS, INC.
To: CIRCLE INTERNET FINANCIAL, LLC
Reel/Frame 067654/0637 →
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058961/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2019
From: HURLEY, KEVIN PATRICK; MAURER, BENJAMIN D.; BLACKSHEAR, SAMUEL HOWARD
To: FACEBOOK, INC.
Reel/Frame 049583/0494 →
Cited By (1)
US 12,511,259