IP Library Granted Patent US 10,853,812
Granted Patent B2
US 10,853,812 · App. 16/295,153 · Granted Dec 1, 2020

Blockchain transaction safety

Inventors: David Charles Kuchar (San Francisco, CA); Malcolm Garland (San Francisco, CA)
Assignee: Coral Protocol
G06Q20/4016G06F16/9024G06Q20/065G06Q20/0655G06Q40/00H04L9/0618H04L2209/38H04L2209/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 10,853,812
App. No.
16/295,153
Granted
Dec 1, 2020
Kind
B2
Abstract

A method includes acquiring blockchain data that includes transactions between a plurality of blockchain addresses. The method includes labeling a set of the blockchain addresses as fraudulent and generating a graph data structure based on the blockchain data. The method includes calculating a set of scoring features for each blockchain address, where each set of scoring features includes a graph-based scoring feature. Calculating the graph-based scoring feature includes calculating a number of transactions associated with the blockchain address in the graph data structure. The method includes generating a scoring model using sets of scoring features for the blockchain addresses that are labeled as fraudulent and generating a trust score for each blockchain address using the scoring features and the scoring model. The trust score indicates a likelihood that the blockchain address is involved in fraudulent activity. Additionally, the method includes sending a requested trust score to a requesting device.

Claims (51)

1. A method comprising:

acquiring, at a server, blockchain data from a blockchain network, wherein the blockchain data includes a plurality of transactions between a plurality of blockchain addresses;

labeling, at the server, a set of the blockchain addresses as fraudulent;

generating, at the server, a graph data structure based on the blockchain data, wherein the graph data structure includes nodes for the blockchain addresses and includes edges between the nodes for blockchain transactions;

calculating, at the server, a set of scoring features for each blockchain address, wherein each set of scoring features includes a graph-based scoring feature, and wherein calculating the graph-based scoring feature includes calculating a number of transactions associated with the blockchain address in the graph data structure;

generating, at the server, a scoring model using sets of scoring features for the blockchain addresses that are labeled as fraudulent;

generating, at the server, a trust score for each of the blockchain addresses using the scoring features associated with the blockchain addresses and the scoring model, wherein the trust score indicates a likelihood that the blockchain address is involved in fraudulent activity;

receiving, at the server, a trust request for a specified blockchain address from a requesting device; and

sending, from the server, the trust score for the specified blockchain address to the requesting device.

2. The method of claim 1 , wherein calculating the graph-based scoring feature comprises calculating a number of transactions in which the blockchain address is a receiver address and calculating a number of transactions in which the blockchain address is a sender address.

3. The method of claim 1 , wherein calculating the graph-based scoring feature comprises calculating an amount of funds transacted with the blockchain address.

4. The method of claim 1 , wherein calculating the graph-based scoring feature comprises calculating an amount of funds received by the blockchain address and calculating an amount of funds sent by the blockchain address.

5. The method of claim 1 , wherein the graph-based scoring feature is a first graph-based scoring feature, wherein the set of scoring features includes a second graph-based scoring feature, and wherein calculating the second graph-based scoring feature comprises calculating a distance between the blockchain address node and a plurality of other nodes labeled as fraud in the graph data structure.

6. The method of claim 1 , wherein the set of scoring features includes a transaction rate scoring feature, and wherein calculating the transaction rate scoring feature comprises calculating a rate at which the blockchain address transacts with other blockchain addresses.

7. The method of claim 1 , wherein the set of scoring features includes a transaction amount scoring feature, and wherein calculating the transaction amount scoring feature comprises calculating an amount of funds transacted by the blockchain address within a period of time.

8. The method of claim 1 , wherein the set of scoring features includes a timing scoring feature, and wherein calculating the timing scoring feature comprises calculating a time between entrance of funds into the blockchain address and exit of the funds from the blockchain address.

9. The method of claim 1 , wherein the set of scoring features includes a dormancy scoring feature, and wherein calculating the dormancy scoring feature comprises calculating an amount of time for which the blockchain address does not participate in transactions.

10. The method of claim 9 , wherein calculating the dormancy scoring feature comprises calculating an amount of time for which the blockchain address does not participate in transactions relative to an expected amount of time between transactions for the blockchain address.

11. The method of claim 1 , wherein the set of scoring features includes a request data scoring feature, and wherein calculating the request data scoring feature comprises calculating a number of times a trust score was requested for the blockchain address.

12. The method of claim 1 , wherein the set of scoring features includes a behavior feature that indicates whether the behavior of the blockchain address satisfies conditions specified in a behavior template.

13. The method of claim 12 , wherein the behavior template includes conditions that specify a number of transactions and a rate of transactions.

