IP Library Granted Patent US 12,367,490
Granted Patent B2
US 12,367,490 · App. 18/523,646 · Granted Jul 22, 2025

Computer-implemented system and method for enabling zero-knowledge proof

Inventor: Thomas Trevethan (London, GB)
Assignee: NCHAIN LICENSING AG
G06Q20/3829G06F16/2365G06F16/2379G06F16/2465G06Q20/0655G06Q20/1235G06Q20/38215G06Q20/3825G06Q20/3827G06Q20/389G06Q20/401G06Q30/0185G06Q30/0215G06Q40/04H04L9/008H04L9/0637H04L9/0819H04L9/0869H04L9/3066H04L9/3073H04L9/3221G06F7/725G06F2216/03G06Q2220/00H04L9/50
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 12,367,490
App. No.
18/523,646
Granted
Jul 22, 2025
Kind
B2
Abstract

The invention relates to efficient zero knowledge verification of composite statements that involve both arithmetic circuit satisfiability and dependent statements about the validity of public keys (key-statement proofs) simultaneously. A method is disclosed for a prover proving to a verifier that a statement is true, while keeping a witness (w) to the statement a secret, and a verifier using a reciprocal method to verify the proof. The prover sends, to the verifier, data including a statement represented by an implemented function circuit, individual wire commitments and/or a batched commitment for the function circuit of the statement, a given function circuit output, and a proving key. Based on the sent data, the verifier is able to determine satisfiability of the function circuit, calculate an elliptic curve point, and validate the statement, thus determining that the prover holds the witness to the statement and ensuring the data complies with the statement.

Claims (104)

1. A computer-implemented method for enabling zero-knowledge proof or verification of a statement(S) in which a prover proves to a verifier that a statement is true while keeping a witness (w) to the statement a secret, the method including:

the prover sending to the verifier:

data comprising the statement(S) represented by an arithmetic circuit with m gates and n wires configured to implement a function circuit and determine whether, for a given function circuit output (h) and an elliptic curve point (P), a function circuit input(s) to a wire of the function circuit is equal to a corresponding elliptic curve point multiplier(s), wherein the function circuit is a circuit that implements a hash function;

individual wire commitments and/or a batched commitment for wires of the function circuit;

the given function circuit output (h); and

a proving key (PrK),

which enables the verifier to determine that the function circuit is satisfied, calculate the elliptic curve point (P), and validate the statement, thus determining that the prover holds the witness (w) to the statement, wherein each commitment is encrypted.

2. The computer-implemented method according to claim 1 , wherein the prover sends an individual wire commitment and communicates with the verifier using Sigma (Σ) protocols to prove knowledge of the witness (w).

3. The computer-implemented method according to claim 1 , wherein the prover receives from the verifier a challenge value (x) and responds with an opening.

4. The computer-implemented method according to claim 1 , wherein the prover sends to the verifier a random value (x) for enabling the verifier to determine that the statement is true and calculate the elliptic curve point (P).

5. The computer-implemented method according to claim 4 , wherein the random value (x) is a function of at least one commitment.

6. The computer-implemented method according to claim 4 , wherein the random value (x) is computed by hashing a concatenation of all the individual wire commitments generated and sent to the verifier by the prover.

7. The computer-implemented method according to claim 1 , wherein a commitment W i is:

W i =Com( w i ,r i )

wherein

Com is a commitment to the function circuit,

w i is the wire value,

r i is a random number—different for each wire commitment, and

i is a wire denomination,

such that

Com( w,r )= w×G+r×F

wherein

F and G are elliptic curve points.

8. The computer-implemented method according to claim 7 , wherein an input for a wire l in the arithmetic circuit is:

k 0t =r 1 ×F,

wherein

ko is a key-opening input,

r is a random number, and

F is a point on an elliptic curve.

9. The computer-implemented method according to claim 8 , wherein the verifier confirms that the function circuit is satisfied, and is able to calculate a public key for the wire l via elliptic curve point subtraction:

pk l =Com( w l ,r l )− ko l .

