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
-
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.
-
The apparatus of claim 1, the component collection further comprising an Auditing component, wherein 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 corresponding to the transaction from the segment of the blockchain.
- The apparatus of claim 1, wherein the source public key comprises a string of alphanumeric characters greater than 27 characters in length.
- The apparatus of claim 1, wherein the source address comprises a RIPEMD-160 hash of an SHA256 hash of the source public key.
- The apparatus of claim 1, wherein the destination public key comprises a string of alphanumeric characters greater than 27 characters in length.
- The apparatus of claim 1, wherein the destination address comprises a RIPEMD-160 hash of an SHA256 hash of the source address.
- The apparatus of claim 1, wherein the transaction comprises a virtual currency transaction.
- The apparatus of claim 1, wherein the bloom filter comprises 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.
- The apparatus of claim 8, wherein the source address can not be recovered from the sequence using a reverse hashing algorithm.
- The apparatus of claim 8, the LCG is used to hash the source address several times to generate the sequence.
- The apparatus of claim 8, wherein the LCG is applied to separate segments of the source address to generate the sequence.
- The apparatus of claim 1, wherein 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.
- The apparatus of claim 12, wherein the destination address can not be recovered from the sequence using a reverse hashing algorithm.
- The apparatus of claim 12, the bloom filter is used to hash the destination address several times to generate the sequence.
- The apparatus of claim 12, wherein the bloom filter is applied to separate segments of the destination address to generate the sequence.
- The apparatus of claim 1, wherein the distance matrix is established so that a transaction amount corresponds to an outflow of the transaction amount from the source address to the destination address.
- The apparatus of claim 1, wherein the distance matrix is established so that a transaction amount corresponds to an inflow of the transaction amount from the source address to the destination address.
-
The apparatus of claim 1, wherein 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.
-
The apparatus of claim 1, wherein 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.
-
A processor-implemented blockchain transaction data auditing system, comprising:
a blockchain recordation component means, 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 record the transaction in a blockchain comprising a plurality of hashes of transaction records;
a bloom filter component means, 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; and
a matrix conversion component means, to:
add the source wallet address as a first row and a column entry to a stored sparse 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.
-
The apparatus of claim 20, further comprising a data auditing component means 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 corresponding to the transaction from the segment of the blockchain.
-
A processor-implemented blockchain transaction data auditing method, comprising:
executing processor-implemented blockchain recordation component instructions 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 record the transaction in a blockchain comprising a plurality of hashes of transaction records;
executing processor-implemented bloom filter component instructions 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; and
executing processor-implemented matrix conversion component instructions 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.
-
A blockchain transaction data auditing system, comprising:
means for receiving 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 corresponding to a destination virtual currency wallet;
means for verifying that the transaction amount is available in the source virtual currency wallet; and
means for cryptographically record the transaction in a blockchain comprising a plurality of hashes of transaction records;
means for retrieving the source address and the destination address;
means for hashing the source address using a bloom filter to generate a source wallet address;
means for hashing the destination address using the bloom filter to generate a destination wallet address; and
means for inserting the source wallet address as a first row and a column entry to a stored distance matrix representing the plurality of transactions;
means for inserting the destination wallet address as a second row and column entry to the stored distance matrix representing the plurality of transactions;
means for inserting 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
means for generating 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.
Owners (US)
-
Fmr Llc
(Mar 03 2017)
Explore more patents:
Applicants
-
Fmr Llc
Explore more patents:
Inventors
-
Sheng Xinxin
Explore more patents:
-
Mcguire Thomas
Explore more patents:
-
Chiu Amanda
Explore more patents:
-
Hromi Jonathan
Explore more patents:
-
Chawla Raghav
Explore more patents:
Document Preview
- Publication: Apr 20, 2017
-
Application:
Jul 14, 2016
US 201615210781 A
-
Priority:
Jul 14, 2016
US 201615210781 A
-
Priority:
Jul 13, 2016
US 201615209701 A
-
Priority:
Jul 13, 2016
US 201615209709 A
-
Priority:
Jul 13, 2016
US 201615209714 A
-
Priority:
Feb 9, 2016
US 201615019926 A
-
Priority:
Dec 31, 2015
US 201562273447 P
-
Priority:
Dec 31, 2015
US 201562273449 P
-
Priority:
Dec 31, 2015
US 201562273450 P
-
Priority:
Dec 31, 2015
US 201562273452 P
-
Priority:
Dec 31, 2015
US 201562273453 P
-
Priority:
Dec 8, 2015
US 201514963165 A
-
Priority:
Jul 14, 2015
US 201514799282 A
-
Priority:
Jul 14, 2015
US 201514799242 A
-
Priority:
Jul 14, 2015
US 201514799229 A