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

Nova circuit in https://eprint.iacr.org/2021/370.pdf

to …

STARK 101 coding note

resource

https://starkware.co/stark-101

low degree polynomials extension

interpolate the trace points into a polynomial in …

IPA in Bulletproof, a rough description

Building blocks

Vector Commitment on elliptic curve, useful for its additive homomorphic

Statement

$$\{(\textbf{g,h}\in \mathbb{G}^n, P \in \mathbb{G}, c \in \mathbb{Z}_p; \textbf{a,b}\in \mathbb{Z}_p^n): P=\textbf{g}^{\textbf{a}}\textbf{h}^{\textbf{b}} \wedge c=<\textbf{a},\textbf{b}>\}$$

Proving

the strategy is recursive proof. For every recursive step, keep the public statement in the same format, but the vector length, together with …

Plonk in a short description

Plonk argument of knowledge can be described in 5 steps in a high level:

  1. Computation
  2. Arithmetic circuit
  3. Constrain System
  4. Transfer the constrain system to polynomial
  5. Prove gate constraints are satisfied.
  6. Prove permutation constraints are satisfied.

Constrain System in Plonk (Plonkish constrain system)

The constraint system in Plonk is

$$(\textbf{q}_{\textbf{L}_i} )\cdot …