IP Library Granted Patent US 11,249,947
Granted Patent B2
US 11,249,947 · App. 16/442,470 · Granted Feb 15, 2022

Distributed digital ledger transaction network for flexible, lazy deletion of data stored within an authenticated data structure

Inventors: Samuel Howard Blackshear (Palo Alto, CA); Benjamin D. Maurer (San Francisco, CA); Timothy Andrew Kenneth Zakian (Redwood City, CA)
Assignee: Facebook, Inc.
G06F16/162G06F16/122G06F16/185G06F16/1824G06Q20/0658H04L9/0637H04L67/306
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,249,947
App. No.
16/442,470
Granted
Feb 15, 2022
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:

generating, at a computer node of a plurality of computer nodes of a distributed digital ledger transaction network, an authenticated data structure of the distributed digital ledger transaction network, wherein the authenticated data structure comprises a data tree comprising nodes having data representations mapped to entries in a database, and wherein the authenticated data structure corresponds to authenticated data structures maintained by other computer nodes of the plurality of computer nodes; and

performing lazy deletion of data from the authenticated data structure by:

accessing, at the computer node, a data representation from a node of the data tree to determine expiration of an eviction date associated with the node;

in response to determining expiration of the eviction date and prior to deleting one or more entries corresponding to the data representation from the database:

receiving, at the computer node, a request from a client device, the request requiring use of the one or more entries; and

processing the request as if the one or more entries have been deleted; and

asynchronously deleting, at the computer node, the one or more entries corresponding to the data representation from the database while maintaining the data representation within the data tree and while the one or more entries are maintained for at least one of the authenticated data structures maintained by the other computer nodes.

2. The method of claim 1 , further comprising deleting the one or more entries corresponding to the node from the database without a transaction event request on the distributed digital ledger transaction network for deleting the one or more entries.

3. The method of claim 1 , wherein processing the request as if the one or more entries have been deleted comprises transmitting, to the client device, an indication that the eviction date has expired.

4. The method of claim 1 , wherein the database comprises a state database, the one or more entries comprise account data corresponding to a user account, the data tree comprises a state tree, and the node comprises an account state representation corresponding to the account data of the user account.

5. The method of claim 4 , further comprising, in response to receiving a transaction that references the user account:

accessing the account state representation corresponding to the user account from the state tree to determine expiration of the eviction date; and

processing the transaction as if the user account had expired.

6. The method of claim 4 , further comprising:

identifying an account reinstatement request associated with the user account, wherein the account reinstatement request comprises proposed account data for the user account; and

verifying the proposed account data for the user account based on the account state representation within the state tree.

7. The method of claim 6 , further comprising re-caching the proposed account data associated with the user account within the state database of the distributed digital ledger transaction network based on verifying the proposed account data for the user account.

8. The method of claim 7 , further comprising updating the eviction date associated with the node based on re-caching the proposed account data associated with the user account.

9. The method of claim 4 , further comprising generating the account state representation by:

applying a hash function to the account data corresponding to the user account in the state database to generate a hash value for the account data corresponding to the user account; and

combining the hash value for the account data with the eviction date associated with the user account to generate the account state representation corresponding to the user account.

10. The method of claim 4 , further comprising determining expiration of the eviction date based on at least one of: a rent deposit amount, a time of a last user account access, a time of a transaction that transfers digital assets from the user account, or a time of a transaction that transfers digital assets to the user account.

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

generate, at a computer node of a plurality of computer nodes of a distributed digital ledger transaction network, an authenticated data structure of the distributed digital ledger transaction network, wherein the authenticated data structure comprises a data tree comprising nodes having data representations mapped to entries in a database, and wherein the authenticated data structure corresponds to authenticated data structures maintained by other computer nodes of the plurality of computer nodes; and

perform lazy deletion of data from the authenticated data structure by:

accessing, at the computer node, a data representation from a node of the data tree to determine expiration of an eviction date associated with node;

in response to determining expiration of the eviction date and prior to deleting one or more entries corresponding to the data representation from the database:

