IP Library › Granted Patent US 11,888,981
Granted Patent B2
US 11,888,981 · App. 17/404,230 · Granted Jan 30, 2024

Privacy preserving auditable accounts

Inventors: Elli Androulaki (Zurich, CH); Kaoutar El Khiyaoui (Zurich, CH)
Assignee: International Business Machines Corporation
H04L9/088H04L9/30H04L9/3247
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 11,888,981
App. No.
17/404,230
Granted
Jan 30, 2024
Kind
B2
Abstract

An approach for privacy-preserving auditable accounts on blockchain networks. The approach may include encoding tokens associated with a blockchain network. The encoding may include data relating to the current epoch, where an epoch is a specific time range. The tokens may be received from a user for inspection by an auditing entity. The approach may include performing an audit check on the encoded tokens. If the audit check succeeds, the auditing entity may submit an audit transaction verifying the tokens were generated in the current epoch and making the tokens auditable for the next epoch.

Claims (74)

1. A computer-implemented method for privacy-preserving auditable accounts, the method comprising:

generating at least one token, wherein the at least one token is encoded with an owner identifier, a type, a value, a current epoch, transferability, a seed, and a r value;

generating a zero-knowledge proof, wherein the zero-knowledge proof denotes the owner of the at least one token is a registered user of a blockchain network;

assembling a first transaction message, wherein the first transaction message comprises the at least one token, the zero-knowledge proof, and a public key of an issuer;

signing the first transaction message, wherein the signature is based on a private key associated with the issuer's public key;

broadcasting the first transaction message to the blockchain network;

transferring the ownership of one or more tokens, wherein transferring comprises consuming tokens to be transferred and creating one or more tokens with the same value and type of the input tokens, and which encode the current epoch, a second seed, and a second r value, the new owner identifier and a bit that indicates that they are not transferable yet;

generating a token serial number for each of the one or more input tokens;

generating a second zero-knowledge proof to show the input tokens are transferrable and that the newly created tokens are not; and

generating a second anonymous signature for the transaction, wherein the second anonymous signature demonstrates the signer knows a secret key of the owner of the one or more input tokens.

2. The computer-implemented method of claim 1 , further comprising:

verifying the transaction message.

3. The computer-implemented method of claim 2 , wherein verification comprises:

determining if the issuer is authorized to create the type of token corresponding to the token in the transaction message;

determining if the issuer's signature is valid, wherein the signature is checked against the public key in the transaction message; and

determining if the zero knowledge proof is valid.

4. The computer-implemented method of claim 1 , wherein transfer further comprises:

assembling a second transaction message, comprising the token serial number the second zero knowledge proof, and the newly-created tokens one or more tokens; and

signing the second transaction message.

5. The computer-implemented method of claim 4 , further comprising:

validating the second transaction message, wherein validating is based at least in part on determining if the one or more newly created tokens within the second transaction message have been encoded with the current epoch and are not transferable yet.

6. The computer implemented method of claim 5 , further comprising:

responsive to validating the second transaction message, issuing a second account transaction marking the one or more created tokens as transferrable; and

account transaction is comprised of a zero-knowledge proof and an auditor's signature.

7. A computer system for privacy-preserving auditable accounts, the system comprising:

a memory; and

a processor in communication with the memory, the processor being configured to perform operations comprising:

generate at least one token, wherein the at least one token is encoded with an owner identifier, a type, a value a current epoch, transferability, a seed, and a r value;

generate a zero-knowledge proof, wherein the zero-knowledge proof denotes the owner of the at least one token is a registered user of a blockchain network;

assemble a first transaction message, wherein the first transaction message comprises the at least one token, the zero-knowledge proof, and a public key of an issuer;

sign the first transaction message, wherein the signature is based on a private key associated with the issuer's public key;

broadcast the first transaction message to the blockchain network;

