IP Library Granted Patent US 12,493,872
Granted Patent B2
US 12,493,872 · App. 17/972,559 · Granted Dec 9, 2025

Computationally efficient transfer processing and auditing apparatuses, methods and systems

Inventors: Xinxin Sheng (Cary, NC); Thomas Stephen McGuire (Gaway, IE); Amanda Chiu (San Francisco, CA); Jonathan Hromi (Watertown, MA); Raghav Chawla (Cambridge, MA)
Assignee: FMR LLC
G06Q20/3678G06Q20/065G06Q20/3674G06Q20/3829G06Q20/403H04L9/14H04L9/3242H04L9/3297G06Q2220/00H04L9/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,493,872
App. No.
17/972,559
Granted
Dec 9, 2025
Kind
B2
Abstract

The Computationally Efficient Transfer Processing, Auditing, and Search Apparatuses, Methods and Systems (“SOCOACT”) transforms smart contract request, crypto currency deposit request, crypto collateral deposit request, crypto currency transfer request, crypto collateral transfer request inputs via SOCOACT components into transaction confirmation outputs. Also, SOCOACT transforms transaction record inputs via SOCOACT components into matrix and list tuple outputs for computationally efficient auditing. A blockchain transaction data auditing apparatus comprises a blockchain recordation component, a matrix Conversion component, and a bloom filter component. The blockchain recordation component receives a plurality of transaction records for each of a plurality of transactions, each transaction record comprising a source address, a destination address, a transaction amount and a timestamp of a transaction; the source address comprising a source wallet address corresponding to a source digital wallet, and the destination address comprising a destination wallet address corresponding to a destination virtual currency wallet; verifies that the transaction amount is available in the source virtual currency wallet; and when the transaction amount is available, cryptographically records the transaction in a blockchain comprising a plurality of hashes of transaction records. The Bloom Filter component receives the source address and the destination address, hashes the source address using a Bloom Filter to generate a source wallet address, and hashes the destination address using the Bloom Filter to generate a destination wallet address. The Matrix Conversion component adds the source wallet address as a first row and a column entry to a stored distance matrix representing the plurality of transactions, adds the destination wallet address as a second row and column entry to the stored distance matrix representing the plurality of transactions, adds the transaction amount and the timestamp as an entry to the row corresponding to the source wallet address and the column corresponding to the destination wallet address; and generate a list representation of the matrix, where each entry in the list comprises a tuple having the source wallet address, the destination wallet address, the transaction amount and the timestamp.

Claims (97)

1 . A blockchain transaction data auditing apparatus, comprising:

a memory;

a component collection in the memory, including:

a blockchain recordation component;

a matrix conversion component, and

a bloom filter component;

a processor disposed in communication with the memory, and configured to issue a plurality of processing instructions from the component collection stored in the memory,

wherein the processor issues instructions from the blockchain recordation component, stored in the memory, to:

receive a plurality of transaction records for each of a plurality of transactions, each transaction record comprising a source address, a destination address, a transaction amount and a timestamp of a transaction; the source address corresponding to a source digital wallet, and the destination address corresponding to a destination virtual currency wallet;

verify that the transaction amount is available in the source virtual currency wallet; and

when the transaction amount is available, cryptographically recording the transaction in a blockchain comprising a plurality of hashes of transaction records;

wherein the processor issues instructions from the bloom filter component, stored in the memory, to:

receive the source address and the destination address;

hash the source address using a bloom filter to generate a source wallet address;

hash the destination address using the bloom filter to generate a destination wallet address;

wherein the processor issues instructions from the matrix conversion component, stored in the memory, to:

add the source wallet address as a first row and a column entry to a stored distance matrix representing the plurality of transactions;

add the destination wallet address as a second row and column entry to the stored distance matrix representing the plurality of transactions;

add the transaction amount and the timestamp as an entry to the row corresponding to the source wallet address and the column corresponding to the destination wallet address; and

generate a list representation of the matrix, where each entry in the list comprises a tuple having the source wallet address, the destination wallet address, the transaction amount and the timestamp.

2 . A blockchain transaction data auditing apparatus, comprising:

at least one memory;

a component collection stored in the at least one memory;

at least one processor disposed in communication with the at least one memory, the at least one processor executing processor-executable instructions from the component collection, the component collection storage structured with processor-executable instructions comprising:

receive a plurality of transaction record datastructures for each of a plurality of transactions, each transaction record datastructure comprising a source address, a destination address, a transaction amount and a timestamp of a transaction, in which the source address corresponding to a source digital wallet, and the destination address corresponding to a destination virtual currency wallet;

verify, via the source address corresponding to the source digital wallet, that the transaction amount is available in the source digital wallet; and

cryptographically recording the transaction record datastructure in a blockchain comprising a plurality of hashes of transaction records;

receive the source address and the destination address;

hash the source address using a bloom filter to generate a source wallet address;

hash the destination address using the bloom filter to generate a destination wallet address;

add the source wallet address as a first row and a column entry to a matrix datastructure representing a weighted graph of the plurality of transactions;

add the destination wallet address as a second row and column entry to the matrix datastructure representing a weighted graph of the plurality of transactions;

add the transaction amount and the timestamp as an entry to the row corresponding to the source wallet address and the column corresponding to the destination wallet address; and

generate a list representation of the matrix datastructure, where each entry in the list comprises a tuple having the source wallet address, the destination wallet address, the transaction amount and the timestamp.

3 . The apparatus of claim 2 , the component collection further comprising an Auditing component, in which the processor issues instructions from the Auditing component, stored in the memory, to:

receive a request to search for a prior transaction including the source address;

obtain the source wallet address corresponding to the source address from the bloom filter component;

search the list for the tuple including the source wallet address; and

when the tuple comprises the source wallet address, retrieve the timestamp corresponding to the transaction, decrypt a segment of the blockchain corresponding to the timestamp, and retrieve the transaction record datastructure corresponding to the transaction from the segment of the blockchain.

4 . The apparatus of claim 2 , in which a list-of-lists datastructure includes at least one tuple per list with each entry containing the row index, the column index and the value; and, further comprising:

updating incremental matrix construction as an updated list-of-lists datastructure with new transaction details structured as searchable.

5 . The apparatus of claim 2 , in which the source address comprises a hash of a source public key, the source public key comprises a string of alphanumeric characters greater than 27 characters in length.

6 . The apparatus of claim 2 , in which the source address comprises a RIPEMD-160 hash of an SHA256 hash of a source public key.

7 . The apparatus of claim 2 , in which the destination address comprises a hash of a destination public key, the destination public key comprises a string of alphanumeric characters greater than 27 characters in length.

8 . The apparatus of claim 2 , in which the destination address comprises a RIPEMD-160 hash of an SHA256 hash of the source address.

9 . The apparatus of claim 2 , in which the transaction comprises a virtual currency transaction.

10 . The apparatus of claim 2 , further comprising the bloom filter, the bloom filter comprising a linear congruential generator (LCG) algorithm that hashes the source address having a first storage bandwidth requirement into a sequence of pseudo-randomized outputs having a second storage bandwidth requirement that is lower than the first storage bandwidth requirement.

11 . The apparatus of claim 10 , in which the source address can not be recovered from the sequence using a reverse hashing algorithm.

12 . The apparatus of claim 10 , the LCG is used to hash the source address several times to generate the sequence.

13 . The apparatus of claim 10 , in which the LCG is applied to separate segments of the source address to generate the sequence.

14 . The apparatus of claim 2 , in which the bloom filter hashes the destination address having a first storage bandwidth requirement into a sequence of pseudo-randomized outputs having a second storage bandwidth requirement that is lower than the first storage bandwidth requirement.

15 . The apparatus of claim 14 , in which the destination address can not be recovered from the sequence using a reverse hashing algorithm.

