fullrecursion

package
v0.0.0-...-06294fd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 9, 2025 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AssignGnarkCircuit

func AssignGnarkCircuit(ctx *fullRecursionCtx, comp *wizard.CompiledIOP, run *wizard.ProverRuntime) *gnarkCircuit

AssignGnarkCircuit returns an assignment for the gnark circuit

func FullRecursion

func FullRecursion(withoutGkr bool) func(comp *wizard.CompiledIOP)

FullRecursion "recurses" the wizard protocol by wrapping all the verifier steps in a Plonk-in-Wizard context as well as all the Proof columns. The Vortex PCS verification is done via self-recursion.

Types

type CircuitAssignment

type CircuitAssignment fullRecursionCtx

CircuitAssignment is an implementation of wizard.ProverAction. As such, it embodies the action of assigning the full-recursion Plonk circuit columns.

func (CircuitAssignment) Run

type ConsistencyCheck

type ConsistencyCheck struct {
	// contains filtered or unexported fields
}

ConsistencyCheck is an implementation of wizard.VerifierAction. As such it is responsible for checking that the public inputs of the full-recursion Plonk circuit are assigned to values that are consistent with (1) the public inputs of the wrapping wizard protocol and with the inputs of the self-recursion wizard.

func (*ConsistencyCheck) IsSkipped

func (c *ConsistencyCheck) IsSkipped() bool

func (*ConsistencyCheck) Run

func (*ConsistencyCheck) RunGnark

func (c *ConsistencyCheck) RunGnark(api frontend.API, run *wizard.WizardVerifierCircuit)

func (*ConsistencyCheck) Skip

func (c *ConsistencyCheck) Skip()

type LocalOpeningAssignment

type LocalOpeningAssignment fullRecursionCtx

LocalOpeningAssignment assigns the local openings made over the Plonk PI. These are needed in order to (1) perform the consistency check (2) replace the "old" and recursed public inputs of the original wizard by new ones.

func (LocalOpeningAssignment) Run

type ReplacementAssignment

type ReplacementAssignment fullRecursionCtx

ReplacementAssignment is a wizard.ProverAction implementation. It assigns the queries and columns that are "replaced" in the wizard. In essence, this concerns the main grail polynomial evaluation (the grail query) and the Merkle roots assignment. These have to be replaced so that they can be refered to by the self-recursion. Otherwise, they would be swallowed by the recursion Plonk circuit.

func (ReplacementAssignment) Run

type ResetFsActions

type ResetFsActions struct {
	// contains filtered or unexported fields
}

ResetFsActions is a wizard.FsHook responsible for tweaking the FS state as required by the self-recursion process.

func (*ResetFsActions) IsSkipped

func (r *ResetFsActions) IsSkipped() bool

func (*ResetFsActions) Run

func (*ResetFsActions) RunGnark

func (r *ResetFsActions) RunGnark(api frontend.API, run *wizard.WizardVerifierCircuit)

func (*ResetFsActions) Skip

func (r *ResetFsActions) Skip()

type WitnessAssigner

type WitnessAssigner fullRecursionCtx

WitnessAssign is an implementation of the plonk.WitnessAssigner and is used to generate the assignment of the fullRecursion circuit.

func (WitnessAssigner) Assign

func (w WitnessAssigner) Assign(run *wizard.ProverRuntime, i int) (private, public witness.Witness, err error)

func (WitnessAssigner) NumEffWitnesses

func (w WitnessAssigner) NumEffWitnesses(_ *wizard.ProverRuntime) int

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL