Zero knowledge proof

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 …

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.

On Understanding of the Permutation in Plonk

Question 1:

There are two list \((a_1, a_2, a_3,…a_n)\) and \((b_1,b_2,b_3,…,b_n)\)

how can we prove they contain the same element? (now we only consider to have the same elements, permutation comes in next question) This question would help …

Elliptic Curves In Practice–Part 1

Definition: Elliptic Curve, Group, Field

The elliptic curve is defined by an equation, but when it comes to practices, it is discrete and finite, i.e, we cannot work on …

The Short NIZK Argument in Pribank

We give a commit-and-prove zero-knowledge argument Protocol for the satisfiability of a QAP for an arithmetic circuit \(C\). For wires in the circuit \(\{a_i\}_{i=0}^n\), we denote the input witnesses are \(\{a_i\}_{i=0}^k\), the inner circuit witnesses are \(\{a_{i}\}_{i=k+1}^l\) and the statements wires are \(\{a_{i}\}_{i=l+1}^n\). The quadratic arithmetic program, Pedersen commitment and …

From Arithmetic Circuit to Quadratic Arithmetic Programs

Definition of Arithmetic Circuit


Let \(C: \ \mathbb{F}^n \ \rightarrow \ \mathbb{F}^k\) be a map which takes \(n\) arguments from a finite field \(\mathbb{F}\) as inputs and compute