IP Library Granted Patent US 12,314,716
Granted Patent B2
US 12,314,716 · App. 17/887,447 · Granted May 27, 2025

Computer-implemented systems and methods for serialisation of arithmetic circuits

Inventors: Alexandra Covaci (London, GB); Patrick Motylinski (London, GB); Simone Madeo (London, GB); Stephane Vincent (Luxembourg, LU); Craig Steven Wright (London, GB)
Assignee: NCHAIN LICENSING AG
G06F9/3001G06F9/3826G06F9/3836H04L9/0643H04L9/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,314,716
App. No.
17/887,447
Granted
May 27, 2025
Kind
B2
Abstract

Techniques described herein may be utilized to serialise and de-serialise arithmetic circuits that are utilized in the execution of computer programs. The arithmetic circuit may be utilized to build a Quadratic Arithmetic Problem (QAP) that is compiled into a set of cryptographic routines for a client and a prover. The client and prover may utilize a protocol to delegate execution of a program to the prover in a manner that allows the client to efficiently verify the prover correctly executed the program. The arithmetic circuit may comprise a set of symbols (e.g., arithmetic gates and values) that is compressed to produce a serialised circuit comprising a set of codes, wherein the set of symbols is derivable from the set of codes in a lossless manner. Serialisation and de-serialisation techniques may be utilized by nodes of a blockchain network.

Claims (25)

1. A computer-implemented method comprising:

at a client node, compiling a computation into an arithmetic circuit comprising wires that carry values from a field and connect to addition and multiplication gates, further comprising supplying the arithmetic circuit and an input x to a worker node;

at the worker node, executing the arithmetic circuit on the input x, resulting in an output , encoding a transcript for { , x, }, and providing the output y to the client node, wherein a valid transcript for { , x, } is an assignment of values to circuit wires such that the values assigned to input wires are those of x, intermediate values correspond to a correct operation of a plurality of gates in , and values assigned to output wire(s) ; and

at a verifier node, validating a blockchain transaction.

2. The computer-implemented method of claim 1 , wherein the arithmetic circuit is a physical circuit having wires and logic gates.

3. The computer-implemented method of claim 1 , wherein the arithmetic circuit is a DAG, and the wires are edges in the DAG.

4. The computer-implemented method of claim 1 , wherein from the circuit , a quadratic program is generated that includes a set of polynomials that provide a complete description of the original circuit .

5. The computer-implemented method of claim 4 , wherein public parameters are generated to be used by the worker node and the verifier node in performing and verifying the quadratic program.

6. The computer-implemented method of claim 1 , further comprising deriving a public evaluation key EK and a public verification key VK using a secret value s selected by or from the client node.

7. The computer-implemented method of claim 6 , wherein the worker node uses the public evaluation key and the public verification key to evaluate the computation on a particular input x.

8. The computer-implemented method of claim 7 , wherein the output , values of internal circuit wires, and EK are used to produce a proof-of-correctness π.

9. The computer-implemented method of claim 8 , wherein the proof-of-correctness π is stored on a blockchain and verified by the verifier node without requiring the worker node to separately interact with the verifier node.

10. The computer-implemented method of claim 8 , wherein the verifier node validates the payment transaction using the public verification key VK and the proof-of-correctness π.

11. A system comprising:

a client node, a worker node, and a verifier node each comprising a processor and a memory including executable instructions that, as a result of execution by the processor, cause the system to:

at the client node, compile a computation into an arithmetic circuit comprising wires that carry values from a field and connect to addition and multiplication gates, supply the arithmetic circuit and an input x to the worker node;

at the worker node, execute the arithmetic circuit on the input x, outputting , encode a transcript for { , x, }, and provide the output to the client node, wherein a valid transcript for { , x, } is an assignment of values to circuit wires such that the values assigned to input wires are those of x, intermediate values correspond to a correct operation of a plurality of gates in , and values assigned to output wire(s) is ; and

at the verifier node, validate a blockchain transaction.

12. The system of claim 11 , wherein the arithmetic circuit is a physical circuit having wires and logic gates.

13. The system of claim 11 , wherein the arithmetic circuit is a DAG, and the wires are edges in the DAG.

14. The system of claim 11 , wherein from the circuit , a quadratic program is generated that includes a set of polynomials that provide a complete description of the original circuit .

15. The system of claim 14 , wherein public parameters are generated to be used by the worker node and the verifier node in performing and verifying the quadratic program.

16. The system of claim 11 , further comprising deriving a public evaluation key EK and a public verification key VK using a secret value s selected by or from the client node.

17. The system of claim 16 , wherein the worker node uses the public evaluation key and the public verification key to evaluate the computation on a particular input x.

18. The system of claim 17 , wherein the output , values of internal circuit wires, and EK are used to produce a proof-of-correctness π.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2024
From: COVACI, ALEXANDRA; MOTYLINSKI, PATRICK; MADEO, SIMONE; VINCENT, STEPHANE
To: NCHAIN HOLDINGS LTD.
Reel/Frame 068099/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2022
From: WRIGHT, CRAIG STEVEN
To: NCHAIN HOLDINGS LTD.
Reel/Frame 060801/0509 →
CHANGE OF NAME Recorded Aug 13, 2022
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 061165/0591 →
Priority Claims (1)
GB 1804948 · Mar 27, 2018 · national
Continuity (2)
Continuation 17041781
Related Publication 20230109846A1 · Apr 13, 2023
References Cited (39)
US 6377706B1 · de Queiroz · 2002 [cited by applicant]
US 8302041B1 · Chan · 2012 [cited by examiner]
US 20070277134A1 · Zhang · 2007 [cited by examiner]
US 20090313596A1 · Lippmann et al. · 2009 [cited by applicant]
US 20090323563A1 · Ho · 2009 [cited by examiner]
US 20100195739A1 · Lu et al. · 2010 [cited by applicant]
US 20160204795A1 · Huang · 2016 [cited by examiner]
US 20170041606A1 · Matsumura · 2017 [cited by applicant]
US 20170142103A1 · Bringer et al. · 2017 [cited by applicant]
US 20170212968A1 · Diao et al. · 2017 [cited by applicant]
US 20170316119A1 · Joseph et al. · 2017 [cited by applicant]
US 20180083780A1 · Alesiani · 2018 [cited by examiner]
US 20190295049A1 · Karame · 2019 [cited by examiner]
WO 2011000799A1 · 2011 [cited by applicant]
“Computer-implemented system and method,” United Kingdom Patent Application No. 1801753.3, filed Feb. 2, 2018, 28 pages. [cited by applicant]
Antonopoulos, “Mastering Bitcoin—Unlocking Digital Cryptocurrencies,” O'Reilly Media, Inc., Dec. 20, 2014, 282 pages. [cited by applicant]
Bootle et al., “Linear-Time Zero-Knowledge Proofs for Arithmetic Circuit Satisfiability,” International Conference on the Theory and Application of Cryptology and Information Security, Dec. 3, 2017, https://eprint.iacr.… [cited by applicant]
Covaci et al., “Extracting Information from the CRS in a ZK Protocol on Blockchain,” United Kingdom Patent Application No. 1719998.5, filed Nov. 30, 2017, 39 pages. [cited by applicant]
Covaci et al., “Logic Minimisation of C-like Smart Contracts for Optimised Verifiable Computation,” United Kingdom Patent Application No. 1718505.9, filed Nov. 9, 2017, 38 pages. [cited by applicant]
Covaci et al., “Recording Verification Keys on the Blockchain,” United Kingdom Patent Application No. 1720768.9, filed Dec. 13, 2017, 45 pages. [cited by applicant]
Delmolino et al., “Step by Step Towards Creating a Safe Smart Contract: Lessons and Insights from a Cryptocurrency Lab,” International Conference on Financial Cryptography and Data Security, Feb. 26, 2016, 15 pages. [cited by applicant]
Gennaro et al., “Quadratic Span Programs and Succint NIZKs without PCPs,” Annual International Conference on the Theory and Applications of Cryptographic Techniques, May 26, 2013, 20 pages. [cited by applicant]
Huffman, “A method for the construction of minimum-redundancy codes,” Proceedings of the IRE 40(9):1098-101, Sep. 1952, 4 pages. [cited by applicant]
International Search Report and Written Opinion mailed Dec. 6, 2019, Patent Application No. PCT/IB2019/052113, 14 pages. [cited by applicant]
Juels et al., “The Ring of Gyges: Using Smart Contracts for Crime,” Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, Oct. 24, 2016, 32 pages. [cited by applicant]
Kerber, “Verifiable Computation in Smart Contracts,” University of Edinburgh School of Informatics Computer Science 4th Year Project Report, published online Apr. 4, 2017 [retrieved May 2, 2018], https://git.drwx.org/bs… [cited by applicant]
Kosba et al., “Hawk: The Blockchain Model of Cryptography and Privacy-Preserving Smart Contracts,” IEEE Symposium on Security and Privacy, May 22, 2016, 31 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]
Parno et al., “Pinocchio: Nearly Practical Verifiable Computation,” IEEE Symposium on Security and Privacy, May 19, 2013, 16 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]
Shannon, “A Mathematical Theory of Communication,” The Bell System Technical Journal 27(3):379-423 and 623-656, July, Oct. 1948, 55 pages. [cited by applicant]
UK Commercial Search Report mailed Oct. 1, 2018, Patent Application No. GB1804948.6, 5 pages. [cited by applicant]
UK IPO Search Report mailed Sep. 28, 2018, Patent Application No. GB1804948.6, 3 pages. [cited by applicant]
Wikipedia, “Arithmetic coding,” Wikipedia the Free Encyclopedia, Mar. 24, 2018, https://en.wikipedia.org/w/index.php?title=Arithmetic_coding&oldid=832173421, 13 pages. [cited by applicant]
Wikipedia, “Huffman coding,” Wikipedia the Free Encyclopedia, Feb. 24, 2018, https://en.wikipedia.org/w/index.php?title=Huffman_coding&oldid=827366029, 11 pages. [cited by applicant]
Wikipedia, “Space-time tradeoff,” Wikipedia the Free Encyclopedia, Dec. 20, 2017, https://en.wikipedia.org/w/index.php?title=Space-time_tradeoff&oldid=816280979, 3 pages. [cited by applicant]
Yang et al., “An Approach to Graph and Netlist Compression,” Data Compression Conference (dcc 2008), Mar. 25, 2008, https://ieeexplore.ieee.org/document/4483281, 10 pages. [cited by applicant]
Degermark M., et al., “IP Header Compression”, Networking Working Group, Request for Comments: 2507, Category: Standards Track, Feb. 1999, 47 pages. [cited by applicant]
Adjeroh, Donald, et al., “The Burrows-Wheeler Transform”, Springer, 2008, ProQuest Ebook Central, 33 pages. [cited by applicant]