IP Library › Granted Patent US 12,731,135
Granted Patent B2
US 12,731,135 · App. 17/984,497 · Granted Sep 8, 2026

Proof of cache using Argon2d cryptographic hashing in payment processing

Inventor: Elvis Nyamwange (Little Elm, TX)
Assignee: Bank of America Corporation
G06Q20/3829G06N7/01G06Q20/363
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 12,731,135
App. No.
17/984,497
Granted
Sep 8, 2026
Kind
B2
Abstract

Aspects of the disclosure relate to methods, systems, and apparatuses for improving speed of transaction processing in payment systems using a proof of cache system. The proof of cache system may be used to validate transactions using cached keys stored on Directed Acyclic Graph (DAG) nodes that are available. The cached keys may be encrypted using Argon2d cryptographic hashing.

Claims (87)

1 . A method for processing and validating a payment transaction in a distributed network, the method comprising:

receiving, by a key generator operating on a computing device comprising a processor and random-access memory, a payment transaction and an associated identifier comprising a wallet address associated with an account number;

determining, by the key generator, whether the associated identifier is stored in a cache memory of the key generator maintained in the random-access memory;

generating, by the key generator, a unique key for the associated identifier in response to determining that the associated identifier is not stored in the cache memory of the key generator;

binding, by the key generator, the unique key to a static and dynamic address pair from a payee or receiver included in the payment transaction;

encrypting, by the key generator, the unique key using Argon2d cryptographic hashing configured to access a memory array in a data-dependent order to prevent GPU cracking attacks;

transmitting, by the key generator via a communications module supporting network connections over a local area network and a wide area network, the payment transaction and the encrypted unique key to a plurality of directed acyclic graph (DAG) nodes coupled in a network arrangement;

storing, by each DAG node of the plurality of DAG nodes operating on respective computing devices, the encrypted unique key in a cache memory of the respective DAG node;

receiving, by a primary node in communication with the plurality of DAG nodes via the communications module, the payment transaction and the encrypted unique key from the key generator;

distributing, by the proof of cache system, computational tasks for validating the payment transaction to the plurality of DAG nodes according to a directed acyclic graph structure defining relationships between the plurality of DAG nodes if at least two-thirds of the plurality of DAG nodes contain the encrypted unique key in their respective cache memories;

validating, by the primary node, the payment transaction in response to determining that at least two-thirds of the plurality of DAG nodes contain the encrypted unique key in their respective cache memories;

storing, by the proof of cache system, the encrypted unique key in the cache memory of the primary node;

recording, by the primary node, an execution of the payment transaction, a payment processing status, and system resource usage in a blockchain ledger structured to track computational tasks associated with the payment transaction;

identifying, by the primary node, a shortest path to obtaining a two-thirds majority of the plurality of DAG nodes to achieve the consensus percentage for validating the payment transaction if the consensus percentage does not initially meet the predetermined threshold;

preventing, by the primary node, cancellation of the payment transaction after initiation by enforcing directed acyclic graph requirements for validation and processing;

synchronizing relationships between the plurality of DAG nodes and the primary node in real time to maintain consistency of the encrypted unique key across the cache memories; and

executing, by the plurality of DAG nodes, the computational tasks in a distributed computing environment including the processor, the random-access memory, and the communications module.

2 . The method of claim 1 , the method further comprising:

checking, by the key generator, whether the associated identifier matches an already known address in the cache memory of the key generator upon receiving a subsequent payment transaction via the communications module;

tagging, by the key generator, the subsequent payment transaction with the encrypted unique key previously generated if the associated identifier is found in the cache memory of the key generator; and

transmitting, by the key generator, the tagged subsequent payment transaction to the plurality of DAG nodes.

3 . The method of claim 2 , the method further comprising approving, by the primary node, the subsequent payment transaction when it is determined that the encrypted unique key previously generated is contained in the cache of at least two-thirds of the DAG nodes.

4 . The method of claim 3 , the method further comprising synchronizing the relationships between the plurality of DAG nodes in real time to maintain consistency of the encrypted unique key across the cache memories of the plurality of DAG nodes and the cache memory of the primary node.

5 . The method of claim 4 , the method further comprising optimizing, by the proof of cache system, the Argon2d cryptographic hashing by executing the hashing on a randomly selected timeframe to enhance performance of the encrypting step.

6 . The method of claim 5 , the method further comprising:

identifying, by the primary node, a shortest path among the plurality of DAG nodes to achieve the consensus percentage for validating the payment transaction when the consensus percentage does not initially meet the predetermined threshold;

transmitting, by the primary node, the payment transaction and the encrypted unique key to additional DAG nodes via the shortest path; and

updating, by the primary node, the blockchain ledger with a status of the payment transaction reflecting the shortest path validation.

