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 pre-process trace, witness trace and lookup trace commitments. namely, they only have three root commitments, every root commitment should …

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 = ["std", "env-filter"] }
tracing-forest = { workspace = true, features 

prove with polynomials with variant size in stwo

Statemachine example in stwo

this statemachine example has component with different degrees:

component file

StateTRansitionEval is the evaluation function, coordinate mark the number of the Eval

statemachine 0 has just two numbers, the mix_into put these numbers in to channel

statemachine 1 aslo implement the mix_into function, and mix all …

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:

Understanding the remove_trait_impls