10. The computer-implemented method according to claim 1 , wherein the prover sends a batch of wire commitments and generates random numbers to compute elliptic curve points for each wire to form the proving key (PrK).

11. The computer-implemented method according to claim 10 , wherein the batched commitment for the witness is

Com

(

w

)

=

r

×

F

+

i

=

1

n

-

1

w

i

×

K

i

+

w

n

×

G

wherein

r is a random number generated by the prover,

the prover computes the batched commitment to a vector w of wire values w i (for i=1, . . . , n) where w n is to be key-opened,

K i are computed elliptic curve points,

w i are wire values, where w n is the be key opened, and

F and G are points on an elliptic curve.

12. The method according to claim 11 , wherein an input for a wire n in the arithmetic circuit is:

k

o

n

=

r

×

F

+

i

=

1

n

-

1

w

i

×

K

i

wherein

ko n is a key-opening input,

r is a random number, and

F is a point on an elliptic curve.

13. The computer-implemented method according to claim 12 , wherein the verifier calculates a public key opening of a key-statement wire, via elliptic curve arithmetic:

pk n =Com( w )− ko n .

14. The computer-implemented method according to claim 1 , wherein the prover additionally sends a fully opened commitment to at least one wire.

15. The computer-implemented method according to claim 1 , wherein the method uses Pedersen commitments.

16. The computer-implemented method according to claim 1 , wherein the statement uses only one arithmetic circuit for the function circuit.

17. The computer-implemented method according to claim 1 , wherein the function circuit implements an SHA-256 hash function.

18. A non-transitory computer-readable storage medium comprising computer-executable instructions which, when executed, configure a processor to perform the method of claim 1 .

19. An electronic device comprising:

an interface device;

one or more processor(s) coupled to the interface device; and

a memory coupled to the one or more processor(s), the memory having stored thereon computer executable instructions which, when executed, configure the one or more processor(s) to perform the method of claim 1 .

20. An electronic device as claimed in claim 19 , wherein the electronic device is a node of a blockchain network.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2023
From: TREVETHAN, THOMAS
To: NCHAIN HOLDINGS LTD
Reel/Frame 065706/0466 →
CHANGE OF NAME Recorded Nov 29, 2023
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 065714/0886 →
Priority Claims (3)
GB 1804739 · Mar 23, 2018 · national
GB 1804740 · Mar 23, 2018 · national
GB 1804742 · Mar 23, 2018 · national
Continuity (2)
Continuation 17040480
Related Publication 20240185236A1 · Jun 6, 2024
References Cited (72)
US 6282295B1 · Young et al. · 2001 [cited by applicant]
US 8751806B1 · Adler et al. · 2014 [cited by applicant]
US 9503431B2 · Chen · 2016 [cited by examiner]
US 10824744B2 · Inamdar · 2020 [cited by examiner]
US 11049128B1 · Olson · 2021 [cited by applicant]
US 11055707B2 · Lingappa · 2021 [cited by applicant]
US 11151558B2 · Ferenczi et al. · 2021 [cited by applicant]
US 11310060B1 · Poelstra et al. · 2022 [cited by applicant]
US 11496309B2 · del Pino et al. · 2022 [cited by applicant]
US 11645658B2 · Mohassel · 2023 [cited by examiner]
US 11831748B1 · Fisher et al. · 2023 [cited by applicant]
US 20070121933A1 · Futa et al. · 2007 [cited by applicant]
US 20150244525A1 · McCusker et al. · 2015 [cited by applicant]
US 20150318994A1 · Walsh · 2015 [cited by examiner]
US 20150341792A1 · Walsh et al. · 2015 [cited by applicant]
US 20160328713A1 · Ebrahimi · 2016 [cited by examiner]
US 20160358165A1 · Maxwell · 2016 [cited by applicant]
US 20170278100A1 · Kraemer et al. · 2017 [cited by applicant]
US 20170286717A1 · Khi et al. · 2017 [cited by applicant]
US 20170346833A1 · Zhang · 2017 [cited by applicant]
US 20170366347A1 · Smith · 2017 [cited by applicant]
US 20180159689A1 · Keuffer et al. · 2018 [cited by applicant]
US 20180270065A1 · Brown et al. · 2018 [cited by applicant]
US 20190026821A1 · Bathen et al. · 2019 [cited by applicant]
US 20190034923A1 · Greco et al. · 2019 [cited by applicant]
US 20190213584A1 · Shanmugam · 2019 [cited by applicant]
US 20200053054A1 · Ma et al. · 2020 [cited by applicant]
US 20200219099A1 · Mohassel et al. · 2020 [cited by applicant]
US 20200342452A1 · Diamond · 2020 [cited by applicant]
US 20210027294A1 · Trevethan · 2021 [cited by applicant]
US 20210158342A1 · Bartolucci · 2021 [cited by examiner]
FR 3097093A1 · 2020 [cited by applicant]
JP H08160857A · 1996 [cited by applicant]
WO 2016200885A1 · 2016 [cited by applicant]
WO 2017079652A1 · 2017 [cited by applicant]
WO 2017095671A1 · 2017 [cited by applicant]
WO 2018007828A2 · 2018 [cited by applicant]
WO 2023046409A1 · 2023 [cited by applicant]
Antonopoulos, “Mastering Bitcoin—Unlocking Digital Cryptocurrencies,” O'Reilly Media, Inc., Dec. 20, 2014, 282 pages. [cited by applicant]
Banasik et al., “Efficient Zero-Knowledge Contingent Payments in Cryptocurrencies Without Scripts,” European Symposium on Research in Computer Security, Sep. 15, 2016, 25 pages. [cited by applicant]
Bartok et al., “Trouble Understanding Range Proof of Greg Maxwell's Confidential Transaction,” https://crypto.stackexchange.com/questions/47392/trouble-understanding-range-proof-of-greg-maxwells-confidential-transaction… [cited by applicant]
Bootle et al., “Efficient Zero-Knowledge Arguments for Arithmetic Circuits in the Discrete Log Settings”, Annual International Conference on the Theory and Applications of Cryptographic Techniques. Springer, Berlin, Hei… [cited by applicant]
Bootle et al., “Efficient Zero-Knowledge Proof Systems,” Foundations of Security Analysis and Design, Aug. 14, 2016, 32 pages. [cited by applicant]
Bowe, “Pay-to-Sudoku,” GitHub, retrieved from https://github.com/zcash-hackworks/pay-to-sudoku/blob/master/README.md, 2016, 2 pages. [cited by applicant]
Buterin, “Chain Interoperability,” Sep. 9, 2016, 25 pages. [cited by applicant]
Campanelli et al., “Zero-knowledge contingent payments revisited: Attacks and payments for services,” Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, Oct. 30, 2017, 28 pages. [cited by applicant]
Chase et al., “Efficient Zero-Knowledge Proof of Algebraic and Non-Algebraic Statements with Applications to Privacy and Preserving Credentials,” Advances in Cryptology, Jul. 21, 2016, 30 pages. [cited by applicant]
Chatch, “Stellar XLM to Ethereum ETH Cross-chain Trades,” retreived from https://github.com/chatch/xcat/blob/master/docs/protocol_stellar_xlm_to_ethereum_et on Sep. 27, 2018, 4 pages. [cited by applicant]
Covaci et al., “NECTAR: Non-Interactive Smart Contract Protocol using Blockchain Technology,” arXiv preprint arXiv:1803.04860, Mar. 13, 2018, 8 pages. [cited by applicant]
Fuchsbauer et al., “Proofs on Encrypted Values in Bilinear Groups and an Applicaiton to Anonymity of Signatures,” Third International Conference on Pairing-based Cryptography, Aug. 2009, 26 pages. [cited by applicant]
Fuhr, Lessons from Vanity Zero-Knowledge Work or What to Trust the C[lr]o[uw]d With, Confidence.org presentation, 2016, 46 pages. [cited by applicant]
Ganesh, “Zero-Knowledge Proofs: Efficient Techniques for Comnination Statements and Their Applications,” Partial PhD Dissertation, New York University, Sep. 2017, 128 pages. [cited by applicant]
Gibson, “From Zero (Knowledge) to Bulletproofs,” 2018, 48 pages. [cited by applicant]
International Search Report and Written Opinion mailed Jun. 6, 2019, Patent Application No. PCT/IB2019/052185, 14 pages. [cited by applicant]
International Search Report and Written Opinion mailed Jun. 6, 2019, Patent Application No. PCT/IB2019/052186, 13 pages. [cited by applicant]
International Search Report and Written Opinion mailed May 28, 2019 Patent Application No. PCT/IB2019/052184, 14 pages. [cited by applicant]
Jawurek et al., “Zero-Knowledge Using Garbled Circuits or How to Prove Non-Algebraic Statements Efficiently,” ACM SIGSAC conference on Computer & communications security, Nov. 2013, 23 pages. [cited by applicant]
Maxwell, “Confidential Transaction, the Initial Investigation,” Retrieved May 9, 2018 from https://elementsproject. org/features/confidential-transactions/investigation, 9 pages. [cited by applicant]
Maxwell, “The First Successful Zero-Knowledge Contingent Payment,” Bitcoin Core, retrieved from https://bitcoincore.org/en/2016/02/26/zero-knowledge-contingent-payments-announcement/, Feb. 26, 2016, 5 pages. [cited by applicant]
Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System,” Bitcoin, Oct. 31, 2008, https://bitcoin.org/bitcoin.pdf, 9 pages. [cited by applicant]
Satoshi et al., “Connection Limits,” Bitcoin Forum, Aug. 9, 2010, https://bitcointalk.org/index.php?topic=741.0;prev_next=prev, 2 pages. [cited by applicant]
UK Commercial Search Report mailed Sep. 6, 2018, Patent Application No. GB1804739.9, 9 pages. [cited by applicant]
UK IPO Search Report mailed Sep. 24, 2018, Patent Application No. GB1804739.9, 5 pages. [cited by applicant]
UK IPO Search Report mailed Sep. 24, 2018, Patent Application No. GB1804742.3, 5 pages. [cited by applicant]
UK IPO Search Report mailed Sep. 7, 2018, Patent Application No. GB1804740.7, 7 pages. [cited by applicant]
Wikipedia, “Atomic Swap,” retrieved from https://en.bitcoin.it/wiki/Atomic_swap, Dec. 2018, 3 pages. [cited by applicant]
Wikipedia, “Zero Knowledge Contingent Payment,” Bitcoin Wiki, retrieved from https://en.bitcoin.it/wiki/Zero_Knowledge_Contingent_Payment, Apr. 8, 2020, 3 pages. [cited by applicant]
Wikipedia, “Zero-Knowledge Proof,” retrieved from https://en.wikipedia.org/w/index.php?title=Zero-knowledge_proof&oldid=826583201 on May 29, 2019, 9 pages. [cited by applicant]
Zarquan et al., “How Woul I convert Committed Coordinates x and y to a Commitment of the EC POint Without Revealing the Point (in Zero Knowledge) or Vice Versa?” https://crypto.stackexchange.com/questions/52494/how-woul… [cited by applicant]
Danezis, et al., “Pinocchio Coin: Bulding Zerocoin from a Succinct Pairing-based Proof System”, PETShop'13: Proceedings of the First ACM workshop on Language support for privacy-enhancing technologies, Nov. 2013, 3 page… [cited by applicant]
Ben-Sasson, E. et al., Secure Sampling of Public Parameters for Succinct Zero Knowledge Proofs, 2015 IEEE Symposium on Security and Privacy, May 2015, 21 pages. [cited by applicant]
Kluczniak et al. “Fine-Tuning Decentralized Anonymous Payment Systems based on Arguments for Arithmetic Circuit Satisfiability”, Cryptology ePrint Archive, 54 pages. [cited by applicant]