Securing data transactions through a distributed ledger system
AssigneeDell Products L.P.
InventorsROMAN BOBER, STAV SAPIR, MAXIM BALIN
Life of this patent
Estimating the term…
Abstract
Methods and systems for storing data are disclosed. To store data, transactions may be generated and sent to a storage system. Hashes of the transaction may also be generated and distributed to ledger agents of a distributed ledger system. The hashes of the transaction may be used by the storage system to verify integrity of the transaction. To establish trust in the ledger agents, the storage system may require that the hashes of the transaction be signed with a private key. The private key may be protected with multiple protection mechanisms.
Claims20
A method for storing data in a distributed system, the method comprising:
- obtaining a transaction from a data modifier, the transaction documenting a change to data maintained by a database;
- responsive to obtaining the transaction:
- selecting ledger agents for verification of the transaction, the ledger agents storing hash values usable to verify the transaction;
- obtaining signed copies of the hash values from the ledger agents;
- attempting to verify authenticity of the signed copies of the hash values using a public key to identify a first portion of the copies of the hash values that are trustworthy;
- obtaining a consistent hash value using the first portion of the copies of the hash values that are trustworthy;
- attempting to verify the transaction using the consistent hash value;
- in a first instance of the attempting to verify the transaction where the transaction is verifiable:
- processing the transaction to update the database;
- in a second instance of the attempting to verify the transaction where the transaction cannot be verified:
- rejecting the transaction.
A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations for storing data in a distributed system, the operation comprising:
- obtaining a transaction from a data modifier, the transaction documenting a change to data maintained by a database;
- responsive to obtaining the transaction:
- selecting ledger agents for verification of the transaction, the ledger agents storing hash values usable to verify the transaction;
- obtaining signed copies of the hash values from the ledger agents;
- attempting to verify authenticity of the signed copies of the hash values using a public key to identify a first portion of the copies of the hash values that are trustworthy;
- obtaining a consistent hash value using the first portion of the copies of the hash values that are trustworthy;
- attempting to verify the transaction using the consistent hash value;
- in a first instance of the attempting to verify the transaction where the transaction is verifiable:
- processing the transaction to update the database;
- in a second instance of the attempting to verify the transaction where the transaction cannot be verified:
- rejecting the transaction.
A data processing system, comprising:
- a processor;
- and
- a memory coupled to the processor to store instructions, which when executed by the processor, cause the processor to perform operations for storing data in a distributed system, the operations comprising:
- obtaining a transaction from a data modifier, the transaction documenting a change to data maintained by a database;
- responsive to obtaining the transaction:
- selecting ledger agents for verification of the transaction, the ledger agents storing hash values usable to verify the transaction;
- obtaining signed copies of the hash values from the ledger agents;
- attempting to verify authenticity of the signed copies of the hash values using a public key to identify a first portion of the copies of the hash values that are trustworthy;
- obtaining a consistent hash value using the first portion of the copies of the hash values that are trustworthy;
- attempting to verify the transaction using the consistent hash value;
- in a first instance of the attempting to verify the transaction where the transaction is verifiable:
- processing the transaction to update the database;
- in a second instance of the attempting to verify the transaction where the transaction cannot be verified:
- rejecting the transaction.
Dependencies are inferred from the claim text.