receiving, at the computer node, a request from a client device, the request requiring use of the one or more entries; and

processing the request as if the one or more entries have been deleted; and

asynchronously deleting, at the computer node, the one or more entries corresponding to the data representation from the database while maintaining the data representation within the data tree and while the one or more entries are maintained for at least one of the authenticated data structures maintained by the other computer nodes.

12. The non-transitory computer-readable medium of claim 11 , further comprising instructions that, when executed by the at least one processor, cause the computing device to delete the one or more entries corresponding to the node from the database without a transaction event request on the distributed digital ledger transaction network for deleting the one or more entries.

13. The non-transitory computer-readable medium of claim 11 , wherein processing the request as if the one or more entries have been deleted comprises transmitting, to the client device, an indication that the eviction date has expired.

14. The non-transitory computer-readable medium of claim 11 , wherein the database comprises a state database, the one or more entries comprise account data corresponding to a user account, the data tree comprises a state tree, and the node comprises an account state representation corresponding to the account data of the user account.

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:

identify an account reinstatement request associated with the user account, wherein the account reinstatement request comprises proposed account data for the user account; and

verify the proposed account data for the user account based on the account state representation within the state tree;

re-cache the proposed account data associated with the user account within the state database of the distributed digital ledger transaction network based on verifying the proposed account data for the user account; and

update the eviction date associated with the node based on re-caching the proposed account data associated with the user account.

16. 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 generate the account state representation by:

applying a hash function to the account data corresponding to the user account in the state database to generate a hash value for the account data corresponding to the user account; and

combining the hash value for the account data with the eviction date associated with the user account to generate the account state representation corresponding to the user account.

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, at a computer node of a plurality of computer nodes of a distributed digital ledger transaction network, an authenticated data structure of the distributed digital ledger transaction network, wherein the authenticated data structure comprises a data tree comprising nodes having data representations mapped to entries in a database, and wherein the authenticated data structure corresponds to authenticated data structures maintained by other computer nodes of the plurality of computer nodes; and

perform lazy deletion of data from the authenticated data structure by:

accessing, at the computer node, a data representation from a node of the data tree to determine expiration of an eviction date associated with node;

in response to determining expiration of the eviction date and prior to deleting one or more entries corresponding to the data representation from the database:

receiving, at the computer node, a request from a client device, the request requiring use of the one or more entries; and

processing the request as if the one or more entries have been deleted; and

asynchronously deleting, at the computer node, the one or more entries corresponding to the data representation from the database while maintaining the data representation within the data tree and while the one or more entries are maintained for at least one of the authenticated data structures maintained by the other computer nodes.

18. The system of claim 17 , further comprising instructions that, when executed by the at least one processor, cause the system to delete the one or more entries corresponding to the node from the database without a transaction event request on the distributed digital ledger transaction network for deleting the one or more entries.

19. The system of claim 17 , wherein processing the request as if the one or more entries have been deleted comprises transmitting, to the client device, an indication that the eviction date has expired.

20. The system of claim 17 ,

wherein the database comprises a state database, the one or more entries comprise account data corresponding to a user account, the data tree comprises a state tree, and the node comprises an account state representation corresponding to the account data of the user account; and

further comprising instructions that, when executed by the at least one processor, cause the system to:

identify an account reinstatement request associated with the user account, wherein the account reinstatement request comprises proposed account data for the user account;

verify the proposed account data for the user account based on the account state representation within the state tree;

re-cache the proposed account data associated with the user account within the state database of the distributed digital ledger transaction network based on verifying the proposed account data for the user account; and

update the eviction date associated with the node based on re-caching the proposed account data associated with the user account.

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: BLACKSHEAR, SAMUEL HOWARD; MAURER, BENJAMIN D.; ZAKIAN, TIMOTHY ANDREW KENNETH
To: FACEBOOK, INC.
Reel/Frame 049582/0981 →
Continuity (1)
Related Publication 20200394154A1 · Dec 17, 2020