- halo2
- 1. Concepts
- 1.1. Proof systems
- 1.2. PLONKish Arithmetization
- 1.3. Chips
- 1.4. Gadgets
- 2. User Documentation
- 2.1. Developer tools
- 2.2. A simple example
- 2.3. Lookup tables
- 2.4. Gadgets
- 2.5. Tips and tricks
- 2.6. WASM Guide
- 3. Developer Documentation
- 3.1. Feature development
- 4. Design
- 4.1. Proving system
- 4.1.1. Lookup argument
- 4.1.2. Permutation argument
- 4.1.3. Circuit commitments
- 4.1.4. Vanishing argument
- 4.1.5. Multipoint opening argument
- 4.1.6. Inner product argument
- 4.1.7. Comparison to other work
- 4.2. Protocol Description
- 4.3. Implementation
- 4.3.1. Proofs
- 4.3.2. Fields
- 4.3.3. Selector combining
- 4.4. Gadgets
- 4.4.1. Elliptic curve cryptography
- 4.4.1.1. Witnessing points
- 4.4.1.2. Incomplete and complete addition
- 4.4.1.3. Fixed-base scalar multiplication
- 4.4.1.4. Variable-base scalar multiplication
- 4.4.2. Sinsemilla
- 4.4.2.1. MerkleCRH
- 4.4.3. Decomposition
- 4.4.4. SHA-256
- 4.4.4.1. 16-bit table chip
- 5. Background Material
- 5.1. Fields
- 5.2. Polynomials
- 5.3. Cryptographic groups
- 5.4. Elliptic curves
- 5.5. Polynomial commitment using inner product argument
- 5.6. Recursion