Circle STARK: Understanding Circle Group’s Operation as Rotation

The goal of this blog is to explain circle group without complex mathematical definitions. However, this approach is not rigorous, it serves more like a intuition of understanding the geometry of a circle group. Before diving into the blog, may you need some pre-readings like Exploring circle STARKs or Yet

Constraint system in STWO

How Powdr translates PIL to Plonky3 and what about to stwo —2

following the first post

got two tasks:

  • generate trace from pil to stwo
  • implement FrameworkEval trait, which is used by stwo to define constraint, to PowdrCircuit

let’s talk about generate trace first.

in stwo, the trace is in this format as showed in last post

ColumnVec<CircleEvaluation<SimdBackend, BaseField, BitReversedOrder>>

how powdr …

How Powdr translates PIL to Plonky3 STARK—1

in Powdr, the proving function of Plonky3 is in function prove_with_key, in stark.rs

you can see the inputs for prove_with_key function has “air”, this is what used to define constraints, powdr gives “&circuit” to it, and it is a powdrcircuit, probably powdrcircuit applies the trait of AIR

so at this …