competing provers protocols for circuit evaluation

33
Gillat Kol joint work with Ran Raz Competing Provers Protocols for Circuit Evaluation

Upload: jersey

Post on 11-Jan-2016

24 views

Category:

Documents


1 download

DESCRIPTION

Competing Provers Protocols for Circuit Evaluation. Gillat Kol joint work with Ran Raz. Delegation of Computation. Delegation of Computation. - PowerPoint PPT Presentation

TRANSCRIPT

Page 2: Competing  Provers  Protocols for Circuit Evaluation

Delegation of Computation

Page 3: Competing  Provers  Protocols for Circuit Evaluation

Delegation of Computation• A computationally weak verifier (client) wants to

delegate computation to a more powerful untrusted (buggy, dishonest,…) prover (cloud, server)

• The prover needs to convince the verifier that the computation was performed correctly

data

result

Page 4: Competing  Provers  Protocols for Circuit Evaluation

Interactive Proof (IP) Protocols• IP Setting: A poly-time verifier wants to compute f(x)

with the help of a computationally-unbounded prover, where f,x are known to both

• IP Protocol for f: Strategies for the verifier and prover. After interacting, the verifier outputs a guess for f(x): either 0, 1 or “?” (don’t know). Whp:– Prover follows his strategy Verifier outputs f(x) – Else, the verifier outputs (whp) either f(x) or “?”

Page 5: Competing  Provers  Protocols for Circuit Evaluation

Delegation Protocols• Delegation Protocol for f: An IP protocol for f, where additionally:

– The verifier is almost-linear-time (npolylog(n))– The honest prover is poly-time (Soundness against an unbounded prover)

• More realistic setting…

• Theorem [S‘92,LFKN‘92]: IP = PSPACE with poly(n) rounds – Does not yield a delegation protocol, parties do not

meet the additional complexity demands

Page 6: Competing  Provers  Protocols for Circuit Evaluation

Previous Result [GKR‘08]

• For log-space uniform, poly-size, linear-depth circuits we get a delegation protocol

Theorem [GKR‘08]: Let C be a log-space uniform circuit of size s and depth d.Interactive Proof protocol for C with⁻Communication rounds: dpolylog(s)⁻Bits exchanged: dpolylog(s)⁻Prover’s complexity: poly(s)⁻Verfier’s complexity: (d+n)polylog(s)

allows a fast access to the structure of C

The Class P

Page 7: Competing  Provers  Protocols for Circuit Evaluation

Delegation to Several Provers

Page 8: Competing  Provers  Protocols for Circuit Evaluation

Delegation to Several Provers• Our Motivation: In real life, one can delegate to more

than one prover

Page 9: Competing  Provers  Protocols for Circuit Evaluation

Delegation to Several Provers• Our Motivation: In real life, one can delegate to more

than one prover• Assumption: From now on assume that at least one of

the provers is reliable• Observation: In this case, the verifier can always learn

the correct value:Run a delegation protocol with each prover separately

Page 10: Competing  Provers  Protocols for Circuit Evaluation

Is More Merrier?• Our Work: Can we get protocols with less communication

by delegating to several provers instead of just one? • Main Challenge: Suppose we ask all the provers for f(x)

– If they all agree, it must be the correct value– But, if they don’t, how do we tell who’s reliable?

• Idea: The provers now compete on the verifier’s trust. The verifier can use the provers one against the other: Use the first prover to validate the claims of the second…

Page 11: Competing  Provers  Protocols for Circuit Evaluation

Competing Provers (CP) Protocols• CP Setting [FST‘88]: A poly-time verifier wants to

compute f(x) with the help of 2 computationally-unbounded provers P0 and P1, where f,x are known to all

• CP Protocol for f: Strategies for the verifier and provers. After interacting, the verifier outputs a guess for f(x): either 0 or 1 – One of the provers follows his strategy Verifier outputs f(x) (whp)

• Observation: Wlog, may assume that at the beginningP0 claims f(x) = 0, while P1 claims f(x) = 1. Hence, P0 and P1 are Competing Provers

Page 12: Competing  Provers  Protocols for Circuit Evaluation

CP Delegation Protocols• CP Delegation Protocol for f: A CP protocol for f, where additionally:

– The verifier is almost-linear-time– The honest provers are poly-time (Soundness against unbounded provers)

• Theorem [FK‘97]: CP = EXP with poly(n) roundsCP = PSAPCE with 1 round– Does not yield CP delegation protocols, parties do

not meet the additional complexity demands

Page 13: Competing  Provers  Protocols for Circuit Evaluation

Our ResultTheorem: Let C be a log-space uniform circuit of size s and depth d.r Competing Provers protocol for C with⁻Communication rounds: r⁻Bits exchanged: d1/rpolylog(s)⁻Provers’ complexity: poly(s)⁻Verfier’s complexity: (d1/r+n)polylog(s)

• r = 1 Bits exchanged: dpolylog(s) (independently proved by [CRR])

• r = O(log(d)/loglog(s)) Bits exchanged: polylog(s)

in GKRdpolylog(s)

in GKR(d+n)polylog)

s(

Page 14: Competing  Provers  Protocols for Circuit Evaluation

Our ResultTheorem: Let C be a log-space uniform circuit of size s and depth d.r Competing Provers protocol for C with⁻Communication rounds: r⁻Bits exchanged: d1/rpolylog(s)⁻Provers’ complexity: poly(s)⁻Verfier’s complexity: (d1/r+n)polylog(s)

• We give a delegation protocol for every language in P

in GKRdpolylog(s)

in GKR(d+n)polylog)

