Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2024 Curriculum Overhaul (WIP) #24

Open
35 of 44 tasks
adrianmcli opened this issue Feb 7, 2024 · 3 comments
Open
35 of 44 tasks

2024 Curriculum Overhaul (WIP) #24

adrianmcli opened this issue Feb 7, 2024 · 3 comments

Comments

@adrianmcli
Copy link
Collaborator

adrianmcli commented Feb 7, 2024

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

  • About This Course
  • Open-Source Culture, Git, and Github
  • How to ask questions, where to find help
  • How to submit your assignments (PR workflow)
  • Course FAQ

Knowledge

  • A Primer for ZKPs
  • Thought Experiments
  • Use-Cases and Applications
  • Supplemental materials on ZKPs [optional]
  • Number Theory

1️⃣ Week 1 - Cryptographic Basics

Practical

  • Getting Started with Circom (syntax + zkrepl)
  • Write a circuit to prove input to hash
  • Write a circuit to prove private key to public key
  • Write a circuit to prove inclusion in Merkle tree
  • Write a circuit to prove set membership

Study

  • Symmetric vs Asymmetric Encryption (AES, RSA)
  • Hash Functions, Merkle Trees
  • Digital Signatures (Schnorr)
  • DLP-based Public-Key Cryptography (DLP, DH, Elgamal)
  • Cryptographic Commitments
  • Intro to Elliptic Curve Cryptography
  • BLS Signatures (keep this simple and black-boxed)
  • Pairing-Based Cryptography (keep this simple and black-boxed)

2️⃣ Week 2 - More Crypto and zkSNARKs

Practical

  • Circom Crash Course (build from command line; ZKU course)
  • Write a circuit for a token mixer

Study

  • KZG Polynomial Commitments (keep this simple and black-boxed)
  • Trusted Setups (keep this simple and black-boxed; reference Inevitable Ethereum)
  • SNARKs and STARKs
  • SNARKs
    • From Computation to ZKPs (use only Vitalik's blog post; arithmetic circuits, R1CS, QAP)
    • Groth16 (keep this simple and black-boxed)
  • STARKs (follow Vitalik's blog posts)

3️⃣ Week 3 - Hackathon Week

4️⃣ Week 4 - PLONK Week

Practical

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

2024-02-07 15 24 33

Study Track

2024-02-07 15 24 47

@NOOMA-42
Copy link
Collaborator

NOOMA-42 commented Feb 8, 2024

Let's make it a ticket table with checkbox

@aguzmant103
Copy link
Member

@adrianmcli will this be merged into the repo? It'd be nice to tag as releases the versions and see 2023 vs 2024 vs 2025 curriculum versions :)

@NOOMA-42
Copy link
Collaborator

NOOMA-42 commented Jun 28, 2024

We've reorganized the folder and make 2023 2024 separate

@adrianmcli will this be merged into the repo? It'd be nice to tag as releases the versions and see 2023 vs 2024 vs 2025 curriculum versions :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants