IP Library Granted Patent US 12664556
Granted Patent B1
US 12664556 · App. 17/518,561 · Granted Jun 23, 2026

Tracing Monero transaction chains using non-deterministic algorithms based on random simulation

Inventors: David Alexander Jevans (Menlo Park, CA); Eric Downes (Seattle, WA); Alexander L. Mologoko (Dingmans Ferry, PA)
Assignee: CipherTrace, Inc.
G06Q20/407G06F18/24155G06Q20/065G06Q20/3825G06Q20/405
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 12664556
App. No.
17/518,561
Granted
Jun 23, 2026
Kind
B1
Abstract

Embodiments include systems and methods for searching, tracing, and tracking Monero transaction chains. An exemplary method includes receiving, at a user interface using a plurality of Monero transaction menus, Monero transaction identification data for searching, tracing, and tracking Monero transaction chains. The method also includes determining, at the server computing device, an input of the Monero transaction identification data and an output of the Monero transaction identification data. The method also includes analyzing, at the server computing device, the input of the Monero transaction identification data determining a ring signature of the input of the Monero transaction identification data, the ring signature may include a plurality of decoys and a spendable and valid input. The method also includes generating, with a processor, a user interface displaying the plurality of decoys and the spendable and valid input.

Claims (66)

1 . A computer program product comprising a non-transitory computer useable storage device having a computer readable program, wherein the computer readable program when executed on a server computing device causes the server computing device to:

deploy, using the server computing device, a Monero node to a Monero network, the Monero node receiving and sending Monero network transactions from the Monero network;

monitor, using the Monero node, Monero network transaction chain data on the Monero network based on the receiving and sending Monero network transactions by the Monero node, the Monero network transaction chain data comprising input data and output data of Monero network transactions;

generate, with a processor, a user interface having a plurality of Monero transaction menus;

receive, at the user interface using the plurality of Monero transaction menus, Monero transaction identification data for searching, tracing, and tracking Monero transaction chains;

determine, at the server computing device, an input corresponding to the Monero transaction identification data;

analyze, at the server computing device, the input of the Monero transaction identification data for determining a ring signature of the input of the Monero transaction identification data, the ring signature comprising a plurality of inputs, the plurality of inputs comprising a plurality of decoy inputs and a non-decoy input, the non-decoy input being a spendable and valid input;

analyze, by the processor using the Monero network transaction chain data, the plurality of inputs for determining a decoy probability for each of the plurality of inputs, the decoy probability being a probability that an input of the plurality of inputs is the non-decoy input and not one of the plurality of decoy inputs;

wherein the determining the decoy probability for each of the plurality of inputs comprises using non-deterministic algorithms based on random simulation, the non-deterministic algorithms based on random simulation comprising Monte Carlo Tree Search (MTCS); and

generate, with the processor, a user interface displaying:

the ring signature including the plurality of inputs associated with the Monero network transactions; and

for each of the plurality of inputs, a corresponding probability that the input is the non-decoy input and not one of the plurality of decoy inputs.

2 . The computer program product of claim 1 , wherein the server computing device is further caused to:

order, using the server computing device, a plurality of inputs of the Monero transaction identification data and a plurality of outputs of the Monero transaction identification data;

store, using the server computing device and the order, the plurality of inputs of the Monero transaction identification data and the plurality of outputs of the Monero transaction identification data, wherein the order, using the server computing device, the plurality of inputs of the Monero transaction identification data and the plurality of outputs of the Monero transaction identification data comprises placing the plurality of outputs of the Monero transaction identification data before the plurality of inputs of the Monero transaction identification data.

3 . The computer program product of claim 2 , wherein the store, using the server computing device, the plurality of inputs of the Monero transaction identification data and the plurality of outputs of the Monero transaction identification data uses a bit array with one bit per potential state.

4 . The computer program product of claim 1 , wherein the non-deterministic algorithms based on random simulation comprising Monte Carlo Tree Search (MTCS) comprise boolean satisfiability (SAT) algorithms.

5 . The computer program product of claim 4 , wherein the non-deterministic algorithms comprise heuristic rules.

6 . The computer program product of claim 4 , wherein the determining the decoy probability for each of the plurality of inputs comprises: using optimization algorithms on a Bayesian Network.

7 . The computer program product of claim 1 , wherein Monero is a decentralized cryptocurrency.

8 . The computer program product of claim 7 , wherein the server computing device is further caused to receive, at the user interface, user input data indicating the Monero transaction identification data for searching, tracing, and tracking Monero transaction chains was used in an illegal transaction.

9 . The computer program product of claim 8 , wherein the server computing device is further caused to send the user input data indicating the Monero transaction identification data for searching, tracing, and tracking Monero transaction chains was used in an illegal transaction to a Monero related Virtual Asset Service Provider (VASP).

10 . A computer program product comprising a non-transitory computer useable storage device having a computer readable program, wherein the computer readable program when executed on a server computing device causes the server computing device to:

receive, using the server computing device, Monero network transactions from a Monero node, the Monero node being a third-party Monero node;

monitor, using the Monero node, Monero network transaction chain data based on the Monero network transactions from the Monero node, the Monero network transaction chain data comprising input data and output data of Monero network transactions;

receive Monero transaction identification data for searching, tracing, and tracking Monero transaction chains;

determine, by the server computing device, an input corresponding to the Monero transaction identification data;

analyze, by the server computing device, the input of the Monero transaction identification data determining a ring signature of the input of the Monero transaction identification data, the ring signature comprising a plurality of inputs, the plurality of inputs comprising a plurality of decoy inputs and a non-decoy input, the non-decoy input being a spendable and valid input;