s(

Page 15: Competing  Provers  Protocols for Circuit Evaluation

Another ApplicationCommunication Complexity & Circuit Lower Bounds [AW‘09]

Page 16: Competing  Provers  Protocols for Circuit Evaluation

Communication Complexity• Setting:

– Alice and Bob are computationally-unbounded players– Alice has input x and Bob has input y– The players’ mutual goal is computing f(x,y) with the

least amount of communication between them

Page 17: Competing  Provers  Protocols for Circuit Evaluation

Communication Complexity with CP• New Setting: Alice and Bob want to compute f(x,y)

with the help of Competing Provers with the least amount of communication between all parties– f is known to all, Alice knows x, Bob knows y,

Provers know both x and y– P0 claims f(x,y) = 0, while P1 claims f(x,y) = 1– Each party can communicate with every other party

Page 18: Competing  Provers  Protocols for Circuit Evaluation

Corollary of Our Result

Corollary: Let C(x,y) be a circuit of size s and depth d. r Communication Complexity protocol with Competing Provers for C with⁻ Communication rounds: r⁻ Bits exchanged: d1/rpolylog(s)

s = poly(n), d = polylog(n)

• The corollary follows easily from the proof of our theorem, using the approach of [AW‘09]

• For example, if CNC then a 1-round protocol exchanges polylog(n) bits

Page 19: Competing  Provers  Protocols for Circuit Evaluation

Circuit Lower-Bounds• Our corollary can be viewed as a possible direction

towards proving circuit lower-bounds • For example, in order to prove fNC, it suffices to show:

Any 1-round Communication Complexity protocol with Competing Provers for f requires the exchange of (polylog(n)) bits– Relatively simple combinatorial property that implies

strong lower bounds

Page 20: Competing  Provers  Protocols for Circuit Evaluation

Proof of Main Theorem for r = 1(sketch of sketch)

Page 21: Competing  Provers  Protocols for Circuit Evaluation

Main Ingredient I: [GKR‘08]Delegation to a Single Prover

Page 22: Competing  Provers  Protocols for Circuit Evaluation

. . .

V0

Vd-1

V1

Vd

• Fix circuit C of size s and depth d, and an input x • Enumerate C’s layers: layer 0 = output, layer d = inputs• Let Li be the vector of values of layer i’s gates when C

is evaluated on x

Representing the Circuit

• Let Vi = LDE(Li)

• V0(0m) = C(x), Vd = LDE(x)

• The verifier knows Vd(r) for r unknown to the prover, and wants to compute V0(0m)

input x

output C(x)

C

Page 23: Competing  Provers  Protocols for Circuit Evaluation

• Let z0 = 0m and zd = r

• The prover sends V0(z0) = C(x)

• For i = 1,…,d– Reduce knowing a value in a layer to knowing a random value in the layer below:

The verifier randomly selects zi, and reduces the correctness of the claim “vi-1 = Vi-1(zi-1)” to the correctness of the claim “vi = Vi(zi)” using the prover

• Finally, the verifier checks Vd(zd)

The Protocol of [GKR‘08] V0

Vi

Vi-1

Vd

input x

output C(x)

C

. . .

. . .

vi

vi-1

Page 24: Competing  Provers  Protocols for Circuit Evaluation

• Claim: A point in layer i-1 is a degree-2 polynomial in the values of the gates of layer i

Vi-1(z) = w,w’Hm Cz,w,w’ Li (w) Li (w’)

• Proof: – Vi-1 = LDE(Li-1), thus a point in Vi-1 is a linear combination

of points in Li-1 (the values of layer i-1’s gates)

Connection Between Layers

– The value of a gate in layer i-1 is a degree-2 polynomial in the values of its two children in layer i

MULT

w’w

z

Li-1(z) = Li (w)Li (w’)

layer i

layer i-1

Page 25: Competing  Provers  Protocols for Circuit Evaluation

• The reduction between the layers is via a standard IP protocol called Sum-Check [LFKN‘92] – Central in PCPs, IP = PSPACE, MIP = NEXP, …– Allows computing xHm g(x) for a low-degree g, when

the verifier knows g(r) for random rFm, unknown to the prover (the verifier “tests” the prover on r)

• Sum-Check can be used to reduce layer i-1 to layer i as:– Recall: A point in layer i-1 is a deg-2 poly in layer i

polynomial = sum of monomials– The prover does not know the test point zi until the

next iteration

Sum-Check Protocol

Page 26: Competing  Provers  Protocols for Circuit Evaluation

Main Ingredient II: [FK‘97]Sum-Check for Competing Provers

Page 27: Competing  Provers  Protocols for Circuit Evaluation

• Recall: IP = PSPACE with poly(n) rounds [S‘92]– Proof uses the poly(n)-rounds IP Sum-Check protocol

of [LFKN‘92]

• Recall: CP = PSAPCE with 1 round [FK‘97]– Proof constructs a 1-round CP Sum-Check protocol

Sum-Check for CP

Page 28: Competing  Provers  Protocols for Circuit Evaluation

Combining Main Ingredients

Page 29: Competing  Provers  Protocols for Circuit Evaluation

• Our Goal: Reduce dpolylog(s) rounds to 1

• First Attempt: Implement iteration i of GKR using the 1-round Competing Provers Sum-Check protocol of FK– Problem: Still requires d rounds

• Second Attempt: Run all d Sum-Checks simultaneously –The verifier sends all z1,…,zd at once, provers reply to all– Problem: During iteration i, provers mustn’t know

the test point zi

Combining Main Ingredients

Page 30: Competing  Provers  Protocols for Circuit Evaluation

• Main Idea: Disguise z1,…,zd

i, the verifier gives the provers a low-degree curve i: FFm that passes through zi (instead of zi itself)

• The parties run d Sum-Checks simultaneously, one for each layer

• The ith Sum-Check uses i-1 instead of zi-1, and i instead of zi. I.e., it computes Vi-1(z) for all the points z on i-1, using any of the points r on i as a test point

• The proof relies on the fact that the replies of the honest provers are low-degree polynomials in the zi variables

Main Ideai

zi

Page 31: Competing  Provers  Protocols for Circuit Evaluation

• The verifier checks the replies (low-deg polynomials H) in an alternating order (one of P0 and one of P1)

• When reply H is checked, the verifier already knows a point on H using a previous reply G of the other prover– E.g., assume H(t) = ((t)) and G(t) = ((t)) ( is a low-deg func, , are intersecting low-deg curves).Knowing G implies knowing a point on H

• If a prover sends an incorrect reply, it disagrees with the correct reply on the known point whp (both are low-deg)

Verifier’s Check Algo

Page 32: Competing  Provers  Protocols for Circuit Evaluation

• Generalization to r rounds and d1/rpolylog(s) bits:– Set k = d1/r. Run r-1 rounds of a k-ary search to find

layers i > j, i-j = k s.t. the provers agree on a point on Vi but disagree on a point on Vj

– Run the 1-round protocol on the subcircuit C’ of depth k obtained from layers j…i of C

Our Result Requires More Work…

. . .

V0

Vd-1

V1

Vd

input x

output C(x)

C

j

i

C’

• Getting a very efficient verifier (assuming log-space uniformity)

Page 33: Competing  Provers  Protocols for Circuit Evaluation

Thank You!