14. The method of claim 1 , wherein the set of scoring features includes a first behavior feature that indicates whether a behavior of the blockchain address satisfies a first set of conditions specified in a first behavior template, and wherein the set of scoring features includes a second behavior feature that indicates whether the behavior of the blockchain address satisfies a second set of conditions specified in a second behavior template.

15. The method of claim 1 , further comprising:

acquiring a list of fraudulent blockchain addresses; and

labeling the set of the blockchain addresses as fraudulent based on the acquired list.

16. A system comprising:

one or more processing units that execute computer-readable instructions that cause the one or more processing units to:

acquire blockchain data from a blockchain network, wherein the blockchain data includes a plurality of transactions between a plurality of blockchain addresses;

label a set of the blockchain addresses as fraudulent;

generate a graph data structure based on the blockchain data, wherein the graph data structure includes nodes for the blockchain addresses and includes edges between the nodes for blockchain transactions;

calculate a set of scoring features for each blockchain address, wherein each set of scoring features includes a graph-based scoring feature, and wherein calculating the graph-based scoring feature includes calculating a number of transactions associated with the blockchain address in the graph data structure;

generate a scoring model using sets of scoring features for the blockchain addresses that are labeled as fraudulent;

generate a trust score for each of the blockchain addresses using the scoring features associated with the blockchain addresses and the scoring model, wherein the trust score indicates a likelihood that the blockchain address is involved in fraudulent activity;

receive a trust request for a specified blockchain address from a requesting device; and

send the trust score for the specified blockchain address to the requesting device.

17. The system of claim 16 , wherein calculating the graph-based scoring feature comprises calculating a number of transactions in which the blockchain address is a receiver address and calculating a number of transactions in which the blockchain address is a sender address.

18. The system of claim 16 , wherein calculating the graph-based scoring feature comprises calculating an amount of funds transacted with the blockchain address.

19. The system of claim 16 , wherein calculating the graph-based scoring feature comprises calculating an amount of funds received by the blockchain address and calculating an amount of funds sent by the blockchain address.

20. The system of claim 16 , wherein the graph-based scoring feature is a first graph-based scoring feature, wherein the set of scoring features includes a second graph-based scoring feature, and wherein calculating the second graph-based scoring feature comprises calculating a distance between the blockchain address node and a plurality of other nodes labeled as fraud in the graph data structure.

21. The system of claim 16 , wherein the set of scoring features includes a transaction rate scoring feature, and wherein calculating the transaction rate scoring feature comprises calculating a rate at which the blockchain address transacts with other blockchain addresses.

22. The system of claim 16 , wherein the set of scoring features includes a transaction amount scoring feature, and wherein calculating the transaction amount scoring feature comprises calculating an amount of funds transacted by the blockchain address within a period of time.

23. The system of claim 16 , wherein the set of scoring features includes a timing scoring feature, and wherein calculating the timing scoring feature comprises calculating a time between entrance of funds into the blockchain address and exit of the funds from the blockchain address.

24. The system of claim 16 , wherein the set of scoring features includes a dormancy scoring feature, and wherein calculating the dormancy scoring feature comprises calculating an amount of time for which the blockchain address does not participate in transactions.

25. The system of claim 24 , wherein calculating the dormancy scoring feature comprises calculating an amount of time for which the blockchain address does not participate in transactions relative to an expected amount of time between transactions for the blockchain address.

26. The system of claim 16 , wherein the set of scoring features includes a request data scoring feature, and wherein calculating the request data scoring feature comprises calculating a number of times a trust score was requested for the blockchain address.

27. The system of claim 16 , wherein the set of scoring features includes a behavior feature that indicates whether the behavior of the blockchain address satisfies conditions specified in a behavior template.

28. The system of claim 27 , wherein the behavior template includes conditions that specify a number of transactions and a rate of transactions.

29. The system of claim 16 , wherein the set of scoring features includes a first behavior feature that indicates whether a behavior of the blockchain address satisfies a first set of conditions specified in a first behavior template, and wherein the set of scoring features includes a second behavior feature that indicates whether the behavior of the blockchain address satisfies a second set of conditions specified in a second behavior template.

30. The system of claim 16 , wherein the one or more processing units are configured to:

acquire a list of fraudulent blockchain addresses; and

label the set of the blockchain addresses as fraudulent based on the acquired list.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2021
From: INDISPUTABLE LABS, INC.; CORAL PROTOCOL, INC.; CORAL PROTOCOL
To: STRONG FORCE TX PORTFOLIO 2018, LLC
Reel/Frame 056080/0355 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2020
From: KUCHAR, DAVID CHARLES; GARLAND, MALCOLM
To: CORAL PROTOCOL
Reel/Frame 053253/0470 →
Continuity (2)
Provisional Application 62639955 · Mar 7, 2018
Related Publication 20190279215A1 · Sep 12, 2019
Cited By (1)
US 12,490,065