# General Grant Proposal
* **Project:** ZK Developer Program
## Project Overview :page_facing_up:
### Overview
The ZK Developer Program will be an online educational bootcamp designed to cultivate a new generation of contributors across Latin America.
**The program will be open to the entire region, focusing on Spanish-speaking participants, providing a highly engaging and personalized learning experience.** It will run for **eight weeks**, featuring **one weekly class**, **two office hours**, and a **keynote presentation** from PSE teams, all conducted **virtually**.
**Participation will be open and structured in layers**, with **student performance** evaluated throughout. Only those meeting the **established criteria** will access the **specialization layer**, delving into each **PSE technology**. Additionally, participants showing **consistent progress** will also have access to **office hours** with mentors.
As a **final layer**, the program will encourage **contributions** to PSE repositories, addressing "**first good issues**" and collaborating on **documentation**. All content and classes will remain **public** and **permissionless**, following the **Ethereum Fellowship Program** model.
One goal is to equip participants with foundational cryptography knowledge and open-source development skills. Also, the course equips participants with the skills to integrate advanced cryptographic tools into their projects.
### Short Rationale
After completing the first LATAM edition of the PSE Core Program, which yielded significant contributions, we identified the need for continued education in Privacy-enhancing technologies (PETs).
By running the ZK Learning Program, we aim to build on that success, scaling participation across the region, and increasing contributions to the open-source ecosystem.
The primary goal of the **ZK Developer Program** is to empower developers to use PSE protocols **to connect with existing projects** or those currently under development.
By fostering hands-on experience with these protocols, **we aim to build ZK engineers who can work anywhere and contribute to the entire open-source ecosystem.**
Additionally, we seek to provide **Spanish-speaking students** with high-quality **learning resources** and access to essential technologies to incorporate advanced cryptographic tools with a focus on data privacy and security.
Most of our team is attending the **Invisible Garden** bootcamp in **Thailand**, enriching our proposal and overall experience. In **November**, we will participate in **hackathons** and **side events** in **Bangkok** on **privacy** and **programmable cryptography**, alongside **Devcon**.
### Project Details
The focus of the program will be on **programmable cryptography**, specifically designed for **contributors** who wish to learn about these new technologies and actively participate in **PSE projects**. Participants will acquire the necessary skills to leverage **advanced cryptographic protocols** and **tools** from PSE, aiming to develop **practical**, **user-oriented applications** and effectively scale their use in **accessible solutions**.
To enhance the learning experience, each module will include a **practical exercise** designed to build competencies in programmable cryptography, complemented by **weekly reviews** to assess progress. **Managing the program in layers** will allow for a more **structured approach** and facilitate **progressive learning**. The objective is to prioritize the development of **projects utilizing ZK technologies**, rather than delving into **theoretical concepts** such as **Plonk** and **Groth16** (which will be addressed briefly). This approach acknowledges that the audience primarily consists of **programmers and engineers** motivated to contribute to PSE technologies and also to leverage and build with them, rather than engage in theoretical research.
Additionally, **Privacy Lab LATAM** will provide ongoing support after the course, helping **developers** continue to develop their skills and build the **next generation of developers** in **programmable cryptography**.
#### Stages of the Program
| Layer | Details |
|-------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **General Knowledge Layer** | - Basic concepts of ZK. <br> - Graphical explanations of the flow of each concept. <br> - Overview of available technologies for each concept. |
| **Specialization Layer** | - Detailed information on each technology. <br> - Practical application workshops. |
| **Contribution Layer** | - Specific information on PSE projects related to each technology. <br> - Compilation of links to repositories and listings of Good First Issues. <br> - Contributions related to documentation on how to use PSE projects in practical applications will receive extra points. |
### Curriculum week by week
#### **1. Number Theory**
- Groups/Group Theory
- Cyclic groups
- Modular Arithmetic
**2. Cryptographic Primitives**
- Hash functions
- Cryptography basics
- Merkle Trees
- Semaphore Workshop
**3. More Deep**
- Commitments
- Polynomial commitments
- Trusted setup (P0tion workshop)
- KZG
- MPC (Multi-Party Computation)
**4. What is ZKP?**
- Flow diagrams (Paul)
- Blog (Vivian - practical content)
**5. Circuits**
- Finite Fields
- Modules
- Signal circuit
- RICS
- Witness
**6. ZK-SNARKs**
- Groth16
- Plonk
- Benchmarking between both
**7. ZK-STARKs**
- FRI (Fast Reed-Solomon Interactive Oracle Proofs)
- Circle STARK
- Benchmarking between both
**8. Contribution Workshops**
- MACI + Annonadar (Wilman and Cris)
- Semaphore Tutorial (Fernando)
- ZK-KIT (Paul)
**9. Project Workshops**
- ZK Email
- TLS Notary
**10. Noir, Cairo, and Halo2**
**11. ZKEVM**
- Polygon
- Plonky3
- Scroll
- Mina
**12. Contributions**
- Projects Open Source
- Bounties
**13. Follow-Up Weeks**
- Follow-up Week 1
- Follow-up Week 2
#### KPIs
- **Graduate Rate**
- The **Graduate Rate** is calculated using the formula:
$$
\text{Graduate Rate} = \frac{\text{# enrolled students}}{\text{# graduates}} \rightarrow\text{This rate can be broken down by layer} \left\{
\begin{array}{c}
\textbf{1. General Knowledge Layer} \\
\textbf{2. Specialization Layer} \\
\textbf{3. Contribution Layer}
\end{array}
\right.$$
- **Contribution Rate (Individual)**
- The **Contribution Rate (Individual)** is defined as:
$$
\text{Contribution Rate (Individual)} = \text{# contributions} \times \text{per student}
$$
- **Contribution Rate (General)**
- The **Contribution Rate (General)** is determined by:
$$
\text{Contribution Rate (General)} = \frac{\text{# contributions}}{\text{# graduate students}}
$$
- **Issue Successful Merge**
- The total number of successfully merged issues is represented as: **Total issues**
This can be analyzed by country and type of issue, which includes:
$$\text{# Total issue}
\left\{
\begin{array}{l}
\text{- Per country} \\
\text{- Type of issue} \\
\quad \text{- Documentation} \\
\quad \text{- Test} \\
\quad \text{- Core}
\end{array}
\right.
$$
- **Percent of issues in Open Source Projects**
- **Total Program Hours**
- The **Total Program Hours** refers to the sum of all hours dedicated to program activities.
- **Student Attendance**
- Student attendance is evaluated through the average number of students:
- Avg # of students:
- per session
- per layer
- total
- **Successful "Fundamentals" Layer Approval**
- For the approval of the "Fundamentals" layer, it is required to:
- Create a video explaining one concept (5 minutes).
- **Successful "Projects" Layer Approval**
- For the approval of the "Projects" layer, it is necessary to:
- Create a video or blog that explains or tutorials one project.
Note: **It is important to ask for feedback on each layer finished**
#### An overview of the Technology Stack to be used:
* Programming languages: Circom, Rust (Rustlings), Noir, Cairo
* Frameworks & Libraries: Circomlib and Halo2
* Communication: Discord or Google meet. Also, Jitsi (offers unlimited call time).
* Learning Management: Moodle or Google Classroom, Notion, GitHub (for project contributions)
#### Core Components:
* Introduction to ZKP: ZK-Snark and ZK-Stark
* Privacy-preserving protocols: Semaphore, Bandada, TLSNotary, ZKEmail, MACI, NFC Card by Cursive tech, zkp2p
* Development methodologies: Open-source contributions, GitHub-based collaboration
#### Relevant Prior Work:
The instructors for this edition are all graduates of the PSE Core Program, with hands-on experience in privacy technologies and ongoing contributions to PSE projects.
Most of them also received learning grants to continue their work on PSE projects, further deepening their expertise in programmable cryptography technologies and open-source contributions.
Besides that, Alex Padilla and Lucila Pastore served as the program coordinators in Ecuador and Argentina, respectively. Their leadership roles have provided them with valuable insights into what worked, what didn’t, and what needs to be modified or improved for the online LATAM edition.
This gives our team a **unique value proposition**: the combination of having both completed the program and coordinated it gives us a comprehensive understanding of how to optimize the learning experience for this new format.
##### Insights from the PSE Core Program 2024 in LATAM:
* [Argentina](https://x.com/SebaGiraudo/status/1835346419273625922)
* [Costa Rica](https://x.com/EthereumCR/status/1829248150307020949/photo/1)
* [Ecuador](https://x.com/padimaster/status/1821706312272494824)
## Team :busts_in_silhouette:
### Team members
Lucila Pastore, Technical Project Manager
* Bio:
**Community Manager for the PSE Core Program in Argentina**, organizer of ZKCity and ZK Week at Crecimiento, and Community Manager for Ethereum Argentina 2023.
* Email: lucilapastoree@proton.me
* Telegram handle: t.me/lucilajulianaa
* Discord handle: lucilajuliana
---
Luis Cordero, Technical Project Manager
* Bio:
Mechanical Engineer, Mathematician, and Node Operator. Currently advancing my studies in cryptography, with a focus on ZK-Snark and ZK-Stark.
**Community Manager for Ethereum Ecuador and graduate of the PSE Core Program in Ecuador.**
* Email: gelois@protonmail.com
* Telegram: t.me/gelois
* Discord handle: gelois
---
Nathalia Barrientos, Instructor & Mentor
* Bio:
Electronics and Automation Engineer & Backend Developer.
Focused on Robotics, the intersection of AI and Electronics. Exploring distributed technologies like federated learning and Large Behavior Models (LBM) in robotics. Also interested in the convergence of cryptography and AI.
**Graduate of the PSE Core Program in Ecuador and participant in Invisible Garden.**
* Email: nathalia.barreirosf@gmail.com
* Telegram handle: t.me/nathbarreiros
* Discord handle: nathbarreiros
---
Daniel Arroyo, Instructor & Mentor
* Bio:
Frontend Web3 Developer and DevRel
I build end-user web3 platforms with the best UX/UI principles. Looking to build privacy dapps with ZK.
**Graduate of the PSE Core Program in Ecuador, and instructor at Invisible Garden.**
* Email: daniel0ar@gmail.com
* Telegram handle: t.me/danielarroyoeth
* Discord handle: daniel0ar
---
Rocío González Toral, Instructor & Mentor
* Bio:
Backend Web3 Developer, community manager of Nym in Spanish. Privacy Activist via Women in Web3 Privacy and Privacy Lab Latam communities.
Looking to build and contribute in privacy protocols.
**Graduate of the PSE Core Program in Ecuador, and recipient of the PSE Core Program Learning Grant.**
* Email: chiogonzalezt@gmail.com
* Telegram handle: t.me/RocioGonzalezT9
* Discord handle: rocio.gonzalez.toral
---
Paul Rodas, Instructor & Mentor
* Bio:
DevOps. I like to know about the technologies available in the market and integrate them to real-world use cases. Currently focused in Zero Knowledge technologies.
**Graduate of the PSE Core Program in Ecuador and participant in Invisible Garden.**
* Email: rodaspaul@gmail.com
* Telegram handle: t.me/rkno86
* Discord handle: _arkno_
---
Mairen Chavarría, Instructor & Mentor
- Bio:
Backend developer with over 10 years of experience. Graduate of the PSE Core Program in Costa Rica and the ZK and Scaling Bootcamp by Encode Club.
- Email: mairen915@gmail.com
- Telegram: t.me/maicvcr
- Discord: maicvcr
---
Alfredo Bonilla, Instructor & Mentor
* Bio:
Full-stack developer with more than 13 years of experience. Specialized in blockchain and Web3. Passionate about education and mentoring in emerging technologies.
**Graduate of the PSE Core Program in Costa Rica, recipient of the PSE Core Program Learning Grant, instructor of the ETH Developer Pack, and participant in the PSE Hacker House at the ETH CC edition.**
* Email:
* Telegram handle: t.me/brolag
* Discord handle: brolag_
---
Carlos Jimenez, Instructor & Mentor
* Bio:
Mechatronics Engineer and Web3 enthusiast, with experience in backend development and automation using RPA. He is currently specializing in Zero-Knowledge to enhance privacy and security in digital systems. He is a member of LoxaLibre and DojoCoding.
**Graduate of the PSE Core Program in Ecuador and participant in Invisible Garden.**
* Email:
* Telegram handle: t.me/cijimene
* Discord handle: carlos_israelj
---
Alex Padilla, Community Manager
* Bio:
**Instructor of the ETH Developer Pack, Core Team at ETH Ecuador, and Community Manager for the PSE Core Program in Ecuador.**
* Email: 0xpadimaster@gmail.com
* Telegram handle: https://t.me/padimaster
* Dicord handle: padimasterec
### Team Website
* Under construction
### Team's experience
**Cryptographic Knowledge:** All team members possess intermediate-level expertise in applied cryptography, developed through comprehensive training in the PSE Core Program 2024.
**Community Involvement:** Our experience within the community has been pivotal to our professional development, bolstered by our collaboration with the communities of Ethereum Costa Rica, EThereum Ecuador, and Ethereum Argentina. Following the completion of the PSE Core Program in LATAM, we established Privacy Lab LATAM, where we are actively sharing resources for expanding the world of programmable cryptography.
- [Telegram Group](https://t.me/latamzk)
- [X Account](https://x.com/latamzk)
**Web Development Skills:** Competence in both frontend and backend web development.
**Diverse Backgrounds:** Graduates of the program come from various disciplines, including computer science, mechatronics, software engineering, web development, and mathematics. This diversity of backgrounds enhances problem-solving and fosters innovation.
### Team Code Repos
#### PSE Core Program Contributions 2024:
- Enhanced Unit Testing for p0tion API Infrastructure
[Link](https://github.com/privacy-scaling-explorations/core-program/tree/main/2024/contributions#p0tion-issue-326)
- ZK Multiverse
[Link](https://github.com/privacy-scaling-explorations/core-program/tree/main/2024/contributions#zk-multiverse)
- Docs: Update Merkle Trees Section for ZK-Kit
[Link](https://github.com/privacy-scaling-explorations/zk-kit/pull/327)
- Core Program: Graphic Explanation Diagrams
[Link](https://github.com/privacy-scaling-explorations/core-program/pull/43)
- Update to the Install Guide for Maci-Platform V2.x
[Link](https://github.com/privacy-scaling-explorations/maci-platform/pull/358)
#### PSE Hacker House in Brussels:
- Semaphore-Paymaster-Frontend
[Link](https://github.com/brolag/semaphore-paymaster-frontend)
## Development Roadmap :nut_and_bolt:
### Overview
* **Total Estimated Duration:** 18 weeks
* **Full-time equivalent (FTE):** 5
* **Total Costs:** TBD
### Milestone 1: Preparation and Syllabus Design
* **Estimated Duration:** 4 weeks (December 2 - December 30)
* **FTE:** 5
* **Costs:** TBD
* **Estimated delivery date**: Dec 27th 2024
#### Deliverables
##### 1. Program's classes and presentations
##### 2. Program's schedule, with classes, office hours, guest lecturers and keynote speakers
##### 3. A comprehensive and up-to-date report on the state of ZK in Ethereum
### Milestone 2: Recruiting and Applicant Selection
* **Estimated Duration:** 4 weeks (January 2, 2024 - January 31, 2025)
* **FTE:** 5
* **Costs:** TBD
* **Estimated delivery date**: Jan 31 2024
#### Deliverables
##### 1. Share promotional materials and launch application process
##### 2. Open and Promote the Call for Registrations
##### 3. Finalize participant's selection
### Milestone 3: Program Execution (Classes & Office Hours)
* **Estimated Duration:** 8 weeks (February 3 - March 31)
* **FTE:** 5
* **Costs:** TBD
#### Deliverables
##### 1. Conduct weekly classes (8 total)
##### 2. Host office hours (2 hours/week) to assist students
##### 3. Hands-on Workshops about PSE Projects (6 total)
##### 4. Track and support student's contributions to ZK projects
##### 5. Execute a hackathon for students to apply the knowledge acquired and develop their own projects/contributions.
### Milestone 4: Wrap-up and Retrospective
* **Estimated Duration:** 2 weeks (April 1, 2025 - April 14, 2025)
* **FTE:** 5
* **Costs:** TBD
#### Deliverables
##### 1. Publish program's retrospective and student outcomes (in a blogpost)
##### 2. Collect feedback from students and mentors
##### 3. Compile a list of all contributions made during the program
## Additional Information :heavy_plus_sign:
**Program Content:** The classes will offer a comprehensive introduction to Zero-Knowledge Proofs (ZKPs), focusing initially on ZK-SNARKs and ZK-STARKs. Emphasis will be placed on practical development using Circom with CircomLab, Rust with Halo2, and the Cairo and Noir languages for PSE projects.
Additionally, repositories and Good First Issues will be compiled to promote community contributions. Submissions featuring documentation on how to apply PSE projects in practical contexts will receive additional credit. All sessions will be recorded and held without restrictions to ensure broad accessibility for the entire community.
**Industrial Keynotes:** Workshops will be conducted that focus on PSE projects and their practical applications as learning resources to prepare participants for their contributions to PSE technologies, as well as for their utilization during the hackathon at the end of the course, where students will demonstrate what they have learned. The objective is for these sessions to prioritize practical learning over theoretical instruction, enabling students to acquire the requisite skills and knowledge.
**Work Done So Far:** We have already successfully conducted the LATAM edition of the PSE Core Program, yielding strong engagement and contributions from students.
**Partners that trusted us in the past for collaborations:**
* [Ethereum Argentina](https://ethereumargentina.org/)
* [Ethereum Costa Rica](https://ethereum.cr/)
* [ETH Ecuador](https://ethecuador.org/)
* [ETH KIPU](https://www.ethkipu.org/en)
* [Aztec](https://aztec.network/)
* [Privacy Guardians](https://x.com/privacyguardia)
* [Web3 Privacy Now](https://web3privacy.info/)
* [Women in Web3 Privacy](https://www.womeninweb3privacy.com/)
* [Anthalpa Labs](https://labs.antalpha.com/)
* [Ethereum Tegucigalpa](https://x.com/ethereumTGU_)
* [Ethereum Honduras](https://x.com/EthereumHN)
* [Builder Monastery](https://www.buildermonastery.com/)
* [NYM en Español](https://x.com/EspanolNym)
* [FHEnix](https://www.fhenix.io/)
* [Crecimiento](https://x.com/crecimientoar)
* [zkCity](https://www.zkcity.xyz/)
* [zk intro](https://zkintro.com/)