by#JustinThaler A protocol for evaluating at any given point where for two matrices and . In contrast to Freivald’s algorithm, it does not need to send the result matrix , which requires communication.
Key insight:
- If and is multilinear, so is
- The multilinear extension of is unique → Apply sum-check protocol to
Runtime Analysis
Verifier runtime: Prover runtime:
- To specify each polynomial , can send , , and
- 3 implementation with increased efficiency:
- Method 1: By caching terms of the Lagrange basis polynomials, can be evaluated in time. It needs to be evaluated at points in round , which leads to an runtime
- Method 2:
- In each round , each term in the sum has the structure: with
- Because the value are binary, each entry of the input matrices only contributes to 3 such terms
- → Can compute all terms with one pass over the matrices ()
- → Total runtime
- Method 3: Shares work across rounds →
Applications
- Super-efficient IP for counting triangles:
- Apply the sum-check protocol to
- At the end of the protocol, the verifier needs to compute and → Reducing Multiple Evaluations to One
- can be computed unaided, for , it can invoke the matrix multiplication protocol
- Super-efficient IP for matrix powers:
- Goal compute , where is a power of
- → applications of the matrix multiplication IP, reducing multiple evaluations to 1 after each step
- In General, can be used in Combination with GKR as a subroutine, e.g. do prove graph diameters