soundness of PCP is only guaranteed if PCP proof

Doubly Efficient Interactive Proofs
Ron Rothblum
Outsourcing Computation
Weak client outsources computation to the cloud.
๐‘ฅ
๐‘ฆ = ๐‘“(๐‘ฅ)
Outsourcing Computation
We do not want to blindly trust the cloud.
๐‘ฅ
๐‘ฆ = ๐‘“(๐‘ฅ)
Key security concerns:
โ€ข Correctness: why should we trust the serverโ€™s
answer?
โ€ข Privacy: keep clientโ€™s sensitive data secret (closely
related to homomorphic encryption)
Interactive Proofs to the Rescue?
Interactive Proof [GMR85]: prover ๐‘ƒ tries to interactively
convince a polynomial-time verifier ๐‘‰ that ๐‘“ ๐‘ฅ = ๐‘ฆ.
๐‘“ ๐‘ฅ = ๐‘ฆ โ‡’ ๐‘ƒ convinces ๐‘‰.
๐‘“ ๐‘ฅ โ‰  ๐‘ฆ โ‡’ no ๐‘ƒโˆ— can convince ๐‘‰ wp โ‰ฅ 1/2.
Key Problem: in classical results complexity of proving is
actually exponential:
IP=PSPACE [LFKN90,Shamir90]: Interactive Proofs for
space ๐‘† computations with 2poly ๐‘† prover, poly(๐‘›, ๐‘†)
verification, poly(๐‘†) rounds.
Doubly Efficient Interactive Proof
[GKR08]
Interactive proof for ๐‘“ ๐‘ฅ = ๐‘ฆ where the prover
is efficient, and the verifier is super efficient.
Proportional to
complexity of ๐‘“
Much faster than
complexity of ๐‘“
Soundness holds against any (computationally
unbounded) cheating prover.
Doubly Efficient Interactive Proofs:
The State of the Art
1) [GKR08]: Bounded Depth
Logspace uniform
๐‘๐ถ
โ€ข Any bounded-depth circuit.
โ€ข (Almost) linear time verifier, poly-time prover.
โ€ข Number of rounds proportional to circuit depth.
2) [RRR16]: Bounded Space
โ€ข Any bounded-space computation.
โ€ข (Almost) linear time verifier, poly-time prover.
โ€ข ๐‘ถ ๐Ÿ rounds.
Constant-Round Doubly Efficient
Interactive Proofs
Theorem [RRR16]: โˆƒ๐›ฟ > 0 s.t. every language
computable in poly(๐‘›) time and ๐‘›๐›ฟ space has an
unconditionally sound interactive proof where:
1. Verifier is (almost) linear time.
2. Prover is polynomial-time.
No cryptographic
3. Constant number of rounds.
assumptions or operations
Inherent (under reasonable
conjectures)
Roadmap: A Taste of the Proof
Iterative construction:
1. Start with interactive proof for short
computations.
2. Build interactive proof for slightly longer
computations.
3. Repeat.
Iterative Construction
Suppose we have interactive proofs for time ๐‘‡/๐‘˜
and space ๐‘† computations.
Consider a time ๐‘‡ and space ๐‘† computation.
๐‘†
๐‘ฅ
๐‘ฆ
๐‘‡
Divide & Conquer
Divide: Prover sends Turing machine configuration
in ๐‘˜ โ‰ช ๐‘‡ intermediate steps.
๐‘ฆ
๐‘ฅ
๐‘ก๐‘‡/๐‘˜
๐‘ก2๐‘‡/๐‘˜ โ€ฆ
๐‘ก(๐‘˜โˆ’1)๐‘‡/๐‘˜
Conquer? recurse on all subcomputations.
Problem: verification blows up, no savings.
Divide & Conquer
Divide: Prover sends Turing machine configuration
in ๐‘˜ โ‰ช ๐‘‡ intermediate steps.
๐‘ฆ
๐‘ฅ
๐‘ก๐‘‡/๐‘˜
๐‘ก2๐‘‡/๐‘˜ โ€ฆ
๐‘ก(๐‘˜โˆ’1)๐‘‡/๐‘˜
Conquer? Choose a few at random and recurse.
Problem: huge soundness error.
Best of Both Worlds?
Can we batch verify ๐‘˜ instances much more
efficiently than ๐‘˜ independent executions.
Goal:
โ€ข Suppose ๐‘ฅ โˆˆ ๐ฟ can be verified in time ๐‘ก.
โ€ข Want to verify ๐‘ฅ1 , โ€ฆ , ๐‘ฅ๐‘˜ โˆˆ ๐ฟ in โ‰ช ๐‘˜ โ‹… ๐‘ก time.
Warmup: Batch Verification for ๐”๐
๐”๐ โІ ๐๐ are all relations with unique accepting
witnesses.
Theorem [RRR16]: Every ๐ฟ โˆˆ ๐”๐, has an
interactive proof for verifying that ๐‘ฅ1 , โ€ฆ , ๐‘ฅ๐‘˜ โˆˆ ๐ฟ
with ๐’Ž โ‹… ๐ฉ๐จ๐ฅ๐ฒ๐ฅ๐จ๐ (๐’Œ) + ๐‘ถ(๐’Œ) communication.
๐‘š = witness length
Tool: Probabilistically Checkable Proofs
PCP Theorem [โ€ฆ,ALMSS92,โ€ฆ]: Every NP witness ๐‘ค has a
PCP encoding ๐œ‹ = ๐‘ƒ๐ถ๐‘ƒ(๐‘ฅ, ๐‘ค) that can be verified with a
constant number of queries.
๐œ‹ = ๐‘ƒ๐ถ๐‘ƒ ๐‘ฅ, ๐‘ค
๐‘ฝ(๐’™)
Furthermore, query locations donโ€™t depend on input.
PCPs โ‡’ Batch Verification?
๐‘ฝ(๐’™๐Ÿ , โ€ฆ , ๐’™๐’Œ )
๐‘ท(๐’™๐Ÿ , ๐’˜๐Ÿ โ€ฆ , ๐’™๐’Œ , ๐’˜๐’Œ )
1. Generate PCP queries ๐‘„
๐œ‹1 = ๐‘ƒ๐ถ๐‘ƒ ๐‘ฅ1 , ๐‘ค1
๐ด=
๐œ‹2 = ๐‘ƒ๐ถ๐‘ƒ ๐‘ฅ2 , ๐‘ค2
โ‹ฎ
๐œ‹๐‘˜ = ๐‘ƒ๐ถ๐‘ƒ ๐‘ฅ๐‘˜ , ๐‘ค๐‘˜
๐‘„
๐ด๐‘„
2. Accept if PCP verifier
accepts all ๐‘˜ statements.
Extremely efficient โ€“ just ๐‘ถ(๐’Œ + ๐ฅ๐จ๐  ๐’Ž)
communication!
Totally insecure โ€“ soundness of PCP is only
guaranteed if PCP proof is written in advance.
Batch Verification via Checksums
๐‘ฝ(๐’™๐Ÿ , โ€ฆ , ๐’™๐’Œ )
๐‘ท(๐’™๐Ÿ , ๐’˜๐Ÿ โ€ฆ , ๐’™๐’Œ , ๐’˜๐’Œ )
๐ด=
๐œ‹1 = ๐‘ƒ๐ถ๐‘ƒ ๐‘ฅ1 , ๐‘ค1
๐ถ
๐œ‹2 = ๐‘ƒ๐ถ๐‘ƒ ๐‘ฅ2 , ๐‘ค2
๐‘„
โ‹ฎ
๐ด๐‘„
๐œ‹๐‘˜ = ๐‘ƒ๐ถ๐‘ƒ ๐‘ฅ๐‘˜ , ๐‘ค๐‘˜
๐ถ=
โˆ‘๐‘–โˆˆ ๐‘˜ ๐œ‹๐‘–
1. Generate PCP queries ๐‘„
2. Check that PCP verifier
accepts all ๐‘˜ statements.
3. Check ๐ด๐‘„ consistent
with ๐ถ.
Single Deviation Provers
In general: not sound.
Intuitively the hardest case
Relaxed soundness: make two assumptions
โ€ข only one ๐‘ฅ๐‘– โˆ— โˆ‰ ๐ฟ.
โ€ข โ€œsingle-deviationโ€ ๐‘ƒโˆ— : in answering queries ๐‘„,
๐‘ƒโˆ— must answer honestly on all rows ๐‘– โ‰  ๐‘– โˆ— .
Unjustifiable assumption!
Soundness vs. Single-Deviation Provers
๐‘ฝ(๐’™๐Ÿ , โ€ฆ , ๐’™๐’Šโˆ— , โ€ฆ , ๐’™๐’Œ )
๐‘ทโˆ— (๐’™๐Ÿ , ๐’˜๐Ÿ , โ€ฆ , ๐’™๐’Šโˆ— , โ€ฆ . ๐’™๐’Œ , ๐’˜๐’Œ )
๐ถโˆ—
Soundness vs. Single-Deviation Provers
๐‘ฝ(๐’™๐Ÿ , โ€ฆ , ๐’™๐’Šโˆ— , โ€ฆ , ๐’™๐’Œ )
๐‘ทโˆ— (๐’™๐Ÿ , ๐’˜๐Ÿ , โ€ฆ , ๐’™๐’Šโˆ— , โ€ฆ . ๐’™๐’Œ , ๐’˜๐’Œ )
๐œ‹1 = ๐‘ƒ๐ถ๐‘ƒ ๐‘ฅ1 , ๐‘ค1
๐ด=
๐…๐’Šโˆ— = ๐‘ชโˆ— + โˆ‘๐’Šโ‰ ๐’Šโˆ— ๐…๐’Š
โ‹ฎ
๐œ‹๐‘˜ = ๐‘ƒ๐ถ๐‘ƒ ๐‘ฅ๐‘˜ , ๐‘ค๐‘˜
๐ถโˆ— =
โŠ•
โˆ‘๐‘–โˆˆ ๐‘˜ ๐œ‹๐œ‹๐‘–๐‘–
๐ถโˆ—
Soundness vs. Single-Deviation Provers
๐‘ฝ(๐’™๐Ÿ , โ€ฆ , ๐’™๐’Šโˆ— , โ€ฆ , ๐’™๐’Œ )
๐‘ทโˆ— (๐’™๐Ÿ , ๐’˜๐Ÿ , โ€ฆ , ๐’™๐’Šโˆ— , โ€ฆ . ๐’™๐’Œ , ๐’˜๐’Œ )
๐œ‹1 = ๐‘ƒ๐ถ๐‘ƒ ๐‘ฅ1 , ๐‘ค1
๐ด=
๐…๐’Šโˆ— = ๐‘ชโˆ— + โˆ‘๐’Šโ‰ ๐’Šโˆ— ๐…๐’Š
โ‹ฎ
๐œ‹๐‘˜ = ๐‘ƒ๐ถ๐‘ƒ ๐‘ฅ๐‘˜ , ๐‘ค๐‘˜
๐ถโˆ— =
โŠ•
โˆ‘๐‘–โˆˆ ๐‘˜ ๐œ‹๐œ‹๐‘–๐‘–
๐ถโˆ—
๐‘„
1. Generate PCP queries ๐‘„
Soundness vs. Single-Deviation Provers
๐‘ฝ(๐’™๐Ÿ , โ€ฆ , ๐’™๐’Šโˆ— , โ€ฆ , ๐’™๐’Œ )
๐‘ทโˆ— (๐’™๐Ÿ , ๐’˜๐Ÿ , โ€ฆ , ๐’™๐’Šโˆ— , โ€ฆ . ๐’™๐’Œ , ๐’˜๐’Œ )
๐œ‹1 = ๐‘ƒ๐ถ๐‘ƒ ๐‘ฅ1 , ๐‘ค1
๐ด=
๐…๐’Šโˆ— = ๐‘ชโˆ— + โˆ‘๐’Šโ‰ ๐’Šโˆ— ๐…๐’Š
๐‘„
โ‹ฎ
๐œ‹๐‘˜ = ๐‘ƒ๐ถ๐‘ƒ ๐‘ฅ๐‘˜ , ๐‘ค๐‘˜
๐ถโˆ— =
๐ถโˆ—
โŠ•
โˆ‘๐‘–โˆˆ ๐‘˜ ๐œ‹๐œ‹๐‘–๐‘–
๐ด๐‘„
1. Generate PCP queries ๐‘„
2. Check that PCP verifier
accepts all ๐‘˜ statements.
3. Check ๐ด๐‘„ consistent
with ๐ถ.
Single-deviation ๐‘ƒโˆ— must answers row ๐‘– โˆ— by ๐…๐’Šโˆ—
โ€ข ๐…๐’Šโˆ— defined before queries ๐‘„ were specified
โ€ข PCP soundness โ‡’ ๐‘ƒโˆ— canโ€™t cheat
Handling General Cheating Provers
For ๐‘‘ deviation prover: use โ€œfancyโ€ checksum of size ๐‘‘ × ๐‘š.
Consider ๐‘‘ = ๐‘˜. Cheating prover has two options:
1. deviate on โ‰ค ๐‘˜ rows โ‡’ ๐‘‘ deviation, weโ€™re fine.
2. deviate on > ๐‘˜ rows โ‡’ answers disagree with unique
PCPs of more than ๐‘˜Since
of rows.
there is a unique PCP โ€“ verifier
will notice deviation and reject
๐‘‰ selects 100 ๐‘˜ rows at random and asks prover to send the
entire PCP for these rows.
Batch Verification for ๐”๐
This gives ๐‘˜ multiplicative overhead. Can be
improved to polylog ๐‘˜ by recursion.
For batch verification of interactive proofs we
introduce interactive analogs of ๐”๐ and ๐๐‚๐.
Constant-Round Doubly Efficient
Interactive Proofs
Theorem [RRR16]: โˆƒ๐›ฟ > 0 s.t. every language
computable in poly(๐‘›) time and ๐‘›๐›ฟ space has an
unconditionally sound interactive proof where:
1. Verifier is (almost) linear time.
2. Prover is polynomial-time.
3. Constant number of rounds.
Open Problems
โ€ข Research directions:
โ€“ Bridge theory and practice.
โ€“ Sublinear time verification.
โ€ข Concrete questions:
โ€“ IP=PSPACE with โ€œefficientโ€ prover.
โ€“ Batch verification for all of NP.
โ€“ [GR17]: Simpler and more efficient protocols (even
for smaller classes).