Skip to main content

Module basefold

Module basefold 

Source
Expand description

Verifier for the BaseFold sumcheck-PIOP to IP compiler.

BaseFold is a generalized polynomial commitment scheme that allows compilation of sumcheck-PIOP protocols to IOPs. The protocol is an interactive argument for sumcheck claims of multivariate polynomials defined as the product of a committed multilinear polynomial and a transparent multilinear polynomial. When the transparent polynomial is a multilinear equality indicator, this BaseFold instance becomes a multilinear polynomial commitment scheme. The core idea is to commit the multilinear polynomial using FRI and open the sumcheck claim using an interleaved instance of sumcheck on the composite polynomial and FRI on the committed codeword, sharing folding challenges.

This module implements the version specialized for binary field FRI described in DP24, Section 4. Moreover, this module includes the classic BCS16 compiler for IOPs to IPs that commits and opens oracle messages using Merkle trees.

Modules§

channel
BaseFold ZK implementation of the IOP verifier channel.
compiler
BaseFold compiler for IOP verifiers.

Enums§

Error
VerificationError

Functions§

verify_mlecheck_basefold
Verifies a combined multilinear-evaluation BaseFold opening: a single degree-1 MLE-check interleaved with a single FRI over the piecewise-concatenated oracle of the Batched ZK BaseFold construction (whitepaper §7.2 / §sec:batched-basefold Step 2).