16 . The apparatus of claim 14 , the bloom filter is used to hash the destination address several times to generate the sequence.

17 . The apparatus of claim 14 , in which the bloom filter is applied to separate segments of the destination address to generate the sequence.

18 . The apparatus of claim 2 , in which the matrix datastructure contains t a transaction amount that corresponds to an outflow of the transaction amount from the source address to the destination address.

19 . The apparatus of claim 2 , in which the matrix datastructure contains a transaction amount that corresponds to an inflow of the transaction amount from the source address to the destination address.

20 . The apparatus of claim 2 , in which the processor issues instructions from the bloom filter component, stored in the memory, to:

determine a list of corresponding false positives for hash of the source address; and

store the source wallet address with a list of the corresponding false positives.

21 . The apparatus of claim 2 , in which the processor issues instructions from the bloom filter component, stored in the memory, to:

determine a list of corresponding false positives for hash of the destination address; and

store the destination wallet address with a list of the corresponding false positives.

22 . A blockchain transaction data auditing processor-readable, non-transient medium, the medium storing a component collection, the component collection storage structured with processor-executable instructions, a processor executing the processor-executable instructions and causes the processor to perform the functions comprising:

receive a plurality of transaction record datastructures for each of a plurality of transactions, each transaction record datastructure comprising a source address, a destination address, a transaction amount and a timestamp of a transaction, in which the source address corresponding to a source digital wallet, and the destination address corresponding to a destination virtual currency wallet;

verify, via the source address corresponding to the source digital wallet, that the transaction amount is available in the source digital wallet; and

cryptographically recording the transaction record datastructure in a blockchain comprising a plurality of hashes of transaction records;

receive the source address and the destination address;

hash the source address using a bloom filter to generate a source wallet address;

hash the destination address using the bloom filter to generate a destination wallet address;

add the source wallet address as a first row and a column entry to a matrix datastructure representing a weighted graph of the plurality of transactions;

add the destination wallet address as a second row and column entry to the matrix datastructure representing a weighted graph of the plurality of transactions;

add the transaction amount and the timestamp as an entry to the row corresponding to the source wallet address and the column corresponding to the destination wallet address; and

generate a list representation of the matrix datastructure, where each entry in the list comprises a tuple having the source wallet address, the destination wallet address, the transaction amount and the timestamp.

23 . A blockchain transaction data auditing processor-implemented system, comprising:

means to store a component collection;

means to process and execute processor-executable instructions from the component collection, the component collection storage structured with processor-executable instructions including:

receive a plurality of transaction record datastructures for each of a plurality of transactions, each transaction record datastructure comprising a source address, a destination address, a transaction amount and a timestamp of a transaction, in which the source address corresponding to a source digital wallet, and the destination address corresponding to a destination virtual currency wallet;

verify, via the source address corresponding to the source digital wallet, that the transaction amount is available in the source digital wallet; and

cryptographically recording the transaction record datastructure in a blockchain comprising a plurality of hashes of transaction records;

receive the source address and the destination address;

hash the source address using a bloom filter to generate a source wallet address;

hash the destination address using the bloom filter to generate a destination wallet address;

add the source wallet address as a first row and a column entry to a matrix datastructure representing a weighted graph of the plurality of transactions;

add the destination wallet address as a second row and column entry to the matrix datastructure representing a weighted graph of the plurality of transactions;

add the transaction amount and the timestamp as an entry to the row corresponding to the source wallet address and the column corresponding to the destination wallet address; and

generate a list representation of the matrix datastructure, where each entry in the list comprises a tuple having the source wallet address, the destination wallet address, the transaction amount and the timestamp.

24 . A blockchain transaction data auditing process, including processing processor-executable instructions via at least one processor from a component collection stored in at least one memory, the component collection storage structured with processor-executable instructions comprising:

