Zero knowledge proof

Powdr plonky3 logging

Table of Contents

See logging

in backend/plonly3/stark.rs

there is a challenge test, to run it with trace logging, use the below command:

RUST_LOG=trace cargo test --features plonky3 --package powdr-backend --lib -- plonky3::stark::tests::challenge --exact --show-output

more info comes out like:

to see a logging from a specific …

Plonky3 notes about some basics

Traits

BaseAire

contains width(the number of columns) and preprocessed_trace(what is this used for?)

AirBuilderWithPublicValues

it extend the AirBuilder trait, which is the main trait, by adding the function to get public values…

Stwo Commitment Data Structure

Start with the proof of stwo:

commitmentSchemeProof

proof.commitments

contains the proof info, the interesting part is the commitments, in the verification function, there will be commitments[0], commitments[1],commitments[2] represent the commitment of …

Plonky3 logging

Pre-step:

add these to workspace dependencies

tracing = "0.1.37"
tracing-forest = "0.1.6"
tracing-subscriber = "0.3.17"
step 1:

add tracing subscriber to dependencies, namely, the dependencies should have these three

tracing.workspace = true
tracing-subscriber = { workspace = true, features 

Isomorphism

What is Isomorphism in Abstract Algebra?

An isomorphism is a structure-preserving map between two algebraic structures, …

prove with polynomials with variant size in stwo

Review, remove_trait_impls

Related type:

TraitsResolver

TraitsResolver helps to find the implementation for a given trait function and concrete type arguments.

TraitsResolver has a function resolve_trait_function_reference (see below) for a given polynomial reference, it resolves its trait

one of the input to this polynomialReference,

using fibo_no_public example, PolynomialReference looks like:

Table of Contents