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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions