IP Library Granted Patent US 11,615,055
Granted Patent B2
US 11,615,055 · App. 17/537,189 · Granted Mar 28, 2023

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

Inventors: Qinfan Wu (San Bruno, CA); Benjamin D Maurer (Menlo Park, CA); Eliyahu Pozniansky (Campbell, CA)
Assignee: Meta Platforms, 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,615,055
App. No.
17/537,189
Filed
Nov 29, 2021
Granted
Mar 28, 2023
Kind
B2
Examiner
VY, HUNG T
Art Unit
2163
USPC
707/826
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 (40)

1. A method comprising:

committing an authenticated state data structure of a distributed digital ledger transaction network to memory, wherein the authenticated state data structure comprises a state tree having nodes corresponding to a plurality of user accounts of the distributed digital ledger transaction network;

identifying a first transaction block comprising a first transaction associated with one or more user accounts of the plurality of user accounts;

generating a scratch pad data structure comprising a first state data component reflecting one or more modifications to the authenticated state data structure based on the first transaction block; and

upon obtaining an indication of consensus via the distributed digital ledger transaction network, committing a modified state data structure to memory based on the first state data component.

2. The method of claim 1 , further comprising, based on committing the modified state data structure to memory, removing the first state data component from the scratch pad data structure.

3. The method of claim 1 , wherein generating the scratch pad data structure comprising the first state data component reflecting the one or more modifications to the authenticated state data structure based on the first transaction block comprises generating the scratch pad data structure comprising a first state tree component having a first set of nodes corresponding to one or more user accounts modified by execution of the first transaction.

4. The method of claim 3 , wherein the first transaction block comprises a second transaction and further comprising generating, within the scratch pad data structure, a second state tree component having a second set of nodes that correspond to at least one user account modified by execution of the second transaction and point to at least one node from the first state tree component that remains unchanged from the second transaction.

5. The method of claim 4 , wherein committing the modified state data structure to memory based on the first state data component comprises committing the modified state data structure to memory using the first state tree component and the second state tree component of the scratch pad data structure.

6. The method of claim 1 , further comprising:

identifying a second transaction block and a third transaction block that correspond to alternative branches of execution after committing the modified state data structure to memory;

generating, within the scratch pad data structure, a second state data component reflecting at least one modification to the modified state data structure based on the second transaction block; and

generating, within the scratch pad data structure, a third state data component reflecting at least one modification to the modified state data structure based on the third transaction block.

7. The method of claim 6 , further comprising, upon obtaining an additional indication of consensus for the second transaction block via the distributed digital ledger transaction network, committing an additional modified state data structure to memory based on the second state data component.

8. The method of claim 7 , further comprising, upon determining that the third transaction block has failed to achieve consensus via the distributed digital ledger transaction network, removing the third state data component from the scratch pad data structure without committing the third transaction block to memory.

9. The method of claim 6 , wherein the second transaction block and the third transaction block each include a transaction associated with a same user account from the plurality of user accounts.

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

commit an authenticated state data structure of a distributed digital ledger transaction network to memory, wherein the authenticated state data structure comprises a state tree having nodes corresponding to a plurality of user accounts of the distributed digital ledger transaction network;

identify a first transaction block comprising a first transaction associated with one or more user accounts of the plurality of user accounts;

generate a scratch pad data structure comprising a first state data component reflecting one or more modifications to the authenticated state data structure based on the first transaction block; and

upon obtaining an indication of consensus via the distributed digital ledger transaction network, commit a modified state data structure to memory based on the first state data component.

11. The non-transitory computer-readable medium of claim 10 , further comprising instructions that, when execute by the at least one processor, cause the computing device to, based on committing the modified state data structure to memory, remove the first state data component from the scratch pad data structure.

12. The non-transitory computer-readable medium of claim 10 , wherein the instructions, when executed by the at least one processor, cause the computing device to generate the scratch pad data structure comprising the first state data component reflecting the one or more modifications to the authenticated state data structure based on the first transaction block by generating the scratch pad data structure comprising a first state tree component having a first set of nodes corresponding to one or more user accounts modified by execution of the first transaction.

13. The non-transitory computer-readable medium of claim 12 , wherein the first transaction block comprises a second transaction and further comprising instructions that, when executed by the at least one processor, cause the computing device to generate, within the scratch pad data structure, a second state tree component having a second set of nodes that correspond to at least one user account modified by execution of the second transaction and point to at least one node from the first state tree component that remains unchanged from the second transaction.

14. The non-transitory computer-readable medium of claim 13 , wherein the instructions, when executed by the at least one processor, cause the computing device to commit the modified state data structure to memory based on the first state data component comprises committing the modified state data structure to memory using the first state tree component and the second state tree component of the scratch pad data structure.

15. 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:

identify a second transaction block and a third transaction block that correspond to alternative branches of execution after committing the modified state data structure to memory;

generate, within the scratch pad data structure, a second state data component reflecting at least one modification to the modified state data structure based on the second transaction block; and

generate, within the scratch pad data structure, a third state data component reflecting at least one modification to the modified state data structure based on the third transaction block.

16. The non-transitory computer-readable medium of claim 15 , further comprising instructions that, when executed by the at least one processor, cause the computing device to, upon obtaining an additional indication of consensus for the second transaction block via the distributed digital ledger transaction network, commit an additional modified state data structure to memory based on the second state data component.

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:

commit an authenticated state data structure of a distributed digital ledger transaction network to memory, wherein the authenticated state data structure comprises a state tree having nodes corresponding to a plurality of user accounts of the distributed digital ledger transaction network;

identify a first transaction block comprising a first transaction associated with one or more user accounts of the plurality of user accounts;

generate a scratch pad data structure comprising a first state data component reflecting one or more modifications to the authenticated state data structure based on the first transaction block; and

upon obtaining an indication of consensus via the distributed digital ledger transaction network, commit a modified state data structure to memory based on the first state data component.

18. The system of claim 17 , further comprising instructions that, when execute by the at least one processor, cause the system to, based on committing the modified state data structure to memory, remove the first state data component from the scratch pad data structure.

19. The system of claim 17 , wherein the instructions, when executed by the at least one processor, cause the system to generate the scratch pad data structure comprising the first state data component reflecting the one or more modifications to the authenticated state data structure based on the first transaction block by generating the scratch pad data structure comprising a first state tree component having a first set of nodes corresponding to one or more user accounts modified by execution of the first transaction.

20. The system of claim 19 , wherein the first transaction block comprises a second transaction and further comprising instructions that, when executed by the at least one processor, cause the system to generate, within the scratch pad data structure, a second state tree component having a second set of nodes that correspond to at least one user account modified by execution of the second transaction and point to at least one node from the first state tree component that remains unchanged from the second transaction.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2022
From: WU, QINFAN; MAURER, BENJAMIN D; POZNIANSKY, ELIYAHU
To: META PLATFORMS, INC.
Reel/Frame 059753/0171 →
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058961/0436 →
Continuity (3)
Continuation 17242891 · Apr 28, 2021
Continuation 16442475 · Jun 15, 2019
Related Publication 20220083512A1 · Mar 17, 2022