These will be a series post about FFT and the math structure behind it. My goal …
Zero knowledge proof
Rust Basics
GKR –Part1: Arithmetization
Take example circuit in figure 1, following the Arithmetization described in post, a step by step description of GKR arithmetication of a concrete example.

Notations representing index
…Upon understanding the attack on Nova — Part 1
To understand the attack on Nova, I figure out I need to understand the role of the hash function and the validation check of hash function in Nova, from the first paper where the “cycle of curves” is not introduced, the circuit is illustrated as

to …
Nova from scratch
After understanding of the folding scheme of relaxed R1CS, of which the key idea is you can “fold” two proofs to be one, with this ability of relaxed R1CS in mind, how can one build a recursive proof from scratch? in this note I will describe several attempts to build …
About Halo2 multipoints openning
explain the multipoints opening of Halo 2, I don’t think Halo2 book explain this part clearly, and perhaps, neither my note.
the key, is the homomorphism of the commitment scheme. and combine the evaluation at different points, and combine the different polynomial evaluated at the same points. Later if I …
Wormhole
A user want to send a message from one chain to another chain
- Emitter: a contract calls the publishMessage in the core contract
- the core contract publish the emitter address, sequencenumber and consistencyLevel (The number of blocks / slots which should pass before this message is considered confirmed.) into blockchain
STARK 101 coding note
zkVM
A rough description for STARK
Stark can be described in 5 steps in a high level:
- Computation program
- generate an execution trace and a set of polynomial constraints, AIR (Algebraic Intermediate Representation) (no circuit)
- Transfer the execution trace to be a polynomial, extend it to a larger domain
- compute the composition polynomial, which is the