Proofs, Arguments, and Zero-Knowledge

Proofs, Arguments, and Zero-Knowledge cover

Justin Thaler's Proofs, Arguments, and Zero-Knowledge explains how a verifier with modest resources can check a powerful prover's claimed result for an outsourced computation, and how that check can be made short, non-interactive and private. The introduction sets out the organizing design on printed page 8. Practical zk-SNARKs combine an information-theoretically secure protocol with cryptography, usually a polynomial commitment scheme followed by the Fiat-Shamir transformation, and the underlying protocol comes from one of four models: interactive proofs, multi-prover interactive proofs, interactive oracle proofs, or linear PCPs. The book earns its recommendation by keeping those layers apart. Each guarantee arrives with a definition, an error bound and the assumption that pays for it, so a reader learns to ask what an accepted proof certifies before asking how fast it verifies.

Page references follow the author's manuscript dated July 18, 2023, a 329-page PDF with an October 2022 preface, linked from Thaler's Georgetown page. The cover shows the 2022 Now Publishers edition in Foundations and Trends in Privacy and Security (DOI 10.1561/3300000030), which has its own pagination.

Chapter 3 pulls apart properties that loose usage merges. Completeness requires the verifier to accept true claims from the prescribed prover with high probability. Soundness bounds the probability that a cheating prover wins acceptance for a false claim, and in an interactive proof the bound holds against every prover strategy, whatever its computing power. An argument system restricts soundness to efficient cheaters, the price of the cryptography introduced later. Section 7.4 adds knowledge-soundness through a password example. Alice publishes y = h(x) and wants to show she knows a preimage. When h is surjective, a proof that some w with h(w) = y exists is empty, because every y has one. Knowledge-soundness asks for an efficient extractor that recovers a witness from any prover who convinces the verifier with non-negligible probability. The extractor belongs to the security proof and works by rerunning that prover, a capability outside the ordinary verifier's single pass through one transcript.

Chapter 4 traces cheap verification to algebra and randomness. In the sum-check protocol, the prover claims the sum of a v-variate polynomial g over the Boolean hypercube. Each round, the prover sends a univariate polynomial, and the verifier checks its degree and its consistency with the previous claim before sending a fresh random field element. Two distinct polynomials of degree d agree on at most d points, so a wrong polynomial survives the random check with probability at most d divided by the field size. The protocol ends with one evaluation of g at a random point, which the analysis treats as an oracle. Each application must account for the cost of that final evaluation, which the verifier can compute unaided in some settings and can check with further sum-check in others, and the succinct zero-knowledge arguments surveyed later need further machinery, including polynomial commitments and masking polynomials, because unmasked sum-check is not automatically zero-knowledge.

Chapter 5 removes the interaction. Fiat-Shamir replaces each challenge of a public-coin protocol with a hash of the transcript so far, and its security is proved in the random oracle model, where the hash behaves as a uniformly random function. Instantiating the oracle with a concrete hash function adds an assumption beyond the theorem. The chapter's practical warning concerns the statement. When an adversary can choose the input x, "it is essential that x be appended to the list that is hashed in each round." The text sketches an attack on GKR when x is omitted and reports that this error had been found in several popular SNARK deployments. Binding the statement and transcript is one necessary condition among the several that the transformation's soundness depends on.

Zero-knowledge receives its formal definition in Chapter 11, after the validity machinery is in place. The goal is that "the verifier should learn nothing from the prover other than the validity of the statement being proven," and a simulator makes it precise. Given the public statement x, an efficient simulator must produce transcripts indistinguishable from the verifier's view of an interaction with the prescribed prover. The text distinguishes perfect, statistical and computational indistinguishability, and it separates protocols secure against verifiers who follow the protocol from those covering every efficient verifier strategy. The statement stays public, and the definition concerns protocol transcripts, so an implementation's metadata and side channels call for separate analysis. Zero-knowledge is also independent of proof size. Chapter 13 adds it to existing protocols through commit-and-prove techniques and masking polynomials.

Chapter 6 and the closing Chapter 19 supply the engineering view. Most general-purpose systems first compile a program into an arithmetic circuit or circuit-satisfiability instance and then apply a proof or argument system to it. Acceptance therefore certifies, up to the protocol's soundness error, a claim about the encoded relation, such as a circuit's stated output or a witness satisfying the specified circuit, and the correctness of the compiler and of the data supplied to it sit outside that claim. Chapter 19 sets four SNARK families, built on IPs, MIPs, polynomial IOPs and linear PCPs, apart from a fifth commit-and-prove approach whose arguments are interactive and lack succinctness. The chosen commitment scheme carries its hardness assumptions, setup and prover cost into the final system. Constant-round polynomial IOPs paired with KZG commitments and linear PCPs compiled with pairing-based cryptography both rely on a structured reference string, circuit-independent and updatable in the first case and computation-specific in the second, and in both the prover performs FFTs or polynomial division over vectors or polynomials proportional to the circuit size or to the number of nonzero entries in the R1CS constraints, plus several multi-exponentiations of the same order. The closing pages turn to the front end's gate set. If degree-3 gates halve circuit size while raising prover cost per gate by a factor of 4/3, total prover time falls, a change the polynomial-IOP SNARKs accept and Groth-style linear-PCP SNARKs appear to resist.

The book suits readers comfortable with finite fields, polynomials, probability and asymptotic notation who are ready to follow theorems, protocol descriptions and exercises. The reading guide on printed pages 8 to 10 asks newcomers to work through Chapters 2 and 3, recommends Chapter 19 as an overview, and offers several routes through the protocol families. Its comparisons of setup, proof size and prover cost describe the field as of the 2023 draft, and the October 2022 preface already acknowledges how fast that field moves. Current benchmarks and audits of particular implementations require separate sources, and calling a hash-based scheme plausibly post-quantum records a hardness conjecture short of a proven quantum guarantee. Read it to learn how to separate soundness from knowledge, and the protocol layer from the compiler that feeds it, before trusting any proof system's label.