analyze, by the server computing device, using the Monero network transaction chain data, the plurality of inputs for determining a decoy probability for each of the plurality of inputs, the decoy probability being a probability that an input of the plurality of inputs is the non-decoy input and not one of the plurality of decoy inputs;

wherein the determining the decoy probability for each of the plurality of inputs comprises using non-deterministic algorithms based on random simulation, the non-deterministic algorithms based on random simulation comprising Monte Carlo Tree Search (MTCS);

generate, with the server computing device, a user interface displaying:

the ring signature including the plurality of inputs associated with the Monero network transactions; and

for each of the plurality of inputs, a corresponding probability that the input is the non-decoy input and not one of the plurality of decoy inputs.

11 . A computer program product comprising a non-transitory computer useable storage device having a computer readable program, wherein the computer readable program when executed on a server computing device causes the server computing device to:

receive, using the server computing device, Monero network transactions from a Monero network;

monitor, using the server computing device, Monero network transaction chain data on the Monero network based on the Monero network transactions, the Monero network transaction chain data comprising input data and output data of Monero network transactions;

receive Monero transaction identification data for searching, tracing, and tracking Monero transaction chains;

determine, at the server computing device, an input corresponding to the Monero transaction identification data;

analyze, at the server computing device, the input of the Monero transaction identification data determining a ring signature of the input of the Monero transaction identification data, the ring signature comprising a plurality of inputs, the plurality of inputs comprising a plurality of decoy inputs and a non-decoy input, the non-decoy input being a spendable and valid input;

analyze, using the Monero network transaction chain data, the plurality of inputs for determining a decoy probability for each of the plurality of inputs, the decoy probability being a probability that an input of the plurality of inputs is the non-decoy input and not one of the plurality of decoy inputs;

generate, with the server computing device, a user interface displaying:

the ring signature including the plurality of inputs associated with the Monero network transactions; and

for each of the plurality of inputs, a corresponding probability that the input is the non-decoy input and not one of the plurality of decoy inputs.

12 . A computer implemented method for searching, tracing, and tracking Monero transaction chains comprising:

deploying, using a server computing device, a Monero node to a Monero network, the Monero node receiving and sending Monero network transactions from the Monero network;

monitoring, using the Monero node, Monero network transaction chain data on the Monero network based on the receiving and sending Monero network transactions by the Monero node, the Monero network transaction chain data comprising input data and output data of Monero network transactions;

receiving Monero transaction identification data for searching, tracing, and tracking Monero transaction chains;

determining, at the server computing device, an input of the Monero transaction identification data and a plurality of outputs of the Monero transaction identification data;

analyzing, at the server computing device, the input of the Monero transaction identification data determining a ring signature comprising a plurality of inputs, the plurality of inputs comprising a plurality of decoy inputs and a non-decoy input, the non-decoy input being a spendable and valid input;

analyzing, using the Monero network transaction chain data, the plurality of inputs for determining a decoy probability for each of the plurality of inputs, the decoy probability being a probability that an input of the plurality of inputs is the non-decoy input and not one of the plurality of decoy inputs;

wherein the determining the decoy probability for each of the plurality of inputs comprises using non-deterministic algorithms based on random simulation, the non-deterministic algorithms based on random simulation comprising Monte Carlo Tree Search (MTCS);

generating, with a processor, a user interface displaying:

the ring signature including the plurality of inputs associated with the Monero network transactions; and

for each of the plurality of inputs, a corresponding probability that the input is the non-decoy input and not one of the plurality of decoy inputs.

13 . The computer implemented method of claim 12 , further comprising:

ordering, using the server computing device, the plurality of inputs of the Monero transaction identification data and the plurality of outputs of the Monero transaction identification data;

storing, using the server computing device and the order, the plurality of inputs of the Monero transaction identification data and the plurality of outputs of the Monero transaction identification data, wherein the ordering, using the server computing device, the plurality of inputs of the Monero transaction identification data and the plurality of outputs of the Monero transaction identification data comprises placing the plurality of outputs of the Monero transaction identification data before the plurality of inputs of the Monero transaction identification data.

14 . The computer implemented method of claim 13 , wherein the storing, using the server computing device, the plurality of inputs of the Monero transaction identification data and the plurality of outputs of the Monero transaction identification data uses a bit array with one bit per potential state.

15 . The computer implemented method of claim 13 , wherein the non-deterministic algorithms based on random simulation comprising Monte Carlo Tree Search comprise boolean satisfiability (SAT) algorithms.

16 . The computer implemented method of claim 15 , wherein the non-deterministic algorithms based on random simulation comprising Monte Carlo Tree Search comprise heuristic rules.

17 . The computer implemented method of claim 15 , wherein the determining the decoy probability for each of the plurality of inputs comprises: using a Sinkhorn-Knopp algorithm.

18 . The computer implemented method of claim 15 , further comprising:

generating, with a processor, a user interface displaying the plurality of inputs and the decoy probability for each of the plurality of inputs for an end user to determine the spendable and valid input.

19 . The computer implemented method of claim 12 , further comprising receiving, at the user interface, user input data indicating the Monero transaction identification data for searching, tracing, and tracking Monero transaction chains was used in an illegal transaction.

20 . The computer implemented method of claim 19 , further comprising:

sending the user input data indicating the Monero transaction identification data for searching, tracing, and tracking Monero transaction chains was used in an illegal transaction to a Monero related Virtual Asset Service Provider (VASP).