Skip to content

Latest commit

 

History

History
46 lines (30 loc) · 3.8 KB

expectations.md

File metadata and controls

46 lines (30 loc) · 3.8 KB

Setting expectations

It is important to set the right expectations, going into the workshop, doing the workshop and going out of the workshop.

How you go into the workshop

While anybody can do the workshop, there are some minimal requirements that you should meet in order to benefit from the lessons.

Recommended ✅ Minimal ⚠️ Reconsider? ❌
I really want to learn about ZKP. I want to learn something new. Learning sounds like work.
I want to do the entire workshop, which might take days to weeks. I want to do a few chapters, which might take a few hours. I am in a hurry.
I want to experiment with the ZKP mathematics. I want to hear about the mathematical concepts that make ZKP work. I vowed to never do maths again.
I want to write my own ZKP code. I want to see the code that implements ZKP. Seeing code makes me sick.

How we do the workshop

We do the workshop in a particular style. There are certain standards of quality that we try to uphold.

  • First principles: No prior knowledge beyond a high-school education is required.
  • Rediscovery: Instead of stating raw facts, we retrace the steps that led to the invention of something. Why do we need this? Why does this simple version fail? How can we fix it?
  • Informal proofs: We will learn through interactive tools and empirical experiments. There will be as few formulas as possible. Intuition is more important than exact details.
  • Reasoning transparency: There should be a complete argument for every claim in this workshop. You shouldn't have to trust me to come up with your own opinion.
  • Everything is code: Everything we will see is written in code. Most of the code lives in this repository. You can take a look at it, learn from it, modify it and play with it.

We often fail to achieve the ideal, but this is our North Star.

Feel free to reach out or to open a GitHub issue if there is room for improvement.

How you go out of the workshop

After going through the workshop, you should be able to do the following things.

Mastery 🏆 Success 🎯
I understand a range of ZKP protocols. I have an intuition why a range of ZKP protocols works.
I can explain a range of ZKP protocols to a friend. I can explain the concept of ZKP to a friend.
I can construct a ZKP protocol for similar problems. I can name the usual tricks that make ZKP protocols work.
I can spot typical errors if someone shows me their ZKP protocol. I can name typical errors that ZKP protocols have to avoid.

If you find yourself on the left-hand side of the table, then congratulations, you mastered the workshop! I couldn't ask for more.

If you find yourself on the right-hand side, then also congrats, you successfully did the workshop! You could go deeper into the topic, but you don't have to.

If you find yourself nowhere on the table, then something went wrong. Feel free to ask for help. If there is a problem with a lesson, then feel free to open a GitHub issue.