ethereum / ethereum/zket-core-program
2024 Curriculum Overhaul (WIP)
- Dominant language
- No language data
- Stars
- 187
- Forks
- 73
- PR merge metrics
- No merged PRs in 30d
Description
# Summary
PSE EcoDev had a mini off-site session in February 2024 to work on overhauling the curriculum structure for 2024. The main changes are:
1. Move easy sections to a "pre-requisite" module before program start.
2. The "Practical Track" and "Study Track" will happen in parallel to encourage coding from the start.
3. Certain concepts are "black-boxed" and links are placed in an optional section.
4. Mini-hackathon will be placed in the middle of the program.
# New Structure
## 0️⃣ Week 0 - Pre-requisite Module
### Course Info
- [x] About This Course
- [x] Open-Source Culture, Git, and Github
- [x] How to ask questions, where to find help
- [x] How to submit your assignments (PR workflow)
- [x] Course FAQ
### Knowledge
- [x] A Primer for ZKPs
- [x] Thought Experiments
- [x] Use-Cases and Applications
- [x] Supplemental materials on ZKPs [optional]
- [x] Number Theory
## 1️⃣ Week 1 - Cryptographic Basics
### Practical
- [x] Getting Started with Circom (syntax + zkrepl)
- [x] Write a circuit to prove input to hash
- [x] Write a circuit to prove private key to public key
- [x] Write a circuit to prove inclusion in Merkle tree
- [x] Write a circuit to prove set membership
### Study
- [x] Symmetric vs Asymmetric Encryption (AES, RSA)
- [x] Hash Functions, Merkle Trees
- [x] Digital Signatures (Schnorr)
- [x] DLP-based Public-Key Cryptography (DLP, DH, Elgamal)
- [x] Cryptographic Commitments
- [x] Intro to Elliptic Curve Cryptography
- [x] BLS Signatures (keep this simple and black-boxed)
- [x] Pairing-Based Cryptography (keep this simple and black-boxed)
## 2️⃣ Week 2 - More Crypto and zkSNARKs
### Practical
- [x] Circom Crash Course (build from command line; ZKU course)
- [x] Write a circuit for a token mixer
### Study
- [x] KZG Polynomial Commitments (keep this simple and black-boxed)
- [x] Trusted Setups (keep this simple and black-boxed; reference Inevitable Ethereum)
- [x] SNARKs and STARKs
- [x] SNARKs
- [x] From Computation to ZKPs (use only Vitalik's blog post; arithmetic circuits, R1CS, QAP)
- [x] Groth16 (keep this simple and black-boxed)
- [x] STARKs (follow Vitalik's blog posts)
## 3️⃣ Week 3 - Hackathon Week
- [x] #32
## 4️⃣ Week 4 - PLONK Week
### Practical
- [x] #30
- [x] [Rustlings](https://rustlings.cool/)
### Study
- [ ] PLONK (follow Vitalik's blogpost)
- [ ] Publish a blogpost on PLONK and present at the end of week
## 5️⃣ Week 5 - The Frontier (Technologies and Applications)
### Practical
- [ ] Halo2 (do 0xParc course: Intro to Circuit Ex. Part 1, 6 hrs)
- [ ] Halo2 Step by Step
### Study
- [ ] FHE
- [ ] MPC
- [ ] Semaphore, Bandada
- [ ] TLSNotary
- [ ] ZKEmail
## Weeks 6 to 8
These remaining 3 weeks will be purely about contributing to Good First Issues.
# Reference Pictures from Off-Site
## Practical Track

## Study Track

Contributor guide
No contributing guide indexed for this repository
Research direction
The issue contains the proposed 2024 curriculum structure and references issues #30 and #32, Rustlings, Circom, and Halo2, but names no repository files or tests. Start by reviewing the curriculum content and the referenced issues, then identify which unchecked topics remain. Done means the curriculum reflects the intended week-by-week structure and the remaining work is accurately tracked.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- content, documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100