Selective audit process for privacy-preserving blockchain
AssigneeInternational Business Machines Corporation
InventorsKaoutar El Khiyaoui, Angelo De Caro
Life of this patent
Estimating the term…
Abstract
An example operation may include one or more of identifying a first blockchain transaction stored on a blockchain ledger based on a first identifier of a user that submitted the first blockchain transaction, retrieving a secret key shared between an auditor node and the user, decrypting, via the auditor node, ciphertexts included in the first blockchain transaction based on the secret key to recover a second user identifier of the user, and identifying, via the auditor node, a second blockchain transaction of the user stored on the blockchain ledger which includes the second user identifier.
Claims13
An apparatus, comprising:
- a hardware-implemented processor configured to:
- identify, based on a first user identifier of a user that submitted a first blockchain transaction, the first blockchain transaction stored on a blockchain ledger;
- retrieve a secret key shared between an auditor node and the user;
- decrypt, via the auditor node, based on the secret key, ciphertexts and transaction details included in the first blockchain transaction;
- validate, via the auditor node, the transaction details against a determined audit criteria, wherein the validation includes validation of a zero-knowledge proof (ZKP), submitted by the user, included in the first blockchain transaction;
- recover a second user identifier of the user based on the decryption of the ciphertexts, and the validation;
- identify, via the auditor node, a second blockchain transaction of the user based on the recovery of the second user identifier, wherein
- the second blockchain transaction is stored on the blockchain ledger, and
- the second blockchain transaction includes the second user identifier;
- decrypt, based on the secret key, ciphertexts included in the second blockchain transaction;
- and
- recover a third user identifier based on the decryption of the ciphertexts included in the second blockchain transaction.
A computer-implemented method, comprising:
- identifying, based on a first user identifier of a user that submitted a first blockchain transaction, the first blockchain transaction stored on a blockchain ledger;
- retrieving a secret key shared between an auditor node and the user;
- decrypting, via the auditor node, based on the secret key, ciphertexts and transaction details included in the first blockchain transaction;
- validating, via the auditor node, the transaction details against a determined audit criteria, wherein the validating comprises validating a zero-knowledge proof (ZKP), submitted by the user, included in the first blockchain transaction;
- recovering a second user identifier of the user based on the decrypting of the ciphertexts, and the validating;
- identifying, via the auditor node, a second blockchain transaction of the user based on the recovery of the second user identifier, wherein
- the second blockchain transaction is stored on the blockchain ledger, and
- the second blockchain transaction includes the second user identifier;
- decrypting, based on the secret key, ciphertexts included in the second blockchain transaction;
- and
- recovering a third user identifier based on the decrypting of the ciphertexts included in the second blockchain transaction.
A non-transitory computer-readable storage medium comprising instructions, that when read by a hardware-implemented processor, cause the hardware-implemented processor to perform:
- identifying, based on a first user identifier of a user that submitted a first blockchain transaction, the first blockchain transaction stored on a blockchain ledger;
- retrieving a secret key shared between an auditor node and the user;
- decrypting, via the auditor node, based on the secret key, ciphertexts and transaction details included in the first blockchain transaction;
- validating, via the auditor node, the transaction details against a determined audit criteria, wherein the validating includes validating a zero-knowledge proof (ZKP), submitted by the user, included in the first blockchain transaction;
- recovering a second user identifier of the user based on the decrypting of the ciphertexts, and the validating;
- identifying, via the auditor node, a second blockchain transaction of the user based on the recovery of the second user identifier, wherein
- the second blockchain transaction is stored on the blockchain ledger, and
- the second blockchain transaction includes the second user identifier;
- decrypting, based on the secret key, ciphertexts included in the second blockchain transaction;
- and
- recovering a third user identifier based on the decrypting of the ciphertexts included in the second blockchain transaction.
Dependencies are inferred from the claim text.