7 . The method of claim 6 , the method further comprising preventing, by the primary node, cancellation of the payment transaction after initiation by enforcing directed acyclic graph requirements that mandate completion of the computational tasks for validation and processing.

8 . The method of claim 7 , the method further comprising:

allocating, by the primary node, computational resources among the plurality of DAG nodes for execution of the computational tasks based on available computational resources including processor capacity and memory availability;

monitoring, by the primary node, the execution of the computational tasks by the plurality of DAG nodes to ensure compliance with the directed acyclic graph structure; and

adjusting, by the primary node, the allocation of the computational resources dynamically in response to changes in the available computational resources.

9 . The method of claim 8 , the method further comprising:

maintaining, by the plurality of DAG nodes, the cache memories of the plurality of DAG nodes using a validation pool, wherein the validation pool selects DAG nodes having at least two-thirds of their respective cache memories storing keys matching the encrypted unique key; and

communicating, by the plurality of DAG nodes, updates to their respective cache memories to the primary node via the communications module to ensure synchronization.

10 . The method of claim 9 , the method further comprising:

generating, by the primary node, a validation report detailing the consensus percentage, the execution of the computational tasks, and the payment processing status; and

storing, by the primary node, the validation report in the blockchain ledger for auditability.

11 . A method for processing and validating a payment transaction in a distributed network, the method comprising:

receiving, by a key generator operating on a computing device comprising a processor and random-access memory, a payment transaction and an associated identifier comprising a wallet address associated with an account number;

determining, by the key generator, whether the associated identifier is stored in a cache memory of the key generator maintained in the random-access memory;

generating, by the key generator, a unique key for the associated identifier in response to determining that the associated identifier is not stored in the cache memory of the key generator;

binding, by the key generator, the unique key to a static and dynamic address pair from a payee or receiver included in the payment transaction;

encrypting, by the key generator, the unique key using Argon2d cryptographic hashing configured to access a memory array in a data-dependent order to prevent GPU cracking attacks;

transmitting, by the key generator via a communications module supporting network connections over a local area network and a wide area network, the payment transaction and the encrypted unique key to a plurality of directed acyclic graph (DAG) nodes coupled in a network arrangement;

storing, by each DAG node of the plurality of DAG nodes operating on respective computing devices, the encrypted unique key in a cache memory of the respective DAG node;

receiving, by a primary node in communication with the plurality of DAG nodes via the communications module, the payment transaction and the encrypted unique key from the key generator;

distributing, by a proof of cache system, computational tasks for validating the payment transaction to the plurality of DAG nodes according to a directed acyclic graph structure defining relationships between the plurality of DAG nodes;

validating, by the primary node, the payment transaction in response to determining that at least two-thirds of the plurality of DAG nodes contain the encrypted unique key in their respective cache memories;

storing, by the primary node, the encrypted unique key in the cache memory of the primary node;

recording, by the primary node, an execution of the payment transaction, a payment processing status, and system resource usage in a blockchain ledger structured to track computational tasks associated with the payment transaction;

executing, by the plurality of DAG nodes, the computational tasks in a distributed computing environment including the processor, the random-access memory, and the communications module;

checking, by the key generator, whether the associated identifier matches a previously known identifier in the cache memory of the key generator upon receiving a subsequent payment transaction via the communications module;

tagging, by the key generator, the subsequent payment transaction with the encrypted unique key previously generated if the associated identifier is found in the cache memory of the key generator;

transmitting, by the key generator, the tagged subsequent payment transaction to the plurality of DAG nodes;

approving, by the primary node, the subsequent payment transaction when it is determined that the encrypted unique key previously generated is contained in the cache of at least two-thirds of the DAG nodes;

synchronizing, by the proof of cache system, the relationships between the plurality of DAG nodes in real time to maintain consistency of the encrypted unique key across the cache memories of the plurality of DAG nodes and the cache memory of the primary node;

optimizing, by the proof of cache system, the Argon2d cryptographic hashing by executing the hashing on a randomly selected timeframe to enhance performance of the encrypting step;

identifying, by the primary node, a shortest path among the plurality of DAG nodes to achieve the consensus percentage for validating the payment transaction when the consensus percentage does not initially meet the predetermined threshold;

transmitting, by the primary node, the payment transaction and the encrypted unique key to additional DAG nodes via the shortest path;

updating, by the primary node, the blockchain ledger with a status of the payment transaction reflecting the shortest path validation;

preventing, by the primary node, cancellation of the payment transaction after initiation by enforcing directed acyclic graph requirements that mandate completion of the computational tasks for validation and processing;

allocating, by the primary node, computational resources among the plurality of DAG nodes for execution of the computational tasks based on available computational resources including processor capacity and memory availability;

monitoring, by the primary node, the execution of the computational tasks by the plurality of DAG nodes to ensure compliance with the directed acyclic graph structure;

adjusting, by the primary node, the allocation of the computational resources dynamically in response to changes in the available computational resources;

maintaining, by the plurality of DAG nodes, the cache memories of the plurality of DAG nodes using a validation pool, wherein the validation pool selects DAG nodes having at least two-thirds of their respective cache memories storing keys matching the encrypted unique key;

communicating, by the plurality of DAG nodes, updates to their respective cache memories to the primary node via the communications module to ensure synchronization;

generating, by the primary node, a validation report detailing the consensus percentage, the execution of the computational tasks, and the payment processing status; and

storing, by the primary node, the validation report in the blockchain ledger for auditability.

12 . A payment processing validation system for processing and validating a payment transaction in a distributed network, the system comprising:

a key generator implemented on a microprocessor that receives a payment transaction and an associated identifier comprising a wallet address associated with an account number, determines whether the associated identifier is stored in a cache memory of the key generator maintained in random-access memory, generates a unique key for the associated identifier if the associated identifier is not stored, binds the unique key to a static and dynamic address pair from a payee or receiver included in the payment transaction, encrypts the unique key using Argon2d cryptographic hashing configured to access a memory array in a data-dependent order to prevent GPU cracking attacks, and transmits the payment transaction and the encrypted unique key via a communications module;

a plurality of directed acyclic graph (DAG) nodes coupled in a network arrangement that receive the payment transaction and the encrypted unique key from the key generator via the communications module, store the encrypted unique key in a cache memory of each respective DAG node, and execute computational tasks for validating the payment transaction in a distributed computing environment;

a primary node in communication with the plurality of DAG nodes via the communications module that receives the payment transaction and the encrypted unique key from the key generator, distributes, via the payment processing validation system, the computational tasks to the plurality of DAG nodes according to a directed acyclic graph structure defining relationships between the plurality of DAG nodes, validates the payment transaction in response to determining that at least two-thirds of the plurality of DAG nodes contain the encrypted unique key in their respective cache memories, stores the encrypted unique key in the cache memory of the primary node, records an execution of the payment transaction, a payment processing status, and system resource usage in a blockchain ledger structured to track the computational tasks, identifies a shortest path to obtaining a two-thirds majority of the plurality of DAG nodes to achieve the consensus percentage for validating the payment transaction if the consensus percentage does not initially meet the predetermined threshold, prevents cancellation of the payment transaction after initiation by enforcing directed acyclic graph requirements for validation and processing, and synchronizes relationships between the plurality of DAG nodes and the primary node in real time to maintain consistency of the encrypted unique key across the cache memories; and

the communications module supporting network connections over a local area network and a wide area network that facilitates transmission of the payment transaction and the encrypted unique key between the key generator, the plurality of DAG nodes, and the primary node.

13 . The payment processing validation system of claim 12 , wherein the key generator further checks whether the associated identifier matches a previously known identifier in the cache memory of the key generator upon receiving a subsequent payment transaction, tags the subsequent payment transaction with the encrypted unique key previously generated if the associated identifier is found, and transmits the tagged subsequent payment transaction to the plurality of DAG nodes.

14 . The payment processing validation system of claim 13 , wherein the primary node approves the subsequent payment transaction when it is determined that the encrypted unique key previously generated is contained in the cache of at least two-thirds of the DAG nodes.

15 . The payment processing validation system of claim 14 , wherein the payment processing validation system further synchronizes the relationships between the plurality of DAG nodes in real time to maintain consistency of the encrypted unique key across the cache memories of the plurality of DAG nodes and the cache memory of the primary node.

16 . The payment processing validation system of claim 15 , wherein the payment processing validation system further optimizes the Argon2d cryptographic hashing by executing the hashing on a randomly selected timeframe to enhance performance of encryption by the key generator.

17 . The payment processing validation system of claim 16 , wherein the primary node further identifies a shortest path among the plurality of DAG nodes to achieve the consensus percentage when the consensus percentage does not initially meet the predetermined threshold, transmits the payment transaction and the encrypted unique key to additional DAG nodes via the shortest path, and updates the blockchain ledger with a status of the payment transaction reflecting the shortest path validation.

18 . The payment processing validation system of claim 17 , wherein the primary node further prevents cancellation of the payment transaction after initiation by enforcing directed acyclic graph requirements that mandate completion of the computational tasks for validation and processing.

19 . The payment processing validation system of claim 18 , wherein the primary node further allocates computational resources among the plurality of DAG nodes for execution of the computational tasks based on available computational resources including processor capacity and memory availability, monitors the execution of the computational tasks to ensure compliance with the directed acyclic graph structure, and adjusts the allocation of the computational resources dynamically in response to changes in the available computational resources.

20 . The payment processing validation system of claim 19 , wherein:

the key generator implemented on a microprocessor operates on a computing device comprising a processor and the random-access memory, receives the payment transaction and the associated identifier via the communications module, determines whether the associated identifier is stored in the cache memory of the key generator, generates the unique key for the associated identifier if not stored, binds the unique key to the static and dynamic address pair from the payee or receiver, encrypts the unique key using the Argon2d cryptographic hashing, checks whether the associated identifier matches a previously known identifier in the cache memory of the key generator upon receiving a subsequent payment transaction, tags the subsequent payment transaction with the encrypted unique key if the associated identifier is found, and transmits the payment transaction, the encrypted unique key, and the tagged subsequent payment transaction to the plurality of DAG nodes via the communications module supporting network connections over the local area network and the wide area network;

the plurality of DAG nodes operates on respective computing devices, receives the payment transaction and the encrypted unique key, stores the encrypted unique key in the cache memory of each respective DAG node, executes the computational tasks in the distributed computing environment including the processor and the random-access memory, maintains the cache memories of the plurality of DAG nodes using a validation pool selecting DAG nodes having at least two-thirds of their respective cache memories storing keys matching the encrypted unique key, and communicates updates to their respective cache memories to the primary node via the communications module;

the primary node approves the subsequent payment transaction when it is determined that the encrypted unique key previously generated is contained in the cache of at least two-thirds of the DAG nodes, receives the payment transaction and the encrypted unique key, distributes, via the payment processing validation system, the computational tasks according to the directed acyclic graph structure, validates the payment transaction in response to determining that at least two-thirds of the plurality of DAG nodes contain the encrypted unique key in their respective cache memories, stores the encrypted unique key in the cache memory of the primary node, records the execution, the payment processing status, and the system resource usage in the blockchain ledger, synchronizes, via the payment processing validation system, the relationships between the plurality of DAG nodes in real time, optimizes, via the payment processing validation system, the Argon2d cryptographic hashing on the randomly selected timeframe, identifies the shortest path when the consensus percentage is insufficient, transmits the payment transaction and the encrypted unique key via the shortest path, updates the blockchain ledger with the shortest path validation status, prevents cancellation by enforcing the directed acyclic graph requirements, allocates the computational resources based on the available computational resources, monitors the execution for compliance, adjusts the allocation dynamically, generates a validation report detailing the consensus percentage, the execution of the computational tasks, and the payment processing status, and stores the validation report in the blockchain ledger for auditability; and

the communications module comprising a network interface facilitates transmissions between the key generator, the plurality of DAG nodes, and the primary node over the local area network and the wide area network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2022
From: NYAMWANGE, ELVIS
To: BANK OF AMERICA CORPORATION
Reel/Frame 061719/0132 →
Continuity (1)
Related Publication 20240161102A1 · May 16, 2024
References Cited (23)
US 10630769B2 · Carver et al. · 2020 [cited by applicant]
US 10951675B2 · Long et al. · 2021 [cited by applicant]
US 11398911B1 · Gunning · 2022 [cited by applicant]
US 11410233B2 · Creighton, IV · 2022 [cited by examiner]
US 11438181B1 · Yamada · 2022 [cited by applicant]
US 20180121909A1 · Christidis · 2018 [cited by examiner]
US 20190220858A1 · Weight et al. · 2019 [cited by applicant]
US 20200389312A1 · Boneh et al. · 2020 [cited by applicant]
US 20210281980A1 · Xu · 2021 [cited by applicant]
US 20240028584A1 · Huang · 2024 [cited by examiner]
CN 109559120A · 2019 [cited by applicant]
CN 109886811A · 2019 [cited by examiner]
CN 110457337A · 2019 [cited by applicant]
CN 110689343A · 2020 [cited by applicant]
CN 112330457A · 2021 [cited by applicant]
CN 114282189A · 2022 [cited by applicant]
CN 114697971A · 2022 [cited by applicant]
KR 20200083930A · 2020 [cited by applicant]
WO 2023024742A1 · 2023 [cited by applicant]
Wikipedia “Argon2”, revision as of 07:00, Jun. 6, 2022, https://en.wikipedia.org/w/index.php?title=Argon2&oldid=1091763767. (Year : 2022). [cited by examiner]
Guo, machine translation of CN109559120A, Apr. 2, 2019. (Year: 2019). [cited by examiner]
Chen, machine translation of CN112330457A, Feb. 5, 2021. (Year: 2021). [cited by examiner]
English translation of CN_109886811_A (Year: 2019). [cited by examiner]