Systems and methods for storing and sharing transactional data using distributed computer systems
AssigneeNasdaq Technology AB
InventorsJohan Toll, Fredrik Sjöblom
Life of this patent
Estimating the term…
Abstract
A computer system that interfaces with a blockchain is provided. The computer system receives match data for a match between a first data transaction request that is associated with a first identifier and a second data transaction request that is associated with a second identifier. A first blockchain transaction is generated based on the match data and stored to a blockchain. At least one further blockchain transaction is generates that splits the match into two different transactions—one between the first identifier and an intermediary and the second between the intermediary. These are recorded to the blockchain via the further blockchain transactions.
Claims20
A distributed computer system comprising:
- non-transitory storage configured to store data for a plurality of accounts including an intermediary account, wherein each of the plurality of accounts is associated with a respective private key;
- at least one computing node of a distributed ledger computer system that includes a plurality of computing nodes, with each of the plurality of computing nodes configured to store a copy, or a portion thereof, of a distributed ledger data structure;
- a computer system that includes at least one hardware processer configured to execute computer executable instructions that perform operations comprising:
- processing match data for each of a plurality of matches between different data transaction requests that are each associated with a respective one of the plurality of accounts, wherein the processing of the match data for each corresponding one of the plurality of matches includes:
- generating a first new distributed ledger identifier based on the respective private key that is associated with the account of the plurality of accounts that is also associated one of the data transactions requests of the respective match,
- generating a second new distributed ledger identifier based on the respective private key that is associated with the account of the plurality of accounts that is associated with another one of the data transactions requests of the respective match, wherein new distributed ledger identifier(s) are generated for each match data that is processed,
- generating a first transaction that is from the first new distributed ledger identifier to an intermediary identifier that is associated with the intermediary account, wherein the first transaction includes at least one value that is included in the match data of the corresponding one of the plurality of matches,
- generating a second transaction that is from the intermediary identifier to the second new distributed ledger identifier, wherein the second transaction includes the at least one value that is included in the match data of the corresponding one of the plurality of matches, and
- submitting the first and second transactions to the distributed ledger computer system to incorporate the first and second transactions into the distributed ledger data structure;
- and
- the at least one computing node of a distributed ledger computer system configured to perform second operations comprising:
- receiving the first and second transactions and generating, in connection with incorporation of the first and second transactions into the distributed ledger data structure, a cryptographic proof that is used to validate the first and second transactions;
- receiving event data;
- validating the event data as coming from an authentic source;
- and
- based on reception of the event data, automatically triggering a further programmatic action or event that is automatically executed, wherein the further programmatic action or event is based on the at least one value included in the first or second transaction for the match data for one of the plurality of matches that has been processed.
A method for interacting with a blockchain that is provided on a blockchain computer system, the method comprising:
- storing data for a plurality of accounts including an intermediary account, wherein each of the plurality of accounts is associated with a respective private key;
- providing at least one computing node of a distributed ledger computer system that includes a plurality of computing nodes, with each of the plurality of computing nodes configured to store a copy, or a portion thereof, of a distributed ledger data structure;
- at a computer system that includes at least one hardware processer:
- processing match data for each of a plurality of matches between different data transaction requests that are each associated with a respective one of the plurality of accounts;
- the processing of the match data for each corresponding one of the plurality of matches including:
- generating a first new distributed ledger identifier based on the respective private key that is associated with the account of the plurality of accounts that is also associated one of the data transactions requests of the respective match,
- generating a second new distributed ledger identifier based on the respective private key that is associated with the account of the plurality of accounts that is associated with another one of the data transactions requests of the respective match, wherein new distributed ledger identifiers are generated for each match data that is processed,
- generating a first transaction that is from the first new distributed ledger identifier to an intermediary identifier that is associated with the intermediary account, wherein the first transaction includes at least one value that is included in the match data of the corresponding one of the plurality of matches,
- generating a second transaction that is from the intermediary identifier to the second new distributed ledger identifier, wherein the second transaction includes the at least one value that is included in the match data of the corresponding one of the plurality of matches, and
- submitting the first and second transactions to the distributed ledger computer system to incorporate the first and second transactions into the distributed ledger data structure;
- and
- at the at least one computing node of a distributed ledger computer system:
- receiving the first and second transactions and generating, in connection with incorporation of the first and second transactions into the distributed ledger data structure, a cryptographic proof that is used to validate the first and second transactions;
- receiving event data;
- validating the event data as coming from an authentic source;
- and
- based on reception of the event data, automatically triggering a further programmatic action or event that is automatically executed, wherein the further programmatic action or event is based on the at least one value included in the first or second transaction for the match data for one of the plurality of matches that has been processed.
A non-transitory computer readable storage medium storing instructions for use with a computer system that includes at least one hardware processor and memory configured to store data for a plurality of accounts including an intermediary account, wherein each of the plurality of accounts is associated with a respective private key, the stored instructions comprising instructions that cause, when executed by the at least one hardware processor, the at least one hardware processor to perform operations comprising:
- providing at least one computing node of a distributed ledger computer system that includes a plurality of computing nodes, with each of the plurality of computing nodes configured to store a copy, or a portion thereof, of a distributed ledger data structure;
- at a computer system that includes at least one hardware processer:
- processing match data for each of a plurality of matches between different data transaction requests that are each associated with a respective one of the plurality of accounts;
- the processing of the match data for each corresponding one of the plurality of matches including:
- generating a first new distributed ledger identifier based on the respective private key that is associated with the account of the plurality of accounts that is also associated one of the data transactions requests of the respective match,
- generating a second new distributed ledger identifier based on the respective private key that is associated with the account of the plurality of accounts that is associated with another one of the data transactions requests of the respective match, wherein new distributed ledger identifiers are generated for each match data that is processed,
- generating a first transaction that is from the first new distributed ledger identifier to an intermediary identifier that is associated with the intermediary account, wherein the first transaction includes at least one value that is included in the match data of the corresponding one of the plurality of matches,
- generating a second transaction that is from the intermediary identifier to the second new distributed ledger identifier, wherein the second transaction includes the at least one value that is included in the match data of the corresponding one of the plurality of matches, and
- submitting the first and second transactions to the distributed ledger computer system to incorporate the first and second transactions into the distributed ledger data structure;
- and
- at the at least one computing node of a distributed ledger computer system:
- receiving the first and second transactions and generating, in connection with incorporation of the first and second transactions into the distributed ledger data structure, a cryptographic proof that is used to validate the first and second transactions;
- receiving event data;
- validating the event data as coming from an authentic source;
- and
- based on reception of the event data, automatically triggering a further programmatic action or event that is automatically executed, wherein the further programmatic action or event is based on the at least one value included in the first or second transaction for the match data for one of the plurality of matches that has been processed.
Dependencies are inferred from the claim text.