transfer the ownership of one or more tokens, wherein the transfer operations comprise: consume tokens to be transferred and creating one or more tokens with the same value and type of the input tokens, and which encode the current epoch, a second seed, and a second r value, the new owner identifier and a bit that indicates that they are not transferable yet;

generate a token serial number for each of the one or more input tokens;

generate a second zero-knowledge proof to show the input tokens are transferrable and that the newly created tokens are not; and

generate a second anonymous signature for the transaction, wherein the second anonymous signature demonstrates the signer knows a secret key of the owner of the one or more input tokens.

8. The computer system of claim 7 , further comprising operations to:

verify the transaction message.

9. The computer system of claim 8 , wherein the operation of verification comprises:

determine if the issuer is authorized to create the type of token corresponding to the token in the transaction message;

determine if the issuer's signature is valid, wherein the signature is checked against the public key in the transaction message; and

determine if the zero knowledge proof is valid.

10. The computer system of claim 7 , wherein transfer further comprises operations to:

assemble a second transaction message, comprising the token serial number the second zero knowledge proof, and the newly-created tokens one or more tokens; and

sign the second transaction message.

11. The computer-system of claim 10 , further comprising operations to:

validating the second transaction message, wherein validating is based at least in part on determining if the one or more newly created tokens within the second transaction message have been encoded with the current epoch and are not transferable yet.

12. The computer system of claim 11 , further comprising:

responsive to validating the second transaction message, issue a second account transaction marking the one or more created tokens as transferrable; and

account transaction is comprised of a zero-knowledge proof and an auditor's signature.

13. A computer program product for privacy-preserving auditable accounts, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processors to perform operations, the operations comprising:

generate at least one token, wherein the at least one token is encoded with an owner identifier, a type, a value, a current epoch, transferability, a seed, and a r value;

generate a zero-knowledge proof, wherein the zero-knowledge proof denotes the owner of the at least one token is a registered user of a blockchain network;

assemble a first transaction message, wherein the first transaction message comprises the at least one token, the zero-knowledge proof, and a public key of an issuer;

sign the first transaction message, wherein the signature is based on a private key associated with the issuer's public key;

broadcast the first transaction message to the blockchain network;

transfer the ownership of one or more tokens, wherein the transfer operations comprise: consume tokens to be transferred and creating one or more tokens with the same value and type of the input tokens, and which encode the current epoch, a second seed, and a second r value, the new owner identifier and a bit that indicates that they are not transferable yet;

generate a token serial number for each of the one or more input tokens;

generate a second zero-knowledge proof to show the input tokens are transferrable and that the newly created tokens are not; and

generate a second anonymous signature for the transaction, wherein the second anonymous signature demonstrates the signer knows a secret key of the owner of the one or more input tokens.

14. The computer program product of claim 13 , further comprising operations to:

verify the transaction message.

15. The computer program product of claim 14 , wherein the operation of verification comprises:

determine if the issuer is authorized to create the type of token corresponding to the token in the transaction message;

determine if the issuer's signature is valid, wherein the signature is checked against the public key in the transaction message; and

determine if the zero knowledge proof is valid.

16. The computer program product of claim 13 , wherein transfer further comprises operations to:

assemble a second transaction message, comprising the token serial number the second zero knowledge proof, and the newly-created tokens one or more tokens; and

sign the second transaction message.

17. The computer program product of claim 16 , further comprising operations to:

validate the second transaction message, wherein validating is based at least in part on determining if the one or more newly created tokens within the second transaction message have been encoded with the current epoch and are not transferable yet.

18. The computer program product of claim 17 , further comprising:

responsive to validating the second transaction message, issue a second account transaction marking the one or more created tokens as transferrable; and

account transaction is comprised of a zero-knowledge proof and an auditor's signature.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2021
From: ANDROULAKI, ELLI; EL KHIYAOUI, KAOUTAR
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 057201/0146 →
Continuity (1)
Related Publication 20230057898A1 · Feb 23, 2023
Cited By (1)
US 12,739,124