Introduction to Verifiable Computing
summary
Shows how verifiable computing turns C functions into quadratic arithmetic programs and uses commitments, bilinear pairings and discrete‑log hardness to produce short proofs. Demonstrates Pinocchio producing a proof of correct execution that is a few group elements long so verification can be faster than re‑execution, with the proof size independent of program size. Covers handling private inputs via commitments, the one‑time key setup (evaluation vs verification keys), and practical C subset limits (no floating point, no recursion).
AI-written summary · about
chapters (15)
- 0:00Introduction
- 1:40Motivation
- 2:54Conceptual models
- 4:23Applications and use cases
- 7:24Verifying smart contracts
- 10:13Confidentiality and privacy
- 14:35Cryptography building blocks
- 18:56Commitment schemes
- 27:07Zero-knowledge proofs
- 29:44Bilinear mapping
- 32:20Arithmetic circuits
- 35:40Quadratic arithmetic programs
- 50:44Defining the system
- 55:00Pinocchio implementation
- 1:19:17References and conclusion
related talks
33mA Wishlist for Verifiable Computation: An Applied CS Perspective
27mProofs of proofs: incremental verifiability from recursion and accumulation
57mThe Cryptographic Lens: Visions of our Past and Future
51mDistributed Zero-Knowledge Proofs and Applications to Secure Computation
54mVerification Dilemmas, Law, and the Promise of Zero-Knowledge Proofs
58mFast Cryptographic Code via Partial Evaluation
01h 06mCompiled Nonlocal Games: From CHSH to BQP Verification
01h 00mCooperative Verification: Towards Reliable Safety-Critical Systems