receive a plurality of transaction record datastructures for each of a plurality of transactions, each transaction record datastructure comprising a source address, a destination address, a transaction amount and a timestamp of a transaction, in which the source address corresponding to a source digital wallet, and the destination address corresponding to a destination virtual currency wallet;

verify, via the source address corresponding to the source digital wallet, that the transaction amount is available in the source digital wallet; and

cryptographically recording the transaction record datastructure in a blockchain comprising a plurality of hashes of transaction records;

receive the source address and the destination address;

hash the source address using a bloom filter to generate a source wallet address;

hash the destination address using the bloom filter to generate a destination wallet address;

add the source wallet address as a first row and a column entry to a matrix datastructure representing a weighted graph of the plurality of transactions;

add the destination wallet address as a second row and column entry to the matrix datastructure representing a weighted graph of the plurality of transactions;

add the transaction amount and the timestamp as an entry to the row corresponding to the source wallet address and the column corresponding to the destination wallet address; and

generate a list representation of the matrix datastructure, where each entry in the list comprises a tuple having the source wallet address, the destination wallet address, the transaction amount and the timestamp.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2024
From: SHENG, XINXIN; MCGUIRE, THOMAS STEPHEN; CHIU, AMANDA; HROMI, JONATHAN; CHAWLA, RAGHAV
To: FMR LLC
Reel/Frame 068026/0355 →
Continuity (17)
Continuation 15486243 · Apr 12, 2017
Continuation 15210781 · Jul 14, 2016
Continuation PCTUS2016042169 · Jul 13, 2016
Continuation 15209714 · Jul 13, 2016
Continuation 15209709 · Jul 13, 2016
Continuation 15209701 · Jul 13, 2016
Continuation 15019926 · Feb 9, 2016
Continuation 14799229 · Jul 14, 2015
Continuation 14799242 · Jul 14, 2015
Continuation 14799282 · Jul 14, 2015
Continuation 14963165 · Dec 8, 2015
Provisional Application 62273453 · Dec 31, 2015
Provisional Application 62273452 · Dec 31, 2015
Provisional Application 62273450 · Dec 31, 2015
Provisional Application 62273449 · Dec 31, 2015
Provisional Application 62273447 · Dec 31, 2015
Related Publication 20230053709A1 · Feb 23, 2023
References Cited (14)
US 6202068B1 · Kraay et al. · 2001 [cited by applicant]
US 9967333B2 · Chen · 2018 [cited by examiner]
US 10484168B2 · Ford · 2019 [cited by examiner]
US 20120158586A1 · Ganti · 2012 [cited by examiner]
US 20160073279A1 · Johnsson · 2016 [cited by examiner]
US 20160086175A1 · Finlow-Bates · 2016 [cited by examiner]
“On the Privacy Provisions of Bloom Filters in Lightweight Bitcoin Clients”, Arthur Gervais et al., International Association For Cryptologic Research, vol. 20141013:202348, Oct. 2014, pp. 1-11. [cited by applicant]
“'Developer Guide -Bitcoin”, Anonymous, May 11, 2015, pp. 1-48. [cited by applicant]
European Search Report, dated 2019-02-13 for EP Application No. 16825146.0. [cited by applicant]
Supplementary Search Report dated 2019-05-27 for EP Application No. 16825146. [cited by applicant]
“Distributed Consensus Technologies in Crytocurrency Applications”, Francisco Rivera, Jul. 15, 2014. [cited by applicant]
“Blockchain Electronic Vote Contents”, Pierre Noizat et al., Apr. 29, 2015. [cited by applicant]
“Smart Oracles: A Simple, Powerful Approach to Smart Contracts? Codius/codius WiKi? GitHub”, Jul. 17, 2014, https://github.com/codius/codius/wiki/Smart-Oracles :- A-Simple,-Powerful-Approach-to-Smart-Contracts. [cited by applicant]
“Crytocurrencies, smart contracts, and artificial intelligence”, Steve Omohundro, Dec. 19, 2014, AI Matters, ACM vol. 1, No. 2. [cited by applicant]