Arithmetic Circuits for ZK
One key point from our article on P vs NP was that any solution to a problem in P or NP can be verified by modeling the problem as a Boolean circuit. Then, we convert our solution for the original problem to a set of values for the Boolean variables (called the witness) that results in the Boolean circuit returning true. This article continues the one linked above, so please read that first. One disadvantage of using a Boolean circuit to represent a solution to a problem is that it can be verbose when representing arithmetic operations such as addition or multiplication. For example, if we want to express "a + b = c where a = 16, b = 8, c = 24," we must transform a, b, and c into binary numbers. Each bit in the binary number will correspond to a distinct Boolean variable. In this example, let's assume we need 4 bits to encode a, b, and c, where a₀ represents the Least Significant Bit (LSB), and a₃ represents the Most Significant Bit (MSB) of number a, as shown below: a₃, a₂, a₁, a₀ a =
In the context of zero-knowledge proofs, an arithmetic circuit is a system of equations that models a problem in NP. A key point from our article on P vs NP is that any solution to a problem in P or NP can be verified by modeling the problem as a Boolean circuit. Then, we convert our solution for the original problem to a set of values for the Boolean variables (called the witness) that results in the Boolean circuit returning true. This article builds on the one linked above, so please read that first. Arithmetic circuits as an alternative to Boolean circuits One disadvantage of using a Boole
Explore this link on the map →saved by
related reading
- P vs NP and its application to zero knowledge proofs | RareSkillsrareskills.io
- Finite Fields and Modular Arithmetic for ZK Proofs | RareSkillsrareskills.io
- Background in ZK - Circom 2 Documentationdocs.circom.io
- Zero Knowledge Proofs: An illustrated primer – A Few Thoughts on Cryptographic Engineeringblog.cryptographyengineering.com
- From Theory to Practicezeroknowledgeblog.com
- ProofsArgsAndZK.pdfpeople.cs.georgetown.edu
- Binius: highly efficient proofs over binary fieldsvitalik.eth.limo
- Circom Workshop 1 | ZK Learning Resourceslearn.0xparc.org
- Arithmetization I. Stark Math part 2: execution trace and… | by StarkWare | StarkWare | Mediummedium.com
- Using Bollean Algebra in circuitscs.virginia.edu
- Honey I SNARKED the GPT - EZKL Blogblog.ezkl.xyz
- Arithmetization II. “We Need To Go Deeper” | by StarkWare | StarkWare | Mediummedium.com