Skip to content

2024 Curriculum Overhaul (WIP) #24

@adrianmcli

Description

@adrianmcli

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions