IP Library Granted Patent US 12,067,559
Granted Patent B2
US 12,067,559 · App. 18/422,755 · Granted Aug 20, 2024

Methods and systems for forensic investigations in contract networks

Inventors: Vijay Madisetti (Alpharetta, GA); Arshdeep Bahga (Chandigarh, IN)
Assignee: Vijay Madisetti
G06Q20/389G06Q20/381H04L9/3236H04L9/3268H04L9/50H04L2209/56
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,067,559
App. No.
18/422,755
Granted
Aug 20, 2024
Kind
B2
Abstract

A method for detecting fraud across networks of interconnected smart contracts on a blockchain network, including constructing a graph representation of nodes and node edges representing smart contracts and interactions therebetween on a blockchain network. New smart contracts are added to the graph representation which is updated to reflect updated edges. Pattern recognition algorithms are applied to the graph database to identify and flag sub-graphs suggesting potential fraud. Filtering smart contracts gather forensic data about each smart contract comprised by the flagged sub-graph. A fraud risk score is determined by analyzing the forensic data. If the fraud risk score exceeds a threshold value, a fraud response is triggered.

Claims (111)

1. A method for detecting fraud across networks of interconnected smart contracts on a blockchain network, comprising:

constructing a graph representation of a plurality of nodes comprised by a graph database and a plurality of node edges between the nodes, each node of the plurality of nodes representing a smart contract deployed on the blockchain network, and each edge of the plurality of node edges being created responsive to interactions between the smart contracts deployed on the blockchain network;

continuously monitoring the blockchain network for blockchain transactions that one of deploy a new smart contract on the blockchain network or cause a state change in a smart contract deployed on the blockchain network;

for each transaction deploying a new smart contract on the blockchain network:

checking each new smart contract against the graph database to confirm the new smart contract is not already comprised by the graph database, each new smart contract that is not comprised by the graph database being defined as a newly identified smart contract;

generating a new node to be comprised by the graph database for each newly identified smart contract;

adding the new node to the graph database; and

updating the graph representation responsive to adding the new node to the graph database;

for each transaction causing a state change:

identifying one or more nodes comprised by the graph database representing the one or more smart contracts to which the transaction or state change relates;

determining one or more changes to the edges comprised by the graph database responsive to the transaction; and

updating edges in the graph representation responsive to the determined changes;

applying one or more pattern recognition algorithms to the graph database to identify an identified sub-graph, the pattern recognition algorithms being configured to identify a sub-graph of the comprising a subset of nodes of the plurality of nodes having a relationship structure resembling an identifiable pattern;

matching the identified sub-graph to a knowledge database comprising a plurality of known fraud patterns to determine if the identified sub-graph matches a known fraud pattern of the plurality of known fraud patterns;

defining the identified sub-graph as a flagged sub-group for matching a known fraud pattern;

executing one or more filtering smart contracts configured to gather forensic data about each smart contract comprised by the flagged sub-group;

determining a fraud risk score by analyzing the forensic data to identify one or more of discrepancy types, deception indicators, suspicious behaviors, regulatory violations, and fraud harms within the flagged sub-group; and

triggering a fraud response responsive to the fraud risk score exceeding a threshold value.

2. The method of claim 1 further comprising:

receiving an indication of fraudulent activity involving one or more fraudulent smart contracts comprised by the graph database;

analyzing the nodes associated with the one or more fraudulent smart contracts, nodes related to the nodes associated with the one or more fraudulent smart contracts, and edges related to the nodes associated with the one or more fraudulent smart contracts to determine one or more new fraud patterns; and

adding the one or more new fraud patterns to the knowledge database.

3. The method of claim 1 wherein continuously monitoring the blockchain network comprises:

registering a new variable with a global variable name system for each new smart contract the new variable having a value defined by content of the new smart contract;

broadcasting the new variable to a bulletin board server;

receiving an update to the new variable at the bulletin board server; and

broadcasting the update to the new variable from the bulletin board server to one or more clients that have subscribed to receive updates to the new variable, where continuous monitoring occurs by subscribing to the new variable and receiving updates thereto.

4. The method of claim 3 wherein registering a new variable with the global variable name system comprises:

registering a new variable name with a global variable name system registrar responsive to identifying a new smart contract;

setting an owner and resolver for the new variable name at a global variable name system registry;

updating a value for the new variable at a global variable name system resolver responsive to receiving an update from one of the owner and an authorized client of the owner;

receiving a request to retrieve a current value of the new variable at the global variable name system registry from a request source;

retrieving the resolver of the new variable at the global variable name system resolver; and

transmitting the value of the new variable from the global variable name system resolver to the request source.

5. The method of claim 1 wherein the forensic data comprises at least one of transactions, data consistency, logic flows, and user behavior.

6. The method of claim 1 wherein triggering a fraud response comprises performing one or more transactions on the blockchain network.

7. The method of claim 1 wherein at least one of regulatory policies, investor protection policies, and sanctions are encoded into at least one of a known fraud pattern of the plurality of known fraud patterns or a filtering smart contract of the one or more filtering smart contracts.

8. The method of claim 1 wherein each edge comprised by the graph database is configured to convey information about at least one of an interaction and a relationship between two or more nodes of the plurality of nodes.

9. A system for detecting fraud across networks of interconnected smart contracts on a blockchain network, comprising:

a connector module configured to monitor the blockchain network for blockchain transactions that one of deploy a new smart contract on the blockchain network or cause a state change in a smart contract deployed on the blockchain network;

a graph generator module configured to:

construct a graph representation of a plurality of nodes comprised by a graph database and a plurality of node edges between the nodes, each node of the plurality of nodes representing a smart contract deployed on the blockchain network, and each edge of the plurality of node edges being created responsive to interactions between the smart contracts deployed on the blockchain network;

for each transaction deploying a new smart contract on the blockchain network:

check each new smart contract against the graph database to confirm the new smart contract is not already comprised by the graph database, each new smart contract that is not comprised by the graph database being defined as a newly identified smart contract;

generate a new node to be comprised by the graph database for each newly identified smart contract;

add the new node to the graph database; and

update the graph representation responsive to adding the new node to the graph database;

for each transaction causing a state change:

identify one or more nodes comprised by the graph database representing the one or more smart contracts to which the transaction or state change relates;

determine one or more changes to the edges comprised by the graph database responsive to the transaction; and

update edges in the graph representation responsive to the determined changes;

a pattern matcher module configured to:

apply one or more pattern recognition algorithms to the graph database to identify an identified sub-graph, the pattern recognition algorithms being configured to identify a sub-graph of the comprising a subset of nodes of the plurality of nodes having a relationship structure resembling an identifiable pattern;

match the identified sub-graph to a knowledge database comprising a plurality of known fraud patterns to determine if the identified sub-graph matches a known fraud pattern of the plurality of known fraud patterns; and

define the identified sub-graph as a flagged sub-group for matching a known fraud pattern;

a filtering engine module configured to execute one or more filtering smart contracts configured to gather forensic data about each smart contract comprised by the flagged sub-group;

a fraud classifier module configured to determine a fraud risk score by analyzing the forensic data to identify one or more of discrepancy types, deception indicators, suspicious behaviors, regulatory violations, and fraud harms within the flagged sub-group; and

a response trigger module configured to trigger a fraud response responsive to the fraud risk score exceeding a threshold value.

10. The system of claim 9 further comprising a case management module configured to receive an indication of fraudulent activity involving one or more fraudulent smart contracts comprised by the graph database; wherein the pattern matcher module is further configured to:

analyze the nodes associated with the one or more fraudulent smart contracts, nodes related to the nodes associated with the one or more fraudulent smart contracts, and edges related to the nodes associated with the one or more fraudulent smart contracts to determine one or more new fraud patterns; and

add the one or more new fraud patterns to the knowledge database.

11. The system of claim 9 wherein at least one of the graph generator module and the connector module is configured to continuously monitoring the blockchain network by being configured to:

register a new variable with a global variable name system for each new smart contract the new variable having a value defined by content of the new smart contract;

broadcast the new variable to a bulletin board server;

subscribe to receive updates to the new variable from the bulletin board server; and

receive an update to the new variable from the bulletin board server.

12. The system of claim 11 wherein at least one of the graph generator module and the connector module is configured to register the new variable with the global variable name system by being further configured to:

register a new variable name with a global variable name system registrar responsive to identifying the new smart contract;

set an owner and resolver for the new variable name at a global variable name system registry;

update a value for the new variable at a global variable name system resolver responsive to receiving an update from one of the owner and an authorized client of the owner;

receive a request to retrieve a current value of the new variable at the global variable name system registry from a request source;

retrieve the resolver of the new variable at the global variable name system resolver; and

transmit the value of the new variable from the global variable name system resolver to the request source.

13. The system of claim 9 wherein the forensic data comprises at least one of transactions, data consistency, logic flows, and user behavior.

14. The system of claim 9 wherein the response trigger module is configured to trigger a fraud response by being configured to perform one or more transactions on the blockchain network.

15. The system of claim 9 wherein at least one of regulatory policies, investor protection policies, and sanctions are encoded into at least one of a known fraud pattern of the plurality of known fraud patterns or a filtering smart contract of the one or more filtering smart contracts.

16. The system of claim 9 wherein each edge comprised by the graph database is configured to convey information about at least one of an interaction and a relationship between two or more nodes of the plurality of nodes.

17. A method for detecting fraud across networks of interconnected smart contracts on a blockchain network, comprising:

constructing a graph representation of a plurality of nodes comprised by a graph database and a plurality of node edges between the nodes, each node of the plurality of nodes representing a smart contract deployed on the blockchain network, and each edge of the plurality of node edges being created responsive to interactions between the smart contracts deployed on the blockchain network;

continuously monitoring the blockchain network for blockchain transactions that one of deploy a new smart contract on the blockchain network or cause a state change in a smart contract deployed on the blockchain network by:

registering a new variable with a global variable name system for each new smart contract the new variable having a value defined by content of the new smart contract;

broadcasting the new variable to a bulletin board server;

receiving an update to the new variable at the bulletin board server; and

broadcasting the update to the new variable from the bulletin board server to one or more clients that have subscribed to receive updates to the new variable, where continuous monitoring occurs by subscribing to the new variable and receiving updates thereto;

for each transaction deploying a new smart contract on the blockchain network:

checking each new smart contract against the graph database to confirm the new smart contract is not already comprised by the graph database, each new smart contract that is not comprised by the graph database being defined as a newly identified smart contract;

generating a new node to be comprised by the graph database for each newly identified smart contract;

adding the new node to the graph database; and

updating the graph representation responsive to adding the new node to the graph database;

for each transaction causing a state change:

identifying one or more nodes comprised by the graph database representing the one or more smart contracts to which the transaction or state change relates;

determining one or more changes to the edges comprised by the graph database responsive to the transaction; and

updating edges in the graph representation responsive to the determined changes;

applying one or more pattern recognition algorithms to the graph database to identify an identified sub-graph, the pattern recognition algorithms being configured to identify a sub-graph of the comprising a subset of nodes of the plurality of nodes having a relationship structure resembling an identifiable pattern;

matching the identified sub-graph to a knowledge database comprising a plurality of known fraud patterns to determine if the identified sub-graph matches a known fraud pattern of the plurality of known fraud patterns;

defining the identified sub-graph as a flagged sub-group for matching a known fraud pattern;

executing one or more filtering smart contracts configured to gather forensic data about each smart contract comprised by the flagged sub-group;

determining a fraud risk score by analyzing the forensic data to identify one or more of discrepancy types, deception indicators, suspicious behaviors, regulatory violations, and fraud harms within the flagged sub-group; and

triggering a fraud response responsive to the fraud risk score exceeding a threshold value, the fraud response comprising performing one or more transactions on the blockchain network.

18. The method of claim 17 further comprising:

receiving an indication of fraudulent activity involving one or more fraudulent smart contracts comprised by the graph database;

analyzing the nodes associated with the one or more fraudulent smart contracts, nodes related to the nodes associated with the one or more fraudulent smart contracts, and edges related to the nodes associated with the one or more fraudulent smart contracts to determine one or more new fraud patterns; and

adding the one or more new fraud patterns to the knowledge database.

19. The method of claim 17 wherein registering a new variable with the global variable name system comprises:

registering a new variable name with a global variable name system registrar responsive to identifying a new smart contract;

setting an owner and resolver for the new variable name at a global variable name system registry;

updating a value for the new variable at a global variable name system resolver responsive to receiving an update from one of the owner and an authorized client of the owner;

receiving a request to retrieve a current value of the new variable at the global variable name system registry from a request source;

retrieving the resolver of the new variable at the global variable name system resolver; and

transmitting the value of the new variable from the global variable name system resolver to the request source.

20. The method of claim 17 wherein the forensic data comprises at least one of transactions, data consistency, logic flows, and user behavior.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2026
From: MADISETTI, VIJAY
To: VM INNOVATIONS I, LLC
Reel/Frame 075116/0289 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2024
From: BAHGA, ARSHDEEP, DR.
To: MADISETTI, VIJAY, DR.
Reel/Frame 067240/0494 →
Continuity (9)
Continuation In Part 17822303 · Aug 25, 2022
Continuation 17647776 · Jan 12, 2022
Continuation In Part 16744231 · Jan 16, 2020
Division 16396845 · Apr 29, 2019
Division 15976910 · May 11, 2018
Provisional Application 62818798 · Mar 15, 2019
Provisional Application 62652341 · Apr 4, 2018
Provisional Application 63622595 · Jan 19, 2024
Related Publication 20240161108A1 · May 16, 2024