Episode 352 - Learning ZK with Jeffrey from RareSkills
12 Mar 2025 · 1:07:46
Zero Knowledge host Anna Rose talks with Jeffrey Scholz, founder of RareSkills, about onboarding developers into zero-knowledge cryptography. They discuss RareSkills' education program, including its ZK Book and bootcamp curriculum, and get into strategies for breaking down complex zk-SNARK concepts, choosing the right tools for teaching, and designing a curriculum that helps engineers become self-sufficient in ZK development.
Speakers
Topics
Transcript
[Music] welcome to zero knowledge I'm your host Anna Rose in this podcast we will be exploring the latest in zero knowledge research and the decentralized web as well as new paradigms that promise to change the way we interact and transact [Music] online this week I chat with Jeffrey founder of rare skills we talk about onboarding developers into ZK the approach they have taken with their ZK book and boot camp on ZK how to strip down a complicated topic into its parts what to start with what can be
introduced later the choices of what to teach and which tools to use as well as how to best teach people effectively to teach them enough so that they can teach themselves going forward now before we kick off I do want to just let you know about the ZK Summit ZK Summit 13 is coming up it's happening on May 12th in Toronto this is the second time we bring the ZK Summit to North America the first being all the way back in 2019 when we did one in San Francisco if you've never been to a ZK Summit I definitely recommend checking it out this is the spot to find out about the latest research the newest applications to find out who are the most important players in ZK today it's also a wonderful way to get to know sort of the larger ZK
community the application to attend is now open if you'd like to apply to speak you can do so in the same form the speaker application deadline is March 15th generally I recommend applying early we do expect this event to sell out and tickets are limited speaker slots are even more limited so do get your application in early and we'll get in touch with you very shortly links as always are in the show notes and I hope to see you there now Tanya will share a little bit about this week's sponsor you might already know of the ZK jobs board a place where teams can share open roles with our community but when it comes to key hires finding the right fit in our Niche space can be difficult
that's where Missing Link comes in they're a talent team built for the web 3 era helping projects across the ecosystem connect with the right candidates at the right time they've worked with names you'll recognize ethereum Foundation matter Labs Lio Mina web3 foundation and many more more filling critical roles that drive these teams forward whether you're an established project looking to fill a senior leadership role or a startup searching for specialized talent to refine your product Market fit Missing Link can help they've done it for some of the biggest teams in the space helping them and now you find the right people fast for more details check out the show notes and visit their website at missing-link
doio so thanks again missing link and now here's our episode [Music] today I'm here with Jeffrey scholes founder of rare skills welcome to the show thanks for having me today we're going to be diving into ZK education something that is near and dear to my own heart as you may know there's a project called ZK hack it's a sister project to this show to the zero knowledge podcast and over at ZK hack we have the ZK whiteboard sessions we have study groups and we do sort of a form of informal education but there is no curricul it's not really designed with end goals in sight but this has made me a little bit curious about generally ZK education and I think this is something
we're going to be talking about in this episode rare skills Jeffrey what you've been working on is very much that so like I really want to explore how you think about ZK education now I hadn't been really aware of your group until 2023 I think when there was the ZK book that came out I am curious like what were you doing before that what led you to even start working on ZK education were you educating before that so why do we start a little bit with a backstory of rare skills where did you guys get your start so rare skills didn't start off with ZK we started off with solidity because I had been already publishing some material on it with under my own personal name on medium and I could
created a udemy course on it which I'll talk about later but when you're in web 3 you know ZK comes up a lot and there was a lot of uh I was personally curious about it there were a lot of people who wanted to learn learn about it in particular I had one guy I had been talking about hey we should have a ZK boot camp this stuff we should break this down for people I should share what I've learned on the topic luckily there was one very pushy person who insisted on it and we created a a ZK boot camp which initially started off with just three people and that the lecture notes became the ZK book and it was quite popular so that's what led to us continuing to develop the ZK book and keep running ZK boot camps and just keep investing in education in that in
general cool before the ZK book though were you doing something else in terms of like education was there like another field with rare skills we were only doing solidity related things before that so there there wasn't as much material on that back then so that was kind of the niche we were feeling in but ZK is a besides people wanting it it's a very interesting subject and it it definitely had and still kind of has a very strong Mystique around it so that made it even more interesting well before we dive into just generally this course and rare skills we should also learn a little bit about you like where where are you coming from to be even kind of teaching this stuff in the first place I got extremely lucky I would say
because my um in graduate school I studied computational Theory which uh is a lot closer to ZK than you would think so I mean I did study cryptography and things like that but ZK is largely about proving that you carried out a computation correctly right but what what is a computation even mean right and what's what's the language of a computation so I think that's something that a lot of people get confused about with ZK because they look at circum and think like oh I'm trying to prove I did addition and multiplication well most real computations are not addition and multiplication so um that's not actually how circom is being used it's uh you're building a set of constraints that when they're satisfied model model the algorithm so um dealing with stuff around circuits and constraints is
already stuff I had Dove pretty deeply into from an academic perspective so a lot of the stuff that goes into ZK I had a lot of the prerequisites for already there was just a huge amount of luck with that I don't know how else to say that so that was I was I graduated in 2015 um and I was doing blockchain on and off since then I was aware of I I think zcash definitely caught my attention back in the day but I did not understand how it worked so I worked for Yahoo full-time as a engineering manager that's actually where I would say a good chunk of Education came in is because I really believed in upskilling my team it's much easier to up skill good people than it is to it's risky to hire people right you don't know if they have a good
motivation and you don't know if they're talented or not uh Engineers like it if you upskill them so that also helps with retention because it's hyper competitive to retain a team and at the at the more high levels of tech so um I wouldn't say that like launched an educational career there but I moved to so I was living in America at the time I moved to Asia in 2021 and couldn't keep I was working for Yahoo and I couldn't keep doing that as a manager because your job is basically to sit in meetings and so I got got started in uh blockchain worked on a project that didn't end up launching but this was in 2021 when the gas prices on ethereum were really horrible yeah I spent a lot of time trying to figure out gas optimization which there wasn't a there was no material on it back then so I
wrote a lot of medium articles on it and actually created a udemy course which became a bestseller within like two weeks wow and that was kind of a um I I I definitely recognize that it's not natural to be that successful that quickly uh so that was a strong signal that education was probably maybe a natural strength that I should lean into interesting at the time 2021 2022 in the ethereum land what was there for Education what could people already do like there was the cryptography 101 from Dan Bonet but that's not ethereum focus there was the E Global events where you could build things and you would have had workshops and stuff like that but yeah what what did exist most of my learning was either reading was reading the yellow paper and
then writing code that would kind of test if I understood it correctly yeah there there really wasn't much education at least not Beyond like okay here's how you you know build a near C20 contract or something like that were there no solidity boot camps and stuff like that 2021 consensus had one in 2021 I believe okay uh and en code Club had been running some education for some time but the introductory stuff it wasn't it's not that hard to learn right if you're but if you're really trying to at least back then trying to get into the intricacies of how the evm prices things then there was definitely no material for that got it okay so that's where you started to realize this might be a path when did you found rare skills uh
September 2022 and what was the first thing you did with it because of the materials I had been publishing already uh I kind of already had a personal brand in an audience so it wasn't that hard to get classes going this whole like Po post posted like a brain teaser that's solidity based or a CTF on Twitter I like to think that we innovated that because I didn't see anyone doing that before um and that uh because nobody else was doing that that uh brought a lot of attention to us and some we didn't call them K's back then but like engineering kol's uh were um engag yeah thought leaders we're we're engaging with the problems and of course that boosted our reach significantly okay uh because they want to show hey
look my audience I can solve this problem that you may have seen already and then that massively increased the reach so I guess that was a Twitter marketing strategy that ended up working really well this is 2022 and it was was it it was a solidity based CTF kind of thing yeah all of them were yeah okay so of course you know when you're running a company you always publish blogs because of SEO and whatever but that actually kind of turned into the core feature of the company over time I in fact I think of us more as a Content company than like a training company especially that we're now starting to do Partnerships with these other platforms and creating content for them so cool that's uh starting to take up a big part of our business business relative to training and we really put a lot of thought into
okay are we writing something that's really providing value for people because it's easy like okay I'm going to look at what people are Googling for I'm going to you know match the headers and things like that in order to Target it well initially when we were writing about stuff that obviously I started off that way um and we were writing about stuff that wasn't covered and people really appreciate that cuz people were Googling for things that there W ansers for so I think that's one thing that kind of kicked us off as a content company but over time I would say we we really put a lot of effort into making sure that the writing was good that was and what what goes into making good writing is ultimately people get value from writing because you save them time that's really fundamentally what it boils down to because you don't need
education just read the source code right yeah yeah but if it's hard to read that or if it's if it's because like you you look at ZK research or whatever a lot of early ZK research was all these papers academic papers which didn't really handh very well and they didn't Define things and so it's relying on a lot of like assumed understanding and someone trying to learn ZK from scratch they were lacking those like the early works almost to like lead them to this um or those defining just definitions I mean more recently Nico who's a sometimes co-host of this show created the ZK jargon decoder and this was just such a GameChanger for people that like it's just definitions of words that are used all the time but if you are trying
to learn ZK from a like a research paper that is not going to be defined for you it's going to be assumed that you know it exactly and I'm guessing in like generally in blockchain solidity a lot of this stuff was happening in the same way MH yep you have to be very conscientious of like you know in games there's like this skill tree where you learn a skill it unlocks other skills blah blah blah right I would say for good education you have to be very hyper aware of what the prerequisites are like for example if you're let's say you're you're talking about how to bake bread or something like that people are not really concerned about like what's the air pressure like in the local temperature and is the bread rising and if they just did I even mix the ratio correctly or something like that so it's
really easy when you're deep in a subject to kind of you start to have an intuitive knowledge about what the fundamentals are yes but the person you're talking to doesn't share that context you really have to be opinionated about what you think the reader already knows and the other thing that I I see a lot of ZK papers do wrong is when you're learning something you new you need to learn see it from a few angles and you need to be able to relate it to something uh that you already know for example I see some Ed ZK education we Define a group as a set with a binary operator with you know these four properties identities inverse blah blah existence of an inverse and so forth if that's the first time someone's seeing that there's no way that they can make any sense out of that right so the
trouble is once you already know like say what a group is it's it's kind of hard to not know it and and it it becomes so obvious to you that you can't explain it to another person uh and that's I think one thing that can make writing well a challenge is that you have to translate your intuition into the English language I I'm not a like a brain uh scientist or something like that but I have a strong suspicion that intuition is not inherently verbal so trying to make that translation is challenging and it takes time and I don't think it can be done in one shot so it it takes a few iterations to see rece okay this article actually reflects the knowledge that's encoded in my brain and is a Adent to what the reader uh what I think the reader already knows I
think it's also there's another point maybe here is that like the information that you have it's also things are changing really rapidly around you maybe with solidity less so but with ZK it like since 2022 it's been changing quite rapidly and so even if there is an intuition on like how to do this right or what the sort of trajectory of research is you can be surprised so you have to be sort of nimble at the same time time right yes um actually that's one thing that we still only teach for for our boot camp we only teach the grth 16 algorithm because what you describe is right like the stuff that's actually used is quite complex and changing very fast mhm but I definitely believe that what we call advancements in any
particular field is really just a rearrangement of the fundamentals cuz like let's at at the end of the day most ZK algorithms are polinomial elliptic curves if they're snarks and some kind of commitment hash based yeah if if right maybe it's hash there could be hashes if it's a um Stark so you're just kind of T starting with the same building blocks and shuffling them around right so uh okay like permutation argument is like we can use it for lookups really cool but like if you if you boil it down to its things someone just did some algebra to prove that a certain property applies and you are taking advantage of the spart zip Lemma which kind of appears everywhere mhm so so if we just really focus on
what those atoms are that are being used everywhere cu the way I think to teach a complicated subject is to really break down what are the requisite skills that are involved in that and then bring it all together at the end amazing so that's why our book is structured we spend an entire chapters talking about groups like two or three chapters talking about elliptic curves because if you're seeing it for the first time you need to spend the entire article seeing it from a few angles looking at a lot of examples until you really kind of internalize it and then maybe work out a few practice problems at the end cuz to understand like a polinomial commitment scheme you need to understand pols and you need to understand elliptic curves if you're doing something snark based so like if someone's seeing the swart zipple Lemma for the first time
and elliptic curves Point arithmetic for the first time and that's just way too overwhelming unless this person's has a lot of background in math so I I think it's really key to to to Really drill the down the what are the components of the knowledge if something is too difficult that means you need to further break it into components and I think that can be done way more times than a lot of Educators uh realize right interes yeah so like with groups okay groups depend on sets um binary operator is just a subset of the cartisian product right so you can keep like merge sort you know you can keep recursively breaking things apart and you should try to do that you should air on the side of doing that more than not I would say let's talk about how the ZK book came together um you re You released it in
2023 but I'm assuming this took you a lot longer than that y in 2022 so you've already sort of given us a bit of a hint about the book so you've just you've chosen you chose at that time to focus on grass 16 which I think was the right choice still I believe it's the most used uh proving system so it has quite a few variations there's different implementations for grath 16 so Engineers using one may as far as I understand like it's not a totally standardized proving system but it's the most common and I guess depending on what level you're using like you're playing with it it might be a good starting point so you chose in 2022 to
do grth 16 but tell me like where do you start teaching something like grth 16 and actually I am curious about the ZK book at what level are you teaching it is it for an engineer is it for a cryptographer is it like theoretical or is it like Hands-On so in terms of picking grth 16 well one thing I learned from was tornado cache was kind of a code space that I would wrestle with until I really understood and there was a lot of reference implementation so that's that helps a lot but the target audience I is is a senior engineer who has no experience with cryptography so so the there the North Star is very clear we want to code Groth 16 from scratch and understand what we're doing in terms of how to break it down like let's say we're teaching people like how
a hash function works well a hash function is really just a bunch of exors bit shifts um maybe a permutation somewhere or something like that so it's really just a matter of what what are all of the unfamiliar components that people are dealing with in grth 16 and then break that down you know breaking it down into the atomics okay so there's pairings there's elliptic curves there's qaps and R1 CS well the paper doesn't talk about rank one constraint systems but a lot of people do so we talk about that then there's a trusted setup oh yeah then there's the verification code which if you look at it and you know uh tornado cash or whatever sirom spits out it's it's somewhat straightforward but you want to understand everything that's going on to there which is largely
calling the pre- compiles on ethereum for elliptic curve addition multiplication and pairing so those are things you really want to understand how do you interface with those pre-compiled and why are we even using them in the first place so originally because ZK book has actually gone through a second edition so in the first edition it was okay we start with a rank one constraint system rank one constraint system becomes a qap and then the qap you can um can be run on a trusted setup cuz the Q qap is just one big polinomial equation at the end mhm can you say again what qap is oh sorry quadratic arithmetic program okay um thank you uh I'm always used to just see this is this is the thing I'm talking
about I work with this and I actually didn't I didn't recognize that acronym totally uh and then how to run that on a elliptic curve uh evaluate it to some elliptic curve points now a quadratic arithmetic program boils down to three terms at the end so you're left with three elliptic curve points if you pair the two you should end up with the third one when you pair it with the generator of the other group for that One MH okay but if you're if someone just gives you three elliptic curve points and say hey look one pairs to the other that's not good enough you could have just given me any three points whatever so we use that as a motivation for why does grth 16 have these other terms like Alpha Beta gamma and Delta and now to understand elliptic curves this because we actually taught
elliptic curve cryptography at least a little bit in our solidity boot camp and something I observed this is something I would tell everybody going into it nobody ever learns elliptic curves after a week it it never happens and i' and I've actually have hard evidence to back that up so I was thinking so if someone's reading this from a book perspective uh they're not going to learn it after one chapter MH I had to really think about what's what's the right way to package elliptic curves so that they're understandable because fundamentally they're actually not that complex it's just the simple algebra equation that you can you can draw a line through and then solve for what intersects but trying to do algebra in your head like that is a Nightmare and that's when I realized presenting this as a group is a lot simpler because even
though groups are most Engineers have not done group Theory before but it lets you treat these things kind of like a polymorphism in object-oriented programming or like an interface where you don't have to know what's going on under the hood you just say uh it it's going to implement these functions which um have these properties and you don't have to worry about what's going on under the hood but in order to understand that interface you want to understand what a group is and then since most people haven't under don't haven't encountered groups before they need to relate it to sets which I think most engineers at least have a vague idea of what a set is going from sets to groups um and then from groups to elliptic curves was kind of here is how I can keep breaking it down until I'm close to what I think the engineer knows
already and then that happens over the course of four or five chapters or so which if you try to teach it in one chapter it's just not going to work and I've gone back and forth with people where I can I have un lied information bandwidth and I can't do it in one setting so there trying to do it in one chapter is just silly so that is how it evolved that way and I'm honestly this is something I'm really proud of because there's a lot of ZK tutorials that have come out since we published that where he sets groups and like no we we we uh you pioneered that that was that was our idea to break it down that way and then with pairings pairings are very scary right so um the decision that I made there is we're not going to teach how
pairings work under the hood because even vitalic has a hard time understanding them but if we can treat them like a black box like Engineers use hash functions without knowing how they work no problem so how can I try to present it in that manner not knowing how a hash function Works doesn't mean you don't know its properties right okay it's pseudo random on the output you it's Collision resistant y yada but how are we going to try to approach this for pairing well we've already built up a lot of intuition around groups it's okay it's not really a group but can we relate it to that in a way where it doesn't feel like such a huge leap to people and that is I would say a general teaching philosophy sorry I'm going on for a long time I'll wrap this up here is um if if something's hard to explain
let's say you're trying to teach topic X let's say if you could make the magically no topic y such that topic X suddenly becomes trivial what what is topic y or what's similar to topic y that they might right be able to like grock the concept yeah if someone already understands homomorphic encryption for example then elliptic curves don't seem as strange uh because they do have some of the properties there so if you're able to relate it to that then people can uh grasp it more quickly so just really try to avoid to excessively massive leaps and just being bring people incrementally closer to what they're looking for which is why the ZK book is somewhat long it's about uh when we first published it was about 50 or 60,000 words or something like
that but you could describe grth 16 on one page it's not at the end of the day a complex algorithm the thing it just relies on things that are unfamiliar to most people like most people don't know pairings in elliptic curves yeah and the notion of a quadratic arithmetic programing why why why are you even using that even though it can be expressed mathematically and a high schooler could understand but but why uh so explaining those wi so that it it's not just trust me bro write the code that's not what people are really that's not what people are really wanting right M that whole thought process is how the um ZK book evolved into its current form the second addition was I realized there was a lot of stuff around polinomial that was not broken down enough okay so
I felt okay shortle limit so easy to understand can just leave that as like a a mini section inside of the discussion about quadratic arithmetic programs but when we actually taught the boot camp I realized people are not not getting the quadratic arithmetic program as quickly as I would think they would okay you evolved it yeah okay we need to spend more time thinking about how can we represent vectors as polinomial because that's basically what a quadratic arithmetic program is doing we can't just say oh the transformation step is you do lrange interpolation on the columns let's just spend some time thinking about what does it mean to encode data as a polinomial in the first place M and then what properties can you rely on can you add them together and then some property is retained um can you do an equality test it quickly uh or
how and why would you do that so that helped a lot in terms of helping people get their hands dirty with something before they uh moved on with it I mean one thing that we do for example when we're teaching the the ZK boot camp is when people are introduced to elliptic curves I have them implement the ecdsa algorithm which has very little to do with ZK but why because people need time to wrestle with elliptic curves before they're comfortable with it and if you're stuck on ecdsa there's a ton of resources online that will help you a nowaday chat bque and probably oneshot it so that now you're getting an environment where you're able to get feedback because if you jump right into using elliptic curves the way grth 16 does you're you're not going to find many resources and when you're get stuck
you're going to be very frustrated but if you've already built up some fluency with elliptic curves then you go to the next stage of the Groth 16 algorithm it's not so bad you're not dealing with two things at the same time cool actually you're describing with like having learned a lot from the actual boot camp and then Incorporated it into version two this sounds a lot like something that's been happening since 2021 over on the ZK hack Discord and to a listener like I'm going to mention this a lot ZK hack and this is sort of the educational portal that I would say like we have very different from rare skills I would say way less structured it's it's much more kind of makeshift we do study groups we kind of like we'll have a little six- week study group on a paper and then wrap it up and then do a
different one but in that group there's Justin Thor who's been doing a study group and those are long he does like multiple months study groups where he goes through his book and he goes through it like chapter by chapter with a with a group every time he does it he's learning and he's been on the show to talk about it he's actually learned what's not working in some explanation that he's put in here or what's changed and so he's updating it and this sounds somewhat similar like that feedback to to a book I think in a space like this is so important um I think in the past you'd have textbooks created and they'd sort of sit there and they' dominate a way of thinking for a long time but it's not a luxury that we have today like things definitely need to evolve yeah
now having that feedback mechanism in there is nice cuz the um we launched the boot camp slightly before the book about two months before so that I I mean the book it the book I had been working on for a long time because those were my notes for the lecture initially but yeah it definitely informed that you should not talk about topics in this order or um this explanation is just not going to work for someone new to the topic and I I think um even something I learned is I had to put a lot of effort into learning Groth 16 right and the Temptation can be is like I want to share with you everything that I learned but in reality the value is I need to trim it off like for example most Salient example is you know abstract algebra we have groups
rings and Fields right so naturally okay I'll I'll talk about those things but then I realized after a few iterations on the boot camp you don't really need to know what a ring is in order to really understand how gr6 works that that's just giving people another hurdle to go over which is not 100% necessary now should they learn that eventually of course but what we're what we're aiming for is what's the straightest line to get from not knowing it to being able to implement it and have a really good understanding of what you're doing so there was a a pretty significant subtractive element that came in after having learned that and even when I'm editing other people's research at for our Publications on rare skills it it's just a very common Temptation like I put so much effort into understanding this I
just want to tell you about it but it turns out you don't actually need it so um which is frustrating um but I think that's a if if you want to produce good writing it's just something that you have to accept I feel like there's a parallel here to like gaming and how really good games on board you well and like one of the things and it depends a little bit on the type of learner I know there's people who really need to learn everything before they do anything that that exists like they really want to detail like they want to know everything I personally don't work that way I have a tendency to like YOLO into something and then figure it out after and games that are built that way where it's like you can already very early on do something it's so much more fun and like
obviously over time you can up your skills and you can like learn a lot more about this world or the whatever the game infrastructure is but at the beginning being able to do something is really key and I think that's what you're talking about here which is like stripping away some of the stuff which you know if you wanted to build secure ZK systems in the real world you do need but if you are just trying to do something you don't yep no I think that's very important PE people need feedback right away about like they need to see results to keep their motivation up I would say 98% of the engineers that I've dealt with match the description of I I don't want I don't want to learn everything before I get started I would say 98% of people will lose motivation if there's too much Theory and that
before anything happens so I do try to in the ZK boot camp and even well in the book too hey here's a dummy ZK proof that we can make as early as possible now it has very serious limitations it's not succinct there's some edge cases where you can leak information but technically it's a ZK proof oh okay now I'm kind of kind of that that is so important um and then when people people are more motivated to learn the theory after they've seen okay I can see I kind of already have a framework for where to put things in my brain what tools are you using with these Engineers so you have the book itself but like is there a a DSL that you've chosen you sort of mentioned circom like is that what
you're building this stuff in the ZK boot camp uh I'm talking about the backend so assuming you already have circom how do you Pro how do you proof that so that compiles to a rank one constraint system right now how do you create a proof for that so that lower on the stack then you're not using circom you're like working behind circom would you use anything like arcworks or also not well okay so we're basically implementing arcworks in Python essentially that's what the um not obviously not a fully production version but the whole thing like okay you're given a rank one constraint system now you need to run the polinomial interpretation and then evaluate the polinomial on elliptic curve points do the commitments so forth and so on that's the stuff that we teach in the class and that's all done in Python i i
r is way more important to learn if you want to work in ZK but most people are not that fluent in Rust so if people are fighting the rust compiler and learning A New Concept at the same time that's just not going to work we get so much of this with ZK hack does this CTF around bugs in ZK protocols and we've heard especially in the last Edition that more people were annoyed by having to use rust than anything else like even the winners even they they they did well but they were like rust is my problem yeah rust is uh definitely uh it needs to be studied on its own not in parallel with something else this this is something I've gotten feedback on a lot because when people try to learn ZK oft times they oh I'm going to try to learn how to program and ccom but
uh which is a reasonable thing to do if you were um just coming in from the outside but you don't really understand that you're writing constraints you're not writing imperative code and people try to force their imperative code mindset onto circom and it just ends up being weird and they don't understand okay why can I not have two multiplications in one constraint that seems like the most random requirement ever and but if you understand that okay well behind the scenes there's a rank one constraint system which only has one multiplication per constraint but why is that well because with a pairing you can only do one quote unquote multiplication so that just helps things make a lot more sense and and and it initially seems random why is everything happening in a finite field that's or
with modular arithmetic that just seems like we can overflow and have a security bug why are we doing that oh because elliptic curves use finite Fields that's why or they they form an additive group rather I should say and I think we're kind of in the time right now where if you wanted to use solidity in like 2016 you kind of had to know how the evm works the the abstraction was extremely leaky right and it's better than programming in assembly but not a whole lot is hidden from you and the abstractions are not very good I would say right now with it's it's definitely made a huge amount of improvements recently but if you want to understand ZK and write with ZK dsls then you need to know what's going on behind the scenes interesting so you
would you would kind of compare the ZK dsls today to solidity 2016 where solidity today I mean there's lots of people who don't actually pay that much attention to how The evm Works they're using like solidity plus all of the tooling that's been built up over what is it n n years wow whoa wait but then yeah the ZK I mean ZK dsls generally as a top IC really only became a thing in 2021 2022 um I do I do have a question about that though cuz you're saying sort of like you're rebuilding arcworks in Python to interface potentially with circom there are these other dsls that also kind of live at different parts in the stack like have you explored for any
of your boot camps any other languages and I realize like you're still going to stick to Python and like recreating this thing but yeah just like or do you interface with any other languages no I mean well some people use solidity just to work with the pre-c compiles right because if you want to um most people who are taking the ZK boot camp come from a smart contract background okay so um and it's helpful to reference real things and my favorite thing to reference is the tornado cach verifier so if you can't understand the tornado cach verifier with at least not recognizing how to interface with the pre-c compiles so um we will launch a circom boot camp in March so coming up soon so that's where we teach the back end as an abstraction and how do you actually implement the circuits as part
of an application so how do you go from only having addition and multiplication to verifying a zkm or a traditional cryptographic hash that's the end goal so that that's kind that's how I like to design the courses what is the what what's the outcome the very tangible outcome and what's the straightest path to get there so for the ZK boot camp that we have the tangible outcome is I want to implement grth 16 from scratch now what's the straightest line to get there without skipping things and making sure people have the prerequisites that we talked about earlier so for sir comments how can I create a zkm from scratch uh or and also a cryptographic hash function not the ZK friendly ones I mean like the ones that seem very mysterious for CK proofs and and what background knowledge needs to go into that in order to uh actually code that
up and understand what you're doing and then take the most direct path there uh so in in that case I I don't being comprehensive is not a goal of ours it's very much like for someone who's new how do you keep them motivated and get them the most direct pack there and then they can there's a lot of ZK education at the relatively high level I mean once you're good enough to read the papers then like you don't need us anymore right so we don't need to cover everything so but we need to get you to that point first yeah so I mean I feel comfortable and a lot of other people who graduate from our course feel comfortable just picking up a paper and reading it so that's really where we want to get to people we don't want to at the end of the day be a
substitute for the papers right because there's too much work to just translate everything but people get to that point by I I know extremely well how this particular algorithm works now it's easy for me learn adjacent things like if you already know python it's easy to learn Ruby but learning python for the first time is quite hard so we did that for circom people asked me like man that's an outdated language while you're doing that well I was about sure I was about to ask you why not nor but yeah uh because I think it provides the um are you familiar with Huff by any chance the I only know it because Zach from Aztec talks about it okay but I don't I don't actually sure basically it's the ZK VM uh so the codes in in the evm it's almost one it's an assembly language
that's almost one to one so if you wanted to write raw op codes in solidity you'd write 0x 52 you know 0x 60 blah blah blah so they turn those into the pneumonics so push M store blah blah blah but then there's some nice sugar coating on top of it like if you want to do a jump right you don't actually want to remember where in the bite Cod am I jumping to and remember the index you can just create a marker over there like you do with regular um assembly code I found that to be probably the most not probably undisputably the most effective way to teach the evm because people get their hands dirty with it and we've the very roughest edges are sharp are are smoothed off like having to memorize a jump destination or something like that but you still deal with what's going on
with the stack and what's going on in memory you still have to tangle directly with that so I would say circom um has that Advantage where you're dealing really closely with what the constraints are but the very roughest edges are taken off where you're not literally writing a rank one constraint system by hand so it takes off just the right amount of roughness but you're still tangling with the core thing plus there's a huge ecosystem behind it that's true and lots of Library like it's been around the longest yeah so you can um look at other established code bases and and figure out what's going on which is not the case for pretty much every other DSL like I almost I was considering I don't know how to say it gar from uh consensus gar yeah I think that's a really nicely designed it it's
like circum but better I mean sure but it's it's too new right and there's not a lot of besides the Lana I don't know what to reference for that there are also other there's various gark libraries I've learned in the last year so you also yeah you have to pick kind of which flavor you're going to go with but I guess are there are there lots of circom libraries I'm assuming there is as well like lots of versions of circom kind of uh the circom there is a circom version one but I think that has kind of disappeared from Google it's most of what you'll see a circum version to actually okay but is it it's a singular thing that everyone's using because that's what like gar actually has different like it's been done differently if you pick a random circom
library from GitHub it I I'm pretty sure it's going to work with the same circom compiler you install from the ccom website okay so I mean there there is an older version of circom but I really actually have a hard time finding those code bases anymore so most of it is up to date right in terms of it works and there's a lot more institutional knowledge around how to audit it which is not saying much there's not that many ZK Auditors but still way better than the other ones and circum has some things that I don't like and I think you talk to anyone who's developed with it they'll tell you they don't like it but once you can get over those things then it's you're really dealing directly with constraints and so with a um like how do you even design a stateful computation
with constraints that's something that really trips people up like I can understand oh I'm trying to prove I did a multiplication correctly right that just Maps directly to multiplication but how do I prove that I hashed something correctly cuz that's using a bunch of very nonlinear operations now we need to again break it down well how do you even represent a stateful computation in the first place let's say a factorial with an unknown number of steps in it so you know 1 * 2 * 3 * four blah blah blah but it's not it's going to stop at some unknown point in the future how do you even do that uh well the breakdown is you you need to have an upper bound on the number of times you would compute the factorial let's say you're not going to do anything more than 100 factorial
so your constraints are I'm going to keep multiplying and then you have one factorial 2 factorial 3 factorial blah blah blah at each step but now what if someone I want to know 89 factorial well because it's an arithmetic circuit you still have to go all the way up to 100 but then you need to pick uh something from at the index 89 right well how do you quote unquote pick things when you only have addition and multiplication well you can do an inner product with a binary mask so you just multiply everything by zero one where you want it and Zer in the other places so that's going to zero out the other things and you're only left with 89 factorial and all of that I described as done with only addition and multiplication okay cool we have now we have a stateful computation
uh but what if we're doing more than just a single multiplication well we can add another dimension to it now we have like registers right and that's now this the the state transition between each of those is not a straightforward as a multiplication but if we keep breaking it down then you know we can represent it with our very limited language and this is something that circom gives you yes uh well so the challenge is circom only gives you addition multiplication and a constraint right but the idea is there's design patterns which are um that exists like how do you select from an array how do you do a stateful computation how do you um represent a a bit let's say you're trying to actually represent a bit shift well you have to
do that outside the circuit and then prove that the bit shift was done correctly because at the end of the day a bit shift unless you overflow is multiplication by power of two right so you can prove that the bit shift was done correctly you can't directly compute it but outside of circuit you compute the bit shift put the answer back and then constrain that it was done correctly so we're going to publish a new part of the ZK book which talks about how to design these things with the chapter for that is called compute then constrain now the challenge is I know this pattern exists but I there's no word for it that's existing out there interesting so while um designing this circom education thing I had to kind of invent a lot of um terminology for the things that other people I didn't invent
the idea I've definitely seen other people doing them and and doing it repeatedly enough to the point where I think it's a design pattern um but the design pattern doesn't really quite have a name yeah I'm excited about that because we're I'm not aware of any um resource like that out there you talked a little earlier about like content and creating content this is a boot camp what how do you actually host a boot like what is it is it like a group that meets regularly do you do like six weeks do you do eight weeks sure what is it um so the boot camps are just video calls with five or 10 other people and myself okay there's two instructors at the company myself and another person named he lives in Brazil I live in Asia so that's great we have both time zones
covered we teach the class but I try to avoid just giving people a video lecture because that's um I could just record myself and then send that right I really try to make it interactive where the instructor's asking people questions I found that to be the level of Effectiveness learning by someone asking you questions that push your knowledge boundary versus someone telling you something is not even in the same Galaxy it's way more effective to it where someone is discovering things on their own but they're not really discovering things on their own because they're going on a guided Quest right so that's the information sticks more and you don't walk out with the lecture like oh everything made sense there uh but I can't do anything right everyone who's gone to college has had that experience
where I made so much sense in the lecture and I I can't do the whole I can't remember anything yes so you when when people are paying for it they don't want entainment right they want I I want to actually learn this stuff which the actual learning experience is more painful but so that is what we do in the boot camp and then we give a homework which really enforces the um stuff but if you're looking to learn ZK you're watching you're you're listening to this you don't have to take our boot camp the the book covers the same stuff and it's free and you can go through it on your own and and a lot of people have the thing for the ZK boot camp is if you really want to accelerate your learning for some people time is um more valuable than money so it's that may be a good
deal for uh people like that who are really like I need to learn the ZK thing and it needs to be done by a certain date or something like that interesting so but we teach the same the same subject everything that we charge we also provide for free in terms of content so how many have you actually done uh we've done at least 15 uh ZK boot camps so wow um cool I don't know the exact number but at least 15 nice that's more than I thought I thought you'd have done three but okay cool um it's been somewhat popular so that's nice the people who've gone through through these boot camps do you know if they've gone on to work in CK and and if so kind of at what level oh for sure oh this is what I'm this is what I'm most
proud of yeah so you know the guy um David Wong who authored real world cryptography so he's he's been on the show okay great um yeah so he runs ZK security right and we've had at least two people become interns at his company one guy is working full-time now so that's actually um yeah that was somewhat recent we've had another he's still working at matter Labs the company behind ZK sync so he was um he is a security engineer and is now actually doing stuff like writing um constraint solvers to make sure that the constraints don't have other cases in them that are insecure right amazing those are probably some of the more cool examples of people who've gone on to work in Industry um if you want to do
actual ZK research you'd kind of need a PhD and people are not really open to um open to that but with security if you can hey I can find bugs and things then people are more uh lenient about that in terms of hiring you and then for people who want to work in ZTA that's something I tell them you should consider that because we've had quite a bit of success with getting onboarding people to ZK security I I don't mean the company I mean in general well also the company but seemingly there's a funnel directly there so um there's definitely quite a bit of Need for people who understand how to find MGS in this sort of stuff and yeah so those are the professional things but most people who take the course are not looking to get into ZK actually it's mostly taken by by like
tech leads and protocol Engineers who just want to kind of hedge their career in case things go in a different direction or um yeah no no we've we've had some high-profile people take the course like the head of research at Ripple and a core engineer at Phantom which is Sonic now and um yeah I mean I I won't put the individual names on Bless but you can see some famous people if you look at our testimonials page who've taken it so it's really cool for me cuz like some of the people who like one guy uh so consensus came out with this tool long time ago Mythril for doing static analysis on um source code and I partly taught myself solidity back in the day by writing some solidity code and and then running it through static analyzers and seeing what what what what mistakes is it pointing out now that
obviously there can be a false positive but the pattern match this kind of a mistake for a reason so let me try to understand it so the guy who who built that tool back in the day and then he was acquired by consensus and they maintained it for a while um I indirectly learned quite a bit of solidity from him nice I wonder if you've been following like the emergence of the ZK VMS and some of those teams because in a way the proposal they're making is like you don't need to know ZK at all anymore my advice for people is run a a non-trivial computation like something that's slightly more complex than a Fibonacci Sequence maybe involves a few hash functions for that kind of stuff if you have like aover Network and you're trying to build a blockchain and Hardware is not really a problem then
that's I think that's great but the the marketing definitely incentivizes presenting it as something where everything is fast and you don't need to worry about it which probably will be true in the future um but just just run some code on your laptop now just clone their thing and run the unit test it's going to take half a day to get through that stuff and none of these programs are particularly complicated you feel like it's not there yet definitely not okay um but even but I think someday it will be right but then when that day comes somebody has to be developing those tools and somebody has to be auditing them and I think the very successful Engineers know that the you don't need to know mindset is kind of a losers one so that's um just just to be blunt right so um from an economic
standpoint yes you don't want your engineers burdened down by additional work you want the devx to be as smooth as possible blah blah blah if you want to scale but but you don't want to make it too easy well sure I guess there's dropbacks to that but I mean like let's say use react for example right any person who's barely even knows what they're doing can create a react app right cuz you can copy paste things fairly smooth aside from node modules taking forever to download everything works pretty well right but if you want to be a senior engineer right then you have to know uh and you want to be designing like architecting things and managing a team you have to get in there right you're causing the page to refresh every second like that's not good so uh abstractions are never perfect so if you
want to be good at your job you have to know what's going on behind the scenes so that you can avoid the pitfalls I mean even solidity still has leaky abstractions right you can't have unbounded eraser the gas cost can go nuts and re-entrancy is still not abstracted away for example so I I think more power to people for developing this stuff but I'm not uh concerned about it making what we're teaching obsolete because there's going to always need to be at least a few people who know the core stuff and the people who even theoretically don't need to know it will benefit a lot from knowing it nice have you been and this is going to be a little bit of a plug for some of the study groups we've done but have you been paying to the other ZK resources out there for example the moon maath
manual Justin Thor's book there's also like the snar book which is much more in the research side of things but it came out I think last yeah last year so yeah I'm just curious if like you you produced the ZK book are you ever like drawing on references from other books or are you really sticking to your material yeah are you aware of it yeah um I am aware of the Moon math ual and I've read some parts of it and uh Justin the I I've heard a lot of good things about him I haven't I I skimmed his book at one point but I haven't really read it the snark book actually did not know about until this call so um like is there other material that you're
recommending your students see basically oh that's a good question I'm hoping you're going to tell them the ZK whiteboard sessions but also understand um usually okay so when when people are asking for a recommendation in material uh they want to say Hey you taught how Groth 16 works I want to know how Stark or or plunk works yeah and I usually tell those people um you know vitalica is written on it uh there's other good uh blog posts out there um I can show you those blog posts and you can you know just just read a few and and you'll get the you already know how gr 16 works so this is not going to be that hard for you MH so the moon maath manual I have it's it's quite a mathematical um thing
definitely especially compared to our so I think if people read the moon math manual after they read the ZK book it's probably easier to do it that way and um I've heard a lot of good things about uh Justin Taylor's thing from my understanding and from my brief skim it's more of a it's more like theoretically focused which I think is good to do after you've um built a working example of it like what we teach um in terms of inspiration there was this Pinocchio series on medium or some archive thing that appeared a long time so this was called um why and how ZK snark Works um yeah by Maxim petkus okay so um that was a very helpful
resource for me when I was getting into ZK so he he taught Pinocchio and I I really felt like that was not I felt like gr 16 was a better thing to teach because it's actually used and it's actually simpler now the understanding the intuition behind grth 16 is harder probably than Pinocchio but there's fewer moving parts so there's less to um there's less to teach um but if you're wanting to learn some of the later stuff I mean what I generally tell people is there's there's a a danger in just knowing things for the fun of it right which is fine as long as you're conscious that this is a that I'm I'm learning things for the fun of it but as an engineer or an auditor you need to actually produce something right that's why we try to set our North Star for the
courses like you need to produce the Groth 16 algorithm you need to create the ZK VM uh and then use any resource that's going to help you get to that destination so and whether that's reading the source code reading the paper reading other people's blog posts about it and now I do think understanding other things at a high level can be helpful like watch I watch some of the Whiteboard the ZK uh whiteboard stuff and it's good to know okay at least as structurally this is how things are because if I understand the high level it's easy to start with a high level idea and then work your way down or just understand the high level idea and then learn something that's adjacent to it yeah my my advice for PE I mean just in general for people who are just going out there and learning
try to filter it through am I learning a skill that somebody else will pay for not knowledge like even in Academia you're not paid on the basis of being smart or whatever you're paid on the basis of publishing papers at the end of the day so you want to make sure that when when you're learning something what additional skill or tangible outcome am I getting from this not just oh I feel good about myself because because I understand how something works that can be a dangerous feedback mechanism now if you're doing it for fun that's okay right but just be aware that you're doing it for fun I like what I hear from you is this idea of just like adding value like make sure like you're doing that in a way with the course you're making sure that there's like a value ad it's not just here's a
video enjoy but it is like Hands-On kind of keeping people accountable bringing them together and making sure that people leave with the understanding they're supposed to have I I like that and actually so it's it's interesting like I'm going to bring back ZK hack but on our side we've done the content production but it is the study groups where we've gone through the content which in my opinion is like the closest thing we've got to it um which is these which are these study groups but like I said quite informal um what I hear from you is there's sort of this you're trying to create value you want to make sure that people walk away with value like I'm also learning from you by the way I am slightly like trying to to to learn how you're doing this because I think yeah we're always looking to to
make our site a bit better too but creating these environments where there's enough of a a back and forth that it keeps people involved like another thing you mentioned was shaving off those hard edges or those like they could be really interesting rabbit holes but they're going to slow you down situations making sure that there's like a streamline from where you're starting with very little info into like building something real you've kind of talked about choosing a proving system that also like is quite accepted there is a lot of information about it and not getting like what I hear from that too is you're not getting caught up or like confused by all that's out there because I think that's one of the challenges as well is like if you just look around there's so much you could dive into but
each one of those things will have nuances and if you don't know the basics it's going to be really hard for you to navigate between them and it could confuse you like I'm sure it confuses like as someone as a non-developer talking about all this stuff I've definitely like confused myself on that so this is this is interesting this is like some some cool feedback I think for anyone who's listening who like wants to learn if they have sort of a journey they'd like to take these might be good tips and then I guess they could also join you guys are you doing another boot camps at some point soon yeah we um we tend to run the ZK boot camp every month so it should okay that's why you do so many got it so that um I I don't know the exact start date of the next one but
it it's on a RAR skills. zk- bootcamp so the start date will be should March I think this is fantastic for our audience to know um yeah thank you so much for sharing this with us now I I do want to ask you one more thing which is kind of off topic before we sign off sure one of the reasons uh we actually reached out to you initially was a a viral twe tweet you shared about Quantum Computing totally different topic but then when I realized it was you from rare skills and I knew about this book I actually invited you on to just talk about that but I do want to just mention that that TW tweet so this is right around the time that the quantum Computing blog post came out from Google and like sort of an announcement and you you broke it
down in a in a nice way it's it does still speak to like technical education and all of that but let's talk a little bit about that because also looking at it before this interview that thing is like Mega viral it's like five million views or something right yeah and that's not your field so yeah tell me a little bit about putting that together for sure yeah the Tweet was successful because of the timing every two years these big companies try to come out and scare people with like look at our big breakthrough in Quantum Computing when in reality is just to like pump their stock or something like that so the timing was if like people were like oh my gosh there's Quantum Supremacy what's going on and so since there's already a lot of heightened emotion around the topic and then the response being in
response to something that was already very emotional that's kind of a the right situation to for the stars to allign so there is that I actually don't think I wrote that thread that well if I were to go back and and do it again there's there's actually some jumps the progression in a few cases is not like oh I should change the order of how I discussed this thing in a few places so um I I think just as a meta comment you can be not that good of an educator but if you're talking about something where there's no nothing on the topic people will think you're good but if you're writing on something where there's a lot of information already your explanation needs to be bang on and it needs to have beautiful animations and blah blah blah blah blah are people just not going to
care so I do think that so those are the two ways you can be considered a good educator either explain well-known things exceptionally well and be very entertaining in the process or talk about stuff that nobody has a clue about and Quantum Computing happens to be stuff that nobody has a clue about okay so um so it's not your best work is what you're saying it's not my best work by a long shot um but the thing with again this goes back to like why is ZK kind of difficult to learn because the model of computation is weird to people right you're not actually writing an algorithm in ZK you're writing constraints that model an algorithm and Quantum Computing is kind of like that where you're taking advantage of the fact that uh you know entanglement can carry a lot of information between places
simultaneously so and then you can probabilistically arrive at the answer so Quantum Computing does not work where you you get the correct answer each time you have to run it uh a few times and then probabilistically you you can figure out that your answer is Right weird and the other challenge with Quantum Computing is like with a Sudoku puzzle for example you know that you got the answer you have to do a search to find the answer but then you can verify that the search was correct because you just check all the rows columns and subsquares right the thing they were doing with Google was was not a problem that you could check and when they say oh this was you know 10 the 25 times faster well that's based on extrapolations not based on no one actually ran the computer for 10 to the 25 times so Quantum gates are
kind of like logic gat gu that's why I opened the thread that way right so hope hopefully if if I'll add the link to this tweet and even though it's not your best work we all know it's I could I could preface that too yeah tweet from Jeffrey not his best work but yeah I'll definitely I'll add it in the show notes for anyone who wants to see it like for me reading it was it was actually like this is a topic that I'd like to cover a little bit on the show going forward and so yeah for me it was like kind of an introduction something I should say for people who are curious about Quantum Computing um you you can actually use quantum Computing in the cloud with IBM you'll get like five cubits or something like that and it's like $95 a minute to
use that thing so if you have money to blow um you can play around with a quantum computer uh and there are quantum languages for it which it's it's not as scary of a field as people um think it might be I mean obviously if you're going to be a researcher in it then yeah that's tough stuff but what they did in their experiment is they wired a bunch of random Gates together but the distribution of the output is expected to follow a certain pattern and then the distribution did in fact match match the pattern so um they were like oh look we managed we yeah we got it right but like but that's not very useful right so um now they did do have some breakthroughs in there I'm not
knocking them but obviously they they carefully chose the context and the phrasing so that it would maximize the hype which we do that in web 3 too so I can't blame them but uh I you can't throw stones in a glass house but it was um but I I I get I I get very annoyed when people overhype things because I think it's it's just not helpful to be sort of deceiving people to your advantage right so um I think tun also had he had in our end of year episode he also cast doubts on on how how honest the marketing had been there yeah when you when when you read their actual thing they're very honest or at least they're not as like being as blunt as I am but like but to understand the honesty you need to have the technical
you need to know like what what are random Gates and what was actually being done so um when people talk about Quantum Computing a lot of it just sounds like chat GPT wrote it oh you know there's entanglement therefore it's faster we have 01 bits but now we can have more than zero or one okay that's cool but how does that translate into faster computation and and how does that tell me what Google was doing so that was I think even though it's not my best work at least I was able to okay at least cast some idea of what's actually happening and then and then speak about it in terms that at least someone who has an introduction to computer science would understand something that you just sort of highlighted though that the similarity in ZK where it's like you're trying to use existing paradigms of
computer programming and you're adding it into ZK circuits in one case but also into a Quantum context like that's actually I hadn't ever sort of made that connection point that like there may actually be just like brand new paradigms like in ZK as well potentially like why are we just trying to rewrite existing things I think well this actually because I studied remember I studied computational Theory so fundamentally everything boils down to um either carrying out the computation or proving the computation was was correct or another thing is why do why can quantum computers theoretically give us a speed up when it's just you know Quantum State collapsing well because we can translate a real problem
theoretically into something that collapses and then that answer comes out of there and tells us something that's useful wow so once you just kind of get that there's really only a couple modalities of computation and then what we see in ZK or Quantum Computing is just a different manifestation of it this this is one thing why I really encourage people to learn the fundamentals is because we've known everything about computation since Allen touring and Lambda calculus but but everything boils down to the basics a lot of it is just engineering to get the the basics running faster like we might like think about the advantages from uh you know for these different ZK algorithms that come out a lot of them are not fundamental breakthroughs they're just very and they're frankly more of an engineering thing which
matters a lot right cuz Nvidia is not doing anything Innovative it's all Engineering in terms of fundamental what we think of as fundamental science or tsmc we just figured out how to like get the UV lights to making things smaller and smaller sharper and sharper more efficient using less energy making less heat exactly or even with AI I I think a lot of the models that we use as like for chats could theoretically be coded in about 900 lines of code or something like that they're not that complex what's what's complex is how to get all this data to be uh run through a Data Center and you you're not running into bandwidth issues although there are like I think there there is some Edge like some Edge where there's new techniques
at least which I think is more in the research front which are changing kind of the ways this thing works yeah I I definitely don't want to say that there's no scientific advancement happening but a lot of what we perceive as scientific advancement is really engineering advancement and Engineering is often times based on science that's very very old so what I recommend this is one thing that I think that's helped me a lot just because because I studied the foundations of computing very very closely web 3 is easy mode for me so like well solidity is like it's never been described as like hard more than like hard to get it right right like it's like it's easy it's maybe too easy but it's therefore easy to also incorporate bugs and people who Maybe aren't as who aren't as familiar with
the evm have historically just made mistakes because of the way of how easy it is it's it's I I always found the solidity story kind of an interesting one it's like too close to JavaScript or something it's too familiar but it's not exactly the same thing but I guess ZK is very different though ZK is like not familiar for people so they are kind of learning this par these paradigms especially if you're working at the at the level you guys are they're learning these paradigms in a way for the first time mhm yeah so I would just say in general it's it's very important to have the fundamentals in place because a lot of what we call new knowledge is really just a rearrangement of the fundamentals so if if you really solidly know your your elliptic curves you
really solidly know your polinomial and your linear algebra and or at least some parts of it and then people who are creating content about this and we have study groups we have courses we have books and you know blog posts uh you have ZK whiteboard these will help you stay caught up with things but if you really want to have Mastery on the subject and not be dependent on other people to break it down for you then what people think of as a skill of reading papers is like oh I I know all the latest information it's not you're really fluent in the vocabulary that they use what they think is obvious to everybody that they don't even explain those are the things that you really want to be fluent in if you want to stay uh caught up with people on your own and
not doing it through um other platforms that's I really think is what the um course skill that people Miss it's not chasing whatever the latest hot thing is yeah cool Jeffrey thank you so much for coming on the show and sharing with us basically the rare skills story what you guys are offering how you're thinking about it um also thanks for the little kind of insight into your thoughts on Quantum Computing and that tweet um yeah thank you so much yeah this I love talking about this stuff thanks for having me yeah it was also great to meet you I feel like we work in parallel streams but had never actually come into contact before so I'm glad that that we got a chance great to meet you too cool all right I want to say thank you to the podcast team Henrik
Rachel and Tanya and for our listeners thanks for listening [Music]