---
# System prepended metadata

title: ZKP Study Group IV
tags: [note, zkp, TEM, Study-Group]

---

# ZKP Study Group IV

### Agenda
- (7/20) Rust intro - **Kimi**
- (8/3) Plonk intro by YingTong - **Kimi**
    - https://www.youtube.com/watch?v=V1RgGn1GtqM 

- (8/17) halo2 api and a workshop - **CC**
    - halo2 book 1.1, 1.2 https://zcash.github.io/halo2/concepts/proofs.htmlhttps://github.com/zcash/halo2/blob/main/halo2_proofs/src/plonk/circuit.rs#LL934C6-L934C18
    - Halo2 intro, https://youtu.be/ihPcnctm4q4?t=780
    - Halo2 workshop 
      - https://learn.0xparc.org/materials/halo2/learning-group-1/halo2-api
      -    https://docs.google.com/presentation/d/1HUJPHXaqbmVsnmI331mJn9nRuZkeHQZkIMpWBOJ1itk/edit#slide=id.p17

- (9/14) [4.1.4. Vanishing argument] - **Vivian** 
(https://zcash.github.io/halo2/design/proving-system/vanishing.html)
	- The core component of plonkish proving system to check if all rules are satisfied.
	- Implementation could be referenced [here](https://github.com/zcash/halo2/tree/76b3f892a9d598923bbb5a747701fff44ae4c0ea/halo2_proofs/src/plonk/vanishing)

- (9/28) [4.1.1. Lookup argument] - **Doris** 
(https://zcash.github.io/halo2/design/proving-system/lookup.html)
	- Details about what rules halo2 adds internally to implement lookup argument.
	- Implementation could be referenced [here](https://github.com/zcash/halo2/blob/76b3f892a9d598923bbb5a747701fff44ae4c0ea/halo2_proofs/src/plonk/lookup)

- (10/12) [4.1.2. Permutation argument] - **Kevin** (https://zcash.github.io/halo2/design/proving-system/permutation.html)
	- Details about what rules halo2 adds internally to implement permutation argument.
	- Implementation could be referenced [here](https://github.com/zcash/halo2/tree/76b3f892a9d598923bbb5a747701fff44ae4c0ea/halo2_proofs/src/plonk/permutation)

- (10/26) [4.1.3. Circuit commitments] - **Steven** (https://zcash.github.io/halo2/design/proving-system/circuit-commitments.html)
	- Details about how these pieces mentioned above are put together with a commitment scheme in some specific order to ensure the soundness.
	- Implementation could be referenced [here](https://github.com/zcash/halo2/blob/76b3f892a9d598923bbb5a747701fff44ae4c0ea/halo2_proofs/src/plonk/prover.rs#L35)

- (10/26) [4.1. Proving system] - **Han**  
(https://zcash.github.io/halo2/design/proving-system.html)
   - Overview of how halo2 proving system works. For the lookup argument and permutation argument, they are builtin provided by halo2 constraint system for us to use directly, which will also be expanded into a bunch of rules (aka gates).
    - For vanishing argument, it's the core component of plonkish proving system to check if all rules are satisfied, which is also handled by halo2.
    - As for multipoint opening or inner product argument, we could ignore them for now since on EVM usually we'd use KZG instead (tho the multipoint opening is similar). Could be a nice optional material.

- (11/2) Nova/folding system - **Oskar**
----

###### tags: `Study-Group`, `zkp`, `TEM`, `note`