IP Library Patent Application 16442474
Patent Application
App. No. 16/442,474

SCALABLE, SECURE, EFFICIENT, AND ADAPTABLE DISTRIBUTED DIGITAL LEDGER TRANSACTION NETWORK

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 None
App. No.
16/442,474
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 (62)

1 . A method comprising:

generating a state data structure of a distributed digital ledger transaction network, wherein the state data structure comprises account data corresponding to a user account, a transaction event counter corresponding to the user account, and an address of the user account within the state data structure;

in response to execution of a transaction comprising an event corresponding to the user account of the distributed digital ledger transaction network:

modifying a count value of the transaction event counter of the user account within the state data structure; and

generating a transaction event within an event data structure, the transaction event within the event data structure reflecting the address, the count value of the transaction event counter of the user account, and details of the event.

2 . The method of claim 1 , wherein the state data structure comprises an additional transaction event counter corresponding to the user account, the transaction event counter corresponds to a first transaction event type, and the additional transaction event counter corresponds to a second transaction event type.

3 . The method of claim 2 , wherein modifying the count value of the transaction event counter of the user account comprises:

determining that the transaction event corresponds to the first transaction event type; and

modifying the count value of the transaction event counter based on determining that the transaction event corresponds to the first transaction event type.

4 . The method of claim 2 , wherein the transaction comprises an additional event of the second transaction event type and further comprising:

modifying an additional count value of the additional transaction event counter of the user account within the state data structure; and

generating an additional transaction event within the event data structure, the additional transaction event within the event data structure reflecting the address, the additional count value of the additional transaction event counter of the user account, and details of the additional event.

5 . The method of claim 1 , wherein the event data structure comprises an event tree reflecting transaction events generated in response to the execution of the transaction.

6 . The method of claim 5 , further comprising:

determining a root value of the event tree reflecting the transaction events corresponding to the transaction; and

storing the root value of the event tree in a transaction tree of the distributed digital ledger transaction network.

7 . The method of claim 1 , further comprising:

receiving an event count request from a client device, the event count request comprising a reference to the transaction event counter; and

in response to receiving the event count request from the client device, providing the modified count value of the transaction event counter from the state data structure to the client device.

8 . The method of claim 7 , wherein the reference to the transaction event counter comprises an access path that reflects both the address and the transaction event counter.

9 . The method of claim 1 , further comprising:

receiving a transaction event detail request from a client device, the transaction event detail request comprising the count value of the transaction event counter and an access path comprising the address and the transaction event counter; and

in response to receiving the transaction event detail request, providing details of the event from the event data structure to the client device together with a Merkle proof corresponding to the transaction event.

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

generate a state data structure of a distributed digital ledger transaction network, wherein the state data structure comprises account data corresponding to a user account, a transaction event counter corresponding to the user account, and an address of the user account within the state data structure;

in response to execution of a transaction comprising an event corresponding to the user account of the distributed digital ledger transaction network:

modify a count value of the transaction event counter of the user account within the state data structure; and

generate a transaction event within an event data structure, the transaction event within the event data structure reflecting the address, the count value of the transaction event counter of the user account, and details of the event.

11 . The non-transitory computer-readable medium of claim 10 , wherein the state data structure comprises an additional transaction event counter corresponding to the user account, the transaction event counter corresponds to a first transaction event type, and the additional transaction event counter corresponds to a second transaction event type.

12 . The non-transitory computer-readable medium of claim 11 , wherein the instructions, when executed by the at least one processor, cause the computing device to modify the count value of the transaction event counter of the user account by:

determining that the transaction event corresponds to the first transaction event type; and

modifying the count value of the transaction event counter based on determining that the transaction event corresponds to the first transaction event type.

13 . The non-transitory computer-readable medium of claim 11 , wherein the transaction comprises an additional event of the second transaction event type and further comprising instructions that, when executed by the at least one processor, cause the computing device to:

modify an additional count value of the additional transaction event counter of the user account within the state data structure; and

generate an additional transaction event within the event data structure, the additional transaction event within the event data structure reflecting the address, the additional count value of the additional transaction event counter of the user account, and details of the additional event.

14 . The non-transitory computer-readable medium of claim 10 , wherein the event data structure comprises an event tree reflecting transaction events generated in response to the execution of the transaction and further comprising instructions that, when executed by the at least one processor, cause the computing device to:

determine a root value of the event tree reflecting the transaction events corresponding to the transaction; and

store the root value of the event tree in a transaction tree of the distributed digital ledger transaction network.

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:

receive an event count request from a client device, the event count request comprising a reference to the transaction event counter; and

in response to receiving the event count request from the client device, provide the modified count value of the transaction event counter from the state data structure to the client device.

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:

receive a transaction event detail request from a client device, the transaction event detail request comprising the count value of the transaction event counter and an access path comprising the address and the transaction event counter; and

in response to receiving the transaction event detail request, provide details of the event from the event data structure to the client device together with a Merkle proof corresponding to the transaction event.

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:

generate a state data structure of a distributed digital ledger transaction network, wherein the state data structure comprises account data corresponding to a user account, a transaction event counter corresponding to the user account, and an address of the user account within the state data structure;

in response to execution of a transaction comprising an event corresponding to the user account of the distributed digital ledger transaction network:

modify a count value of the transaction event counter of the user account within the state data structure; and

generate a transaction event within an event data structure, the transaction event within the event data structure reflecting the address, the count value of the transaction event counter of the user account, and details of the event.

18 . The system of claim 17 ,

wherein the state data structure comprises an additional transaction event counter corresponding to the user account, the transaction event counter corresponds to a first transaction event type, and the additional transaction event counter corresponds to a second transaction event type; and

wherein the instructions, when executed by the at least one processor, cause the system to modify the count value of the transaction event counter of the user account by:

determining that the transaction event corresponds to the first transaction event type; and

modifying the count value of the transaction event counter based on determining that the transaction event corresponds to the first transaction event type.

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

receive an event count request from a client device, the event count request comprising a reference to the transaction event counter; and

in response to receiving the event count request from the client device, provide the modified count value of the transaction event counter from the state data structure to the client device.

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

receive a transaction event detail request from a client device, the transaction event detail request comprising the count value of the transaction event counter and an access path comprising the address and the transaction event counter; and

in response to receiving the transaction event detail request, provide details of the event from the event data structure to the client device together with a Merkle proof corresponding to the transaction event.

Assignments (2)
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: MAURER, BENJAMIN D.; BLACKSHEAR, SAMUEL HOWARD
To: FACEBOOK, INC.
Reel/Frame 049583/0431 →