IP Library Granted Patent US 10,721,069
Granted Patent B2
US 10,721,069 · App. 16/283,452 · Granted Jul 21, 2020

Methods and systems for enhancing privacy and efficiency on distributed ledger-based networks

Inventors: Chaitanya Reddy Konda (London, GB); Duncan James Westland (Addlestone, GB); Paul Richard Brody (Woodside, CA)
Assignee: EYGS LLP
H04L9/3218H04L9/0643H04L9/30H04L9/3213H04L9/3234H04L9/3242H04L9/3221H04L2209/38
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 10,721,069
App. No.
16/283,452
Granted
Jul 21, 2020
Kind
B2
Abstract

One or more embodiments described herein disclose methods and systems that are directed at providing enhanced privacy, efficiency and security to distributed ledger-based networks (DLNs) via the implementation of zero-knowledge proofs (ZKPs) in the DLNs. ZKPs allow participants of DLNs to make statements on the DLNs about some private information and to prove the truth of the information without having to necessarily reveal the private information publicly. As such, the disclosed methods and systems directed at the ZKP-enabled DLNs provide privacy and efficiency to participants of the DLNs while still allowing the DLNs to remain as consensus-based networks.

Claims (91)

1. A method, comprising:

receiving a request that is configured to cause a transfer of a combined asset from a sender to a recipient, the combined asset including a first asset and a second asset, the first asset and the second asset represented on a distributed ledger-based network (DLN) by a first token commitment and a second token commitment, respectively;

generating, upon receiving the request, a combined non-fungible token identifying the combined asset, the combined non-fungible token including a combination of: 1) a first non-fungible token identifying the first asset and obtained via an application of a first hashing function on a first identifying parameter of the first asset, and 2) a second non-fungible token identifying the second asset and obtained via an application of a second hashing function on a second identifying parameter of the second asset,

the combined non-fungible token obtained via an application of a concatenation operator on the first non-fungible token and the second non-fungible token;

providing, by a provider and to a self-executing code segment on the DLN, a zero-knowledge proof (ZKP) that the provider has knowledge of an identity of:

(1) the first non-fungible token, the first token commitment obtained via an application of a third hashing function on the first non-fungible token;

(2) the second non-fungible token, the second token commitment obtained via an application of a fourth hashing function on the second non-fungible token; and/or

(3) the combined non-fungible token, a third token commitment representing the combined asset on the DLN obtained via an application of a fifth hashing function on the combined non-fungible token; and

receiving, upon verification of the ZKP by the self-executing code segment, a confirmation confirming an addition of the third token commitment onto a commitments data structure of the DLN without an identifying information of the first asset, the second asset, the combined asset, the first identifying parameter of the first asset and the second identifying parameter of the second asset being revealed.

2. The method of claim 1 , wherein the combined non-fungible token consists the first non-fungible token and the second non-fungible token.

3. The method of claim 1 , wherein:

the combined non-fungible token consists the first non-fungible token and the second non-fungible token; and

the ZKP includes the ZKP that the provider has knowledge of the combined non-fungible token consisting the first non-fungible token and the second non-fungible token.

4. The method of claim 1 , wherein the ZKP includes the ZKP that the provider has knowledge of an identity of:

(a) a first identifier associated with the sender,

(i) the first token commitment obtained via the application of the third hashing function on the first identifier; and/or

(ii) the second token commitment obtained via the application of the fourth hashing function on the first identifier; and/or

(b) a second identifier associated with the recipient, the third token commitment obtained via the application of the fifth hashing function on the second identifier.

5. The method of claim 1 , wherein the ZKP includes the ZKP that the provider has knowledge of an identity of:

(a) a first identifier associated with the sender,

(i) the first token commitment obtained via the application of the third hashing function on the first identifier; and/or

(ii) the second token commitment obtained via the application of the fourth hashing function on the first identifier,

the first identifier including a public key of the sender on the DLN; and/or

(b) a second identifier associated with the recipient, the third token commitment obtained via the application of the fifth hashing function on the second identifier, the second identifier including a public key of the recipient on the DLN.

6. The method of claim 1 , wherein the ZKP includes the ZKP that the provider has knowledge of an identity of a first nullifier and/or a second nullifier,

(a) the first nullifier obtained via an application of a sixth hashing function on a first cryptographic nonce and/or a secret identifier associated with the sender, and/or

(b) the second nullifier obtained via an application of a seventh hashing function on a second cryptographic nonce and/or the secret identifier associated with the sender,

a presence of the first nullifier and/or the second nullifier in a nullifier data structure on the DLN indicating invalidity of the first token commitment and/or the second token commitment, respectively.

7. The method of claim 1 , wherein the ZKP includes the ZKP that the provider has knowledge of an identity of a first nullifier and/or a second nullifier,

(a) the first nullifier obtained via an application of a sixth hashing function on a first cryptographic nonce and/or a secret identifier associated with the sender, and/or

(b) the second nullifier obtained via an application of a seventh hashing function on a second cryptographic nonce and/or the secret identifier associated with the sender,

(i) a presence of the first nullifier and/or the second nullifier in a nullifier data structure on the DLN indicating invalidity of the first token commitment and/or the second token commitment, respectively,

(ii) the application of the third hashing function including the application of the third hashing function on the first cryptographic nonce,

(iii) the application of the fourth hashing function including the application of the fourth hashing function on the second cryptographic nonce.

8. The method of claim 1 , wherein the ZKP includes the ZKP that the provider has knowledge of an identity of a first nullifier and/or a second nullifier,

(a) the first nullifier obtained via an application of a sixth hashing function on a first cryptographic nonce and/or a secret identifier associated with the sender, and/or

(b) the second nullifier obtained via an application of a seventh hashing function on a second cryptographic nonce and/or the secret identifier associated with the sender,

(i) a presence of the first nullifier and/or the second nullifier in a nullifier data structure on the DLN indicating invalidity of the first token commitment and/or the second token commitment, respectively,

(ii) the secret identifier including the private key of the sender.

9. The method of claim 1 , wherein the ZKP includes the ZKP that a public identifier associated with the sender is derivable from a secret identifier associated with the sender.

10. The method of claim 1 , wherein the ZKP includes the ZKP that a public identifier associated with the sender is derivable from a secret identifier associated with the sender, the public identifier and the secret identifier including a public key and a private key, respectively, of the sender on the DLN.

11. The method of claim 1 , wherein the application of the first hashing function and/or the application of the second hashing function are performed off-the-DLN.

12. The method of claim 1 , wherein the third token commitment is added onto the commitments data structure after the self-executing code segment verifies a first nullifier and a second nullifier are not stored in a nullifier data structure on the DLN prior to the addition of the third token commitment onto the commitments data structure,

presence of the first nullifier and the second nullifier in the nullifier data structure indicating invalidity of the first token commitment and the second token commitment, respectively.

13. The method of claim 1 , wherein the third token commitment is added onto the commitments data structure after the self-executing code segment adds a first nullifier and a second nullifier into a nullifier data structure on the DLN after verifying that the first nullifier and the second nullifier are not stored in the nullifier data structure prior to the addition of the third token commitment onto the commitments data structure,

presence of the first nullifier and the second nullifier in the nullifier data structure indicating invalidity of the first token commitment and the second token commitment, respectively.

14. The method of claim 1 , wherein the application of the third hashing function and/or the application of the fourth hashing function include the application of the third hashing function and/or the application of the fourth hashing function, respectively, on an identifier associated with the sender on the DLN.

15. The method of claim 1 , wherein the application of the third hashing function and/or the application of the fourth hashing function include the application of the third hashing function and/or the application of the fourth hashing function, respectively, on an identifier associated with the sender on the DLN, the identifier including a public key of the sender on the DLN.

16. The method of claim 1 , wherein the application of the fifth hashing function includes the application of the fifth hashing function on a cryptographic nonce and/or an identifier associated with the recipient.

17. The method of claim 1 , wherein the application of the fifth hashing function includes the application of the fifth hashing function on an identifier associated with the recipient, the identifier including a public key on the DLN of the recipient.

18. The method of claim 1 , wherein receiving the confirmation occurs without revealing any identifying information of the sender and/or the recipient, the identifying information of the sender and/or the recipient including a public key of the sender, a private key of the sender, a public key of the recipient and/or a private key of the recipient, on the DLN.

19. The method of claim 1 , wherein receiving the confirmation occurs without revealing any identifying information of the first token commitment, the second token commitment, a first cryptographic nonce and/or a second cryptographic nonce,

the first token commitment obtained via the application of the third hashing function on the first cryptographic nonce,

the second token commitment obtained via the application of the fourth hashing function on the first cryptographic nonce.

20. The method of claim 1 , wherein the ZKP is a zero-knowledge succinct non-interactive argument of knowledge (zk-SNARK) proof.

21. A non-transitory computer-readable medium comprising instructions which, when implemented by a processor, cause the processor to:

receive a request that is configured to cause a transfer of a combined asset from a sender to a recipient, the combined asset including a first asset and a second asset, the first asset and the second asset represented on a distributed ledger-based network (DLN) by a first token commitment and a second token commitment, respectively;

generate, upon receiving the request, a combined non-fungible token identifying the combined asset, the combined non-fungible token including a combination of: 1) a first non-fungible token identifying the first asset and obtained via an application of a first hashing function on a first identifying parameter of the first asset, and 2) a second non-fungible token identifying the second asset and obtained via an application of a second hashing function on a second identifying parameter of the second asset,

the combined non-fungible token obtained via an application of a concatenation operator on the first non-fungible token and the second non-fungible token;

provide, by a provider and to a self-executing code segment on the DLN, a zero-knowledge proof (ZKP) that the provider has knowledge of an identity of:

(1) the first non-fungible token, the first token commitment obtained via an application of a third hashing function on the first non-fungible token;

(2) the second non-fungible token, the second token commitment obtained via an application of a fourth hashing function on the second non-fungible token; and/or

(3) the combined non-fungible token, a third token commitment representing the combined asset on the DLN obtained via an application of a fifth hashing function on the combined non-fungible token; and

receive, upon verification of the ZKP by the self-executing code segment, a confirmation confirming an addition of the third token commitment onto a commitments data structure of the DLN without any identifying information of the first asset, the second asset, the combined asset, the first identifying parameter of the first asset and the second identifying parameter of the second asset being revealed.

22. The computer-readable medium of claim 21 , wherein the ZKP includes the ZKP that the provider has knowledge of an identity of a first nullifier and/or a second nullifier,

(a) the first nullifier obtained via an application of a sixth hashing function on a first cryptographic nonce and/or a secret identifier associated with the sender, and/or

(b) the second nullifier obtained via an application of a seventh hashing function on a second cryptographic nonce and/or the secret identifier associated with the sender,

a presence of the first nullifier and/or the second nullifier in a nullifier data structure on the DLN indicating invalidity of the first token commitment and/or the second token commitment, respectively.

23. The computer-readable medium of claim 21 , wherein the confirmation is received without an identifying information of the sender and/or the recipient being revealed, the identifying information of the sender and/or the recipient including a public key of the sender, a private key of the sender, a public key of the recipient and/or a private key of the recipient, on the DLN.

24. The computer-readable medium of claim 21 , wherein the third token commitment is added onto the commitments data structure after the self-executing code segment verifies a first nullifier and a second nullifier are not stored in a nullifier data structure on the DLN prior to the addition of the third token commitment onto the commitments data structure,

presence of the first nullifier and the second nullifier in the nullifier data structure indicating invalidity of the first token commitment and the second token commitment, respectively.

25. The computer-readable medium of claim 21 , wherein the ZKP includes the ZKP that a public identifier associated with the sender is derivable from a secret identifier associated with the sender.

26. A system, comprising:

a memory;

a processor disposed in communication with said memory, and configured to issue a plurality of processing instructions stored in the memory, wherein the processor issues instructions to:

receive a request that is configured to cause a transfer of a combined asset from a sender to a recipient, the combined asset including a first asset and a second asset, the first asset and the second asset represented on a distributed ledger-based network (DLN) by a first token commitment and a second token commitment, respectively;

generate, upon receiving the request, a combined non-fungible token identifying the combined asset, the combined non-fungible token including a combination of: 1) a first non-fungible token identifying the first asset and obtained via an application of a first hashing function on a first identifying parameter of the first asset, and 2) a second non-fungible token identifying the second asset and obtained via an application of a second hashing function on a second identifying parameter of the second asset,

the combined non-fungible token obtained via an application of a concatenation operator on the first non-fungible token and the second non-fungible token;

provide, by a provider and to a self-executing code segment on the DLN, a zero-knowledge proof (ZKP) that the provider has knowledge of an identity of:

(1) the first non-fungible token, the first token commitment obtained via an application of a third hashing function on the first non-fungible token;

(2) the second non-fungible token, the second token commitment obtained via an application of a fourth hashing function on the second non-fungible token; and/or

(3) the combined non-fungible token, a third token commitment representing the combined asset on the DLN obtained via an application of a fifth hashing function on the combined non-fungible token; and

receive, upon verification of the ZKP by the self-executing code segment, a confirmation confirming an addition of the third token commitment onto a commitments data structure of the DLN without any identifying information of the first asset, the second asset, the combined asset, the first identifying parameter of the first asset and the second identifying parameter of the second asset being revealed.

27. The system of claim 26 , wherein the ZKP includes the ZKP that the provider has knowledge of an identity of:

(a) a first identifier associated with the sender,

(i) the first token commitment obtained via the application of the third hashing function on the first identifier; and/or

(ii) the second token commitment obtained via the application of the fourth hashing function on the first identifier; and/or

(b) a second identifier associated with the recipient, the third token commitment obtained via the application of the fifth hashing function on the second identifier.

28. The system of claim 26 , wherein the application of the fifth hashing function includes the application of the fifth hashing function on a cryptographic nonce and/or an identifier associated with the recipient.

29. The system of claim 26 , wherein the application of the fifth hashing function includes the application of the fifth hashing function on an identifier associated with the recipient, the identifier including a public key on the DLN of the recipient.

30. The system of claim 26 , wherein the ZKP is a zero-knowledge succinct non-interactive argument of knowledge (zk-SNARK) proof.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2024
From: BRODY, PAUL RICHARD
To: ERNST & YOUNG U.S. LLP
Reel/Frame 067022/0652 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2024
From: KONDA, CHAITANYA REDDY; WESTLAND, DUNCAN JAMES
To: ERNST & YOUNG SERVICES (UK) LIMITED
Reel/Frame 067022/0670 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2024
From: ERNST & YOUNG SERVICES (UK) LIMITED
To: EYGS LLP
Reel/Frame 067022/0725 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2024
From: ERNST & YOUNG U.S. LLP
To: EYGS LLP
Reel/Frame 067022/0743 →
Continuity (3)
Provisional Application 62719636 · Aug 18, 2018
Provisional Application 62748002 · Oct 19, 2018
Related Publication 20200059361A1 · Feb 20, 2020
Cited By (3)
US 12,284,298 US 12,348,642 US 12,651,296