An initiative by the ZK Education Team of the Ethereum Foundation
The revolution of privacy and secure computation arrives in Quito! Apply and become part of the next generation of experts in Programmable Cryptography (ProgCrypto).
- Focus: Programmable Cryptography (ProgCrypto), with a special emphasis on Zero-Knowledge Proofs (ZKPs), privacy, and secure computation.
- Objective: To train and empower the next generation of ZK experts in Ecuador.
- Duration: 6 intensive weeks.
- Cost: Free, thanks to the ZK Education Team of the Ethereum Foundation.
- Prerequisites: Necessary prior knowledge for the course.
- Open Source Culture: Introduction and reinforcement of the importance and practices of open-source code.
- Cryptography: Classical and modern (From symmetric to asymmetric ciphers: RSA, Diffie-Hellman).
- Introduction to Zero-Knowledge Proofs (ZKPs): What they are and why they are necessary (Scalability and Privacy). Types of ZK-Proofs: zk-SNARKs vs zk-STARKs.
- Technologies: Introduction to Circom.
- Study: KZG Polynomial Commitments, Trusted Setup.
- STARKs and SNARKs: Definition, characteristics, and uses.
- Practical Application: Algorithm implementation and basic ZKP demonstrations.
- Technologies: Advanced Circom & Introduction to Cairo
- Study:
- PLONK Introduction: Vitalik's blog post, Plonkish circuit arithmetization.
- Implementation: Explore Plonkathon reference implementation.
- Core Concepts: Brief understanding of underlying mathematical tools (e.g., polynomial commitments)
- Technologies: Introduction to Noir
- Workshops: Complementary practical workshops.
- Contribution Week 1: First week dedicated to open source contributions in virtual mode.
- Contribution Week 2: Second week of open source contributions in virtual mode.
- Workshops: Complementary practical workshops.
- Demo Day: Presentation of practical application results and contributions.
- The Frontier: Discussion on advancements and future trends in Zero-Knowledge.
- Strong foundation in programming or mathematics.
- Passion for cryptography, mathematics, security, or blockchain.
- English proficiency to understand technical content (Most content in this language).
- Students or professionals in Computer Science, Engineering, Mathematics, or related fields (from 4th semester onwards or graduates/egress).
We encourage contributions to improve this content. Please follow these steps:
- Analyze the Content: Review the existing materials.
- Report Issues: Create an issue if you find errors or areas for improvement.
- Submit Pull Requests: Submit a pull request with your changes once you are confident they will be approved.
If an existing issue is not being worked on, feel free to address it and make a pull request.
Templates for issues and pull requests are available under the .github
directory. These templates will appear automatically when you create a new issue or pull request on GitHub.