This week, Anna Rose chats with ZK Podcast regular Guillermo Angeris, Head of Research at BCC and Nicolas Mohnblatt, Researcher and Cryptographer at Geometry. This was recorded on April 3rd 2023, the day between the ZK Hack Lisbon hackathon and the zkSummit9 event.

They discuss Nico’s move from music to cryptography, his earlier privacy research as a Master’s student, and his recent research Sangria, which is a folding scheme for Plonk. Guillermo shares some of his current work cleaning up and formalising concepts in zk. And Anna shares some brief thoughts about the recent release of zkpod.ai – the friendly ZK bot featuring Anna’s voice and containing the entirety of the ZKPodcast knowledge (built by Kobi Gurkan).

They also chat about some news, insights from ZK Hack Lisbon and some of the projects that were built there and generally check in on the state of the ecosystem.

Relevant links:

Check out the ZK Jobs Board here: ZK Jobs. Find your next job working in ZK!

Anoma’s first fractal instance Namada is launching soon!

Namada is a proof-of-stake L1 for interchain asset-agnostic privacy. Namada natively interoperates with fast-finality chains via IBC and with Ethereum via a trustless two-way bridge.

Follow Namada on twitter @namada for more information and join the community on Discord discord.gg/namada.

If you like what we do:

Transcript
Anna (:

Welcome to Zero Knowledge. I'm your host, Anna Rose. In this podcast, we'll 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 online.

(:

This week I catch up with Guillermo, my sometimes co-host and Nico from Geometry. This is Nico's first time on the show. And so we started off with a little bit of backstory of how he moved from music to cryptography and chat about the research he's been doing. We then chat about some of Guillermo's work, which is about cleaning up and formalizing concepts in zk, as well as share some news insights from the ZK Hack, and generally check in on the state of the ecosystem. This is recorded right in the middle of the ZK Hack and zkSummit events, both of which were amazing by the way. And so we are all a little bit tired and decided to do this episode more as a casual one. But yeah, hope you like it.

(:

Now, before we kick off, I do wanna direct you to the ZK Jobs board. There you'll find jobs from top teams working in ZK. If you're looking for your next opportunity, be sure to check it out. And if you're a team looking to find great talent, please be sure to add your jobs there as well. I've added the link in the show notes now. Tanya will share a little bit about this week's sponsor

Tanya (:

Anoma's first fractal instance. Namada is launching soon. Namada is a proof of stake L1 for interchange, asset agnostic privacy. Namada natively interoperates with fast finality chains via IBC and with Ethereum via trustless two-way bridge for privacy. Namada deploys an upgraded version of the multi-asset shielded pool circuit, otherwise known as MASP, which allows all assets fungible and non-fungible to share a common shielded set. This removes the size limits of the anonymity set and provides the best privacy guarantees possible for every user in the multi chain. The MASP'S circuit's latest update enables shielded set rewards directly in the shielded set, a novel feature that funds privacy as a public good. Follow Namada on Twitter @Namada to learn more and join their community on Discord, discord.gg/Namada. So thanks again, Anoma. And now here's our episode.

Anna (:

So I'm here with Guillermo, who our audience knows, and Nico, who our audience might not yet know. And we are recording this the day after ZK Hack and the day before zkSummit. So we are currently in the thick of the Lisbon ZK events that we are doing this April. I mean, I'm thinking as a kickoff to this one, it'd be really cool to talk to Nico, actually introduce him a little bit to our audience. And yeah, just sort of a heads up to the audience. We are all very tired because ZK Hack was fun, but a lot of work and yeah. So bear with us, but I think we actually have some cool stuff to talk about. We're gonna do a little review of ZK Hack. We're gonna talk about some new research that's coming out. All right, let's kick off with Nico. Nico, you're a researcher, cryptographer at Geometry.Tell us a little bit about what you do.

Nico (:

Yeah, so I work on mostly zero knowledge proofs, but also usually privacy enabling technologies. So stuff like threshold signatures, threshold like schemes tiny, tiny bit of mpc, but not that much more and yeah, that, that's kind of the plan.

Anna (:

. Nice.

Guillermo (:

And I heard you were in a band. I believe it's HMLTD. Yep. And it, it feels like this is like there's someone else, another famous cryptographer, Matthew Green, right. Is like, yeah. Also like this, like musician

(:

Anna: in your band?

(:

Guillermo: No, not in the band, but I think it's a musician turned cryptographer also, or like musical engineer, but Okay. Yeah. What is the story there. Also like, is that part of the pipeline to you getting into ZK

Nico (:

So Yeah, a story there seems is music is the new segue into zk, right? . Like this it

(:

No, it's funny, I was listening to another episode of zk podcast, the one with Mabu recently, and he sort of says like, yeah, I started out as a, I think in music technology. DRM. And from there, yes, went to Privacy . And so it was a funny parallel because like, I studied engineering originally, forgot about it for a while. Did music full-time for two, three years. Did the whole like record label thing, touring, releasing an album.

Anna (:

Full deal.

Nico (:

Yeah, the full thing. And,

Guillermo (:

And sorry, what, what instrument do you play again?

Nico (:

I play bass. Ah,

Guillermo (:

Yeah. Okay. I got it.

Nico (:

Yeah. I usually hide in the back of the stage.

Guillermo (:

Nico (:

Yeah. So did that for a while. Touring and eventually Covid hits. So there's no more touring. Right.

Anna (:

Okay.

Nico (:

We had just released an album. luckily enough

Anna (:

Covid turned you towards cryptography then? Whoa, interesting.

Nico (:

sort of helped me, yeah, I guess focus, so I was already sort of doing music and cryptography at the same time. Started doing them together, sort of like taking exams and then taking the train straight on to stage, like in Liverpool to then play a show and then back to London, like it was

Anna (:

Wow

Guillermo (:

What

Nico (:

It was. Yeah. Yeah. It was a bit like crazy for like a week or two and I was like, can I actually do this? And then Covid hit, oh, it was sort of like simplified everything and I was like, ZK all the way kind of.

Anna (:Cool. So this is:Nico (:

It was not specifically like zero knowledge proofs, but it was like privacy technologies.

Anna (:

I see, okay.

Nico (:

So this was like, I was working on a thresholds team with like Philipp Jovanovich actually, from ZKV

Anna (:

Cool. Nice. My co-founder.

Nico (:

Yeah.

Anna (:

Tell us a little bit maybe about that co like what was, what were the exact topics or, yeah, parts of the privacy stack. What were you trying to solve?

Nico (:

So we're looking at a project, so let's say you sign up to Signal, Telegram, WhatsApp, whatever you want to know, like which ones of your contacts are also using that app. Right now, what WhatsApp and like Telegram do is you upload all your contacts to them. like, they, they get to store them and they get to see like who's friends with who essentially. Signal also requires your contacts, but they supposedly treat them like in an oblivious manner on Trusted Hardware and like delete everything afterwards. But they're still like this trust assumption. And so the question is, can we do the same thing of like contact discovery, finding who your contacts are without ever having to upload your contacts and without having to like broadcast, hey, I'm using Signal.

Anna (:

Okay. I wonder now, like the music part, I mean you, what you were actually doing is playing music. You weren't like studying musical form, but did you, like, had you looked at that? Like had you looked at like fast forward your transformations in the music context or anything like that?

Nico (:

So funnily enough, yes, but not through music itself, just cause I had like, I was doing an electrical engineering degree before.

Anna (:

I see. Okay.

Guillermo (:

A fellow electrical engineer, always fun,

Nico (:

Hi fellow

(:

But yeah, it's, it's funny how like I had to study these things and did signal processing and I was doing good, like, oh yeah, music fun, forgot about them get into zk suddenly like the popup again, like,

Anna (:

Oh,

Nico (:

FFTs are back. Like, what's going on here?

Anna (:

Oh, neat. So, okay. Cool. So that project, you were talking about this like sort of, you were kind of telling us a bit about that. This is, was that your like thesis at the time or? Yeah, that

Nico (:

Was like my master's, I don't know if they call it thesis dissertation in the uk. Like

Anna (:

Whatever the thing you were working on. Yeah.

Nico (:

Which I'm still working on today. We're kind of writing it into like a proper paper this time. Okay. And sort of building it with some people at Mysten onto like a properly distributed system and actually like trying it out.

Guillermo (:

And so, okay, fine. We, you know, you've given us the spiel, but Yeah. Like what, what, what does it do? Like how does it work?

Nico (:

How does it work? so it's based on what we call identity based encryption. So we use your phone number as a public key and we can derive a private key that corresponds to it. So usually these schemes, like traditionally use a central like trusted party that emits all these keys and you kind of trust that it's not gonna like, use your keys to impersonate you. Not desirable in our case, but what we can do is like distribute that party and say like, okay, this one trusted party is now a set of like thousands of parties and as long as a third of them are behaving, honestly, your identity is not compromised.

Guillermo (:

Here's a very dumb question from a non-cryptographer is how do you like derive a private key from a public key? Like, like normally right. These schemes, what you do is you like put in some randomness Yeah. And then you get out a private public key pair, and then you keep the private part private and the public part public. But like, I, you know, is is there a simple version of this?

Nico (:

There is, yeah. Very simple. you simply sign the public key.

Guillermo (:

Okay.

Nico (:

So the signature on the public key is now unique because the trusted third party has emitted it. And you can use that in some encryption scheme afterwards.

Anna (:

I don't really understand what you just, when you said it's signs on it, what do you

Nico (:

Literally a, a BLS signature? Like in the same way that I think validators on Ethereum use BLS signatures. Right?

Guillermo (:

Right. I think so. Yeah. Yeah. It's like I can just verify that the only way that this will like check will pass is like assuming you have your own signature and no one else has like, stolen your key. Like you're the only one that could have signed it in the first place. It guarantees...

Anna (:

But you're signing on, it's literally the way you just said it, that you sign 'on' the public key.

Nico (:

So no, I I'll sign your phone number. Yeah. Like if I'm the trusted party, I sign your phone number and you can now use the signature as your private key.

Anna (:

Okay.

Nico (:

We obviously have to do this in a way that you and I are the only people who see the signature. Because if you reveal it, you've now revealed your private key. so that's part of the protocol, like, how do we do this and how do we do this in a distributed manner where I am no longer a single trusted party. I am like one of the many people who can issue like a partial signature. And you're gonna have to collect enough of them. To reconstruct your party. This

Guillermo (:

Is still like very magical. So like, how does this like work? So Right. Like fine, I now have a signed version with some unknown key that hopefully no one else knows. It's like some toxic waste. and I now have a signed version of my phone number. How can I use that as like a private key that someone else can then like, encrypt something with the public key and then send it to me and then I can, I'm the only person who can unencrypt. Like, I, I, yeah. Like there's, you know, I now have a thing that is like unique to me, which is fine and it's somehow mapped to my phone number. How can I use that?

Nico (:

So without going too far in the details, you do a sort of key exchange where I use my signature, like my private key and your public key to derive a shared secret between you and I. You can do the same thing with your private key and my public key.

Guillermo (:

Ah,

Nico (:

Okay. And then we can use the shared secret for like a symmetric encryption channel. Got Yep, yep, yep,

Guillermo (:

Yep. Mm. Okay. Okay. Got

Nico (:

It. Got it. It's based on pairings essentially.

Anna (:

Like, I love, just, just a note too, I know I, I sort of just mentioned this, that we're between ZK Hack and zkSummit. So like you have two very tired people here. Thank you for explaining it in more detail.

Nico (:

Also, I haven't looked at this in a while, so hopefully this is not nonsensical.

Guillermo (:

Yeah. Like, I mean, like, I'm, I'm also just like totally fucked up explaining like, you know, a basic cryptographic thing, which is signatures like three seconds ago. So honestly, like who the fuck knows

Anna (:

But, so I, one thing I wanna talk about later in this episode is Sangria, the work you recently released and you're actually gonna be given a talk about it at the zkSummit. But yeah, before that I thought it might actually be fun to tell it, like, or to sort of set the stage a little bit for even this conversation if you're down, I wanna do a little bit of a look back over what has just happened this weekend. we had ZK Hack Lisbon. So ZK Hack, you know, it's been around for a while. We've been doing these online events. We did do two in-person parties, but this was the first time we tried to do an in-person ZK Hack. And we did it in the form of a hackathon. This was actually the first time we did a ZK focused hackathon. I know of ZK projects being hacked at other hackathons for a while, but I think this be one of the first actual focused hackathons.

Guillermo (:

Hackathons focused specifically on just zk, not like tooling and shit.

Anna (:

That's exactly what I was trying to say. No worries. You know what I really need like some sort of AI that just speaks for me that would like help me speak better right now.

Guillermo (:

Lucky for you. I think it might

Anna (:

If you, it might exist. Oh my God.

Guillermo (:

That's right. Not only exist, it might be a topic of conversation today

Anna (:

We are also gonna be talking a little bit about zkpod.ai but yeah, let's, let's stick to the ZK Hack Lisbon. So this was a weekend event. We went Friday to Sunday. We ended up with 33 projects submitted, which I was so excited about. I was very worried that like tooling just wouldn't be there and people would give up, but they didn't, they really pushed through and they built things.

Guillermo (:

Were you worried that you were gonna get like two submissions or something?

Anna (:

A little like, I mean, it's so wild because I really wanted to do this hackathon two years ago. And now I think like: Wow, it is so good we did not try it because, so we did get 33 submissions, but tooling was still very hard. Right. Yeah.

Nico (:

Even today, I like, over the weekend, a lot of people were asking about the tooling and yes, I think, I don't know if it was the same for you in your experience judging, but like I've seen a lot of projects that were using RISC Zero just because that was kind of a way to abstract away the ZK part, right? I can, people can work with the tools they know and then plug it into RISC Zero.

Anna (:

Yeah. I think, I mean, I also, I heard a lot of hackers would've started on one toolkit, one language and actually given up because something wasn't really quite ready or they weren't able to get it working fast enough so they would switch. Yeah. And so just picture, like, you have 48 hours and you've decided halfway through to switch to a new language, you don't know. So it's, it's hard out there. But I was so impressed that people put things together, got things submitted in time, and I mean...

Nico (:

The quality of the stuff we saw over a weekend was insane, honestly. This output, it was crazy. It's funny, cause at the same time as I was, I was trying to write my slides for zkSummit, right. In the time that it took them to come up with a whole project, like deploy a live demo, like write a full report, slides everything for a project that they barely started, I couldn't make slides for a project that I know in and out. Right. Like, so it's, it's pretty impressive what they've done.

Anna (:

That's crazy.

Guillermo (:

I was also on the same boat except I started my slides today at seven in the morning to try to get him in by noon, which apparently was the 'hard set deadline'.

Anna (:

This is the deadline it's today.

Guillermo (:

Yeah. It's been set except it was apparently all a lie

Anna (:

No, it's not a lie. It's real. It's real. I mean, we need them by tomorrow.

Guillermo (:

Yeah. Yeah. No, that's fair.

Anna (:

I mean, we're already cutting it a little close.

Guillermo (:

Anyway, so sorry. Okay.

Anna (:

So you helped work on, or like, I know you were thanked Nico about one of the connection points. This was like, so what we saw were, there were a few teams that really did ambitious tooling as part of the hackathon. Tell us a little bit about maybe the one you worked on or helped with.

Nico (:

So yeah. This was like in conversation with grjte from Polygon Miden. Like, we were just talking, she was saying like, oh, I've been wanting to write this ZK Mafia game for the longest time. Oh, that's awesome.

Anna (:

Oh yeah, she did

Nico (:

But yeah, but she's been very busy. Right. So she's like, all right, once we reached some stage of development, I can finally develop the game. And we were chatting about this, and like Gavin, who's like also a builder from London picked up on it. He was like, great. I'm down. Like, oh, Nico, you have this shuffling library. Can we use that for ZK Mafia? So we started riffing off of it and suddenly we realized all they needed to do was implement ElGamal encryption in Miden Assembly. Oh. Like they had everything else sort of ready for them and they just needed that. Originally they were like, let's do the whole game. And then quickly enough, they're like, alright, no, no, no, we're just gonna contribute to the standard library and like hopefully we can pick up from there next time.

Anna (:

Amazing. So, and that's, that's what we actually saw was like people adding real tooling. Real libraries, and I know there was another team Poseidon 2. I actually got to see them and they started recreating Poseidon 2 in all of the different, I wanna say DSLs, but it's almost like, like they brought Poseidon 2 to Miden. They brought Poseidon 2 to like a few different things.

Nico (:

Yeah, that's exactly it. Yeah. That's cool. But also Poseidon 2 is like super recent, right? It's like this,

Anna (:

Ye ye yeah

Nico (:

New version of the paper that came out like a month ago.

Anna (:

Exactly. So yeah. It's funny, what we learned from doing this hackathon was like we had just done a single pool... winner... Top Three... Hacker's choice. But now I know that for, for any future hackathon, what I really wanna do is have a track for tools and actually have prizes just for that because that is so valuable. But it's hard to, like how do you, how do you kind of like judge and compare, here's an application which you can kind of use, or here's like this exciting, shiny thing and then here's this really important, but like, deep in the weeds library that we made

Nico (:

So I guess this is where like the bounties kind of helped. Yeah. Yeah. And I think these projects were also enabled because people knew like, all right, even if I don't go for something nice and flashy and shiny, like there is something like light at the end of the tunnel kind of thing. Yeah. There is a carrot

Anna (:

There's something. Yeah. There's more than an Honorable Mention (Chewing Glass), which is what we had so far.

Nico (:

That's right.

Anna (:

So yeah, I just listed those honorable mentions. But there's, I'm gonna say a little bit about these winners. We had a general Honorable Mentions list. I'll say who the teams were. There was a Starksight, Zk-DTP, Zykloon, Sismord and ZK Wordle. I'll also, by the way, add a link to all of these projects if people wanna kind of check out what all of them did. And then our top three ZK Safe was third, ZKP2P was second. And this Project ZeroGravity, which was a ZKML primitive, basically was our number one winner. And it was so cool to see, we as an audience actually got to see the top three give presentations. Another thing I learned...

Nico (:

Live Demos.

Anna (:

Yeah! Live demos... in zk. What the hell? So this was like actually seeing three of them on the main, I was like, I think next time we should also have more presentations for everyone, because that was so compelling. I do want to also shout out though, Hacker's Choice: Fruity Friends. This was like a ZK social thing, they were, this was a voting that we did after kind of the judging had had happened. And they came in first on Hacker's Choice when the snapshot was taken. But I do wanna do a little shout out to Zero Trace, who was also a very close 2nd and apparently like took over them while I was on stage or like tied them. But anyway, so yeah, both, both of those teams seemed to be crowd favorites at the time. Yeah. I wonder if, is there anything else that we should talk about ZK Hack Lisbon? Any other like, takeaways

Guillermo (:ome of this stuff. Like maybe:Nico (:

The other thing I was very surprised, like how up-to-date with like the most recent stuff, the whole community is. The ZKML stuff was forefront. Kind of like, this is very, very cool. The second prize as well (ZKP2P). Like, they're using the ZK email proof, which is I think a library that was posted like a few months ago. You know, so it's, it's all very, very recent and people are already like iterating over these things and it's yeah. Really awesome to see.

Anna (:

Yeah. That the ZKML, the top prize, they had done, what was it? It was like, they talked about the challenge of doing ZKPs and cryptography plus ML because of different kinds of math that each of them used. And then they had found... which direction was it? in the literature? They went back in time in ML and found some type of math that had been used long ago that could fit better when combined with cryptography, what was it again? Do you remember?

Nico (:

So,

Guillermo (:

Weightless neural networks, I think is the name.

Anna (:

No, wasn't it like moving point something ...

Nico (:

So ... Floating point arithmetic. Yes. Like, so the issue is usually when you have like your regular neural networks, you have all these like, floating point numbers, so like 1.256 something high. Yeah. All these commas and all our SNARKs, we work with finite fields and those are like fixed numbers and we can't deal those comas or not very naturally at least. So that's a big overhead in the computation of your SNARK. So by using these weightless neural networks, like you no longer have to deal with this floating point arithmetic. And actually you can do this very naturally with lookup tables.

Anna (:

Do those weightless ones use finite fields then? Or it just works well in systems that do?

Nico (:

I think the latter. Okay. Like works where I'm like, I don't know, these fine, these weightless neural networks at all. Right. Yeah. This is a discovery for me as well. Right. I think it's just that, yeah. It, it translates more naturally.

Anna (:

Cool. Well, yeah, a big shout out to all the winners. And as mentioned, we're gonna add a link so you can check out these projects in more detail. Yeah. So let's... I mean, we can talk really briefly about looking forward tomorrow we have zkSummit. Oh God. Are you, you're both talking. We are. And Guillermo and I are hosting the main stage. Oh yeah. So that'll be fun. We have a huge day ahead of us. Oh my God.

Guillermo (:

I apologize in advance, Anna.

Anna (:

Don't apologize to me. Apologize to the audience. Oh, you're an amazing co-host on stages. Oh, we did ZK8 and I think it was a success. It was a lot of fun. Yeah. What, what else is going on? I'm just thinking in the ZK world, I don't know when this is gonna air. Right now we're recording this on April 3rd. we heard on April 1st that Plonk isn't real. That was good. It's not real. It was made up 2 sociology PhD students from UCL seeing how far they could get with a fake cryptography primitive. Yeah. I, I worry that this is gonna air so long after April Fools that people will just believe it. Yeah. It was a good one though. That was Zac from Aztec. That was great. Probably the best April fool's tweet I'd seen.

Nico (:

I did have to do a double take on it. Because like, the way it's worded, it's very much like, I'm very sorry to have to announce this, and I'm very sorry...

Anna (:

Looks there might be a bug or there might be.

Guillermo (:

Yeah.

Nico (:

Yeah. I was like, oh no.

Guillermo (:

But that, that was a great

Anna (:

One. I liked that. Yeah. Why don't we talk a little bit about projects maybe that are going on in our worlds right now. Guillermo, you've tweeted a few things that like hint at some sort of like ZK work. Tell us what is happening.

Guillermo (:

I guess I'll start with a disclaimer that I have no idea about anything about zk. I've just, I'm a com I've been LARPing the whole time. Yes. same with cryptography. I also have no fucking clue about any of it. But on the other handthe high level idea is the very small amount of ZK literature I've looked at, which happens to be negligibly small, it turns out it has like this fun little structure, which is so, you know, like in zk for the most part, we deal with like polynomials and polynomial expressions and like a bunch of things that like relate to these things. but it turns out like most of the kind of like techniques that are used with polynomials, like apply equally well to these more general concepts called like codes... like "error correcting codes".

(:

It's kind of weird to make this jump. But the point is, like a polynomial, you can think about it as like a certain kind of error correcting code where your message is like the coefficient of the polynomial. And like your error correcting code is like the polynomial evaluated over every single point in the field. it has a bunch of nice properties. The, you know, the easiest one being something like if I give you a non-zero polynomial all you need to do is you don't have to check that the whole thing is not zero. You just have to check like one point. And with high probability, if that evaluation is like zero, then the whole thing must have been zero in the first place. And they gives you a converse that says.

Anna (:

This is so cool. Nico didn't, we were covering this in our Whiteboard sessions, study groups, weren't we?

Nico (:

Kind of, so we were covering it from the polynomial side of things. Okay. Right. And we were describing it as polynomial. This is like a different way of describing the same thing. Interesting. but obviously with different ways of describing things, you have different perspectives and maybe some things are easier to think about. Better intuition, easier to prove. So might be interesting.

Guillermo (:

It's kind of funny cause Nico and I, I feel, I feel bad I like lectured or we had a, we had a long chat, which was mostly me ranting for like 45 minutes. Not ranting, just chatting about things about these things. But anyways, the point is, the polynomial part sometimes turns out to be very important, but generally it's actually kind of secondary to this like fact that you have like a, a specific code that has a certain property which is called like a large distance or something, you know? So that's one, one such case, like this polynomial zero check is what it's called. But you could imagine there's like a bunch of other kind of normal things we do, like folding schemes where you like fold over a bunch of like, you know, you have, you have, you want to check a property over a big, a set of a bunch of like objects. And what you can do is instead of checking every individual object, you can like kind of smash 'em together and then check it over that like, smashed together object. that reduces a lot of work,

Anna (:

Right? Oh,

Guillermo (:

Yeah. but the point is like, fundamentally what you're doing is you're not like these, these aren't like properties of polynomials or properties of like, these objects that are like linear. In other words, you can kind of add them together and multiply them together or multiply 'em by like fixed numbers and then add them together. And then you kind of say like, okay if every single object in my list satisfies a certain property... Right? That happens only when kind of a smashed like together object like satisfies the same property. And this turns out to be true for like, not just, you know, things like polynomials, but it turns out to be true for like a very generic class of objects that happen to be just, you know, what are called like linear correcting codes. So anyways, that's, that's the high level take. you know, I guess

Anna (:

What's ... is the work, the fact that you've, you're describing this thing, like how, what is the paper?

Guillermo (:

So the paper itself does... you know, these kinds of papers are, are weird because fundamentally they don't say anything right.

Anna (:

They say nothing.

Guillermo (:

They say nothing. Okay. In the sense of like, they

Anna (:

Like nothing new.

Guillermo (:

Yeah. Like, so, so it's, it's new. but it, it's another perspective of looking at kind of the same object. And it, it, it suggests

Anna (:

There might be techniques that could be used.

Guillermo (:

Exactly. It suggests that there are like, you know, what we're looking at is something a little bit more general than like the current thing that we're actually seeing. Right. So, you know, you, you can think about like the current space as like this like little sphere somewhere in like, you know, front of your face. In reality, like the same stuff that we look at for this like little sphere, like actually applies to like a much broader set of objects. and so this suggests like kind of interesting things like maybe polynomials are, are kind of difficult to deal with for some reasons. So one of them is, you know, when you use properties polynomials, you often have to take Fourier transforms of like things, right. Of these like objects. and you wanna avoid that for like computational reasons or for like, any other number of reasons.

(:

So this suggests that there like might be other things that we can use that satisfy kind of the same properties that we expect of polynomials, but instead of using polynomials, we can use something that might be easier.

Anna (:

Oh wow.

Guillermo (:

Cleaner, simpler, not always. But sometimes. So this is like this, it's a paper that does a lot of, I like, I love, I lovingly call it "janitorial work". Of like taking a bunch of like, things that look very different, cleaning it up a little bit and than putting it all in one kind of cohesive framework.

Anna (:

Cool.

Guillermo (:

That lets you like sit down and like study it, you know, and then it all fits in the same kind of like little category.

Nico (:

I mean those are super important, right? Because like, so today you go on any like, no, I'm serious. You go on any like zero knowledge like SNARK course and the first thing you'll see is, oh, a SNARK is a polynomial IOP with a polynomial commitment scheme. That sounds super simple, but it took us a while to get right and to get that abstraction right and to make it work. Once we had it, people could start reasoning about like, oh, let me replace this KZG with FRI and start doing like, super interesting things. Is that because until you have the janitorial work work, like you can't think properly about these things.

Anna (:

Was it originally like, because the first zero knowledge... first SNARKs, they were produced as one solid block. It was to try... like how did they tease that out, actually. The two even..

Guillermo (:

a lot of...

Anna (:

Was that Alessandro Chiesa?

Nico (:

I'm not sure.

Anna (:

Okay. Who?

Nico (:

Yeah, I think the interactive oracle proof paper, the first one is probably Chiesa. I'm not sure. Maybe Ben-Sasson, I'm not entirely sure. But it is this kind of janitorial your work, right? Like, you go in, you notice patterns, you sort of separate things and you say, all right, this falls within my pattern. But if we look at the pattern itself, can we come up with something else?

Anna (:

Interesting.

Guillermo (:

Yeah. It's, it's, I call it also janitorial work. Because in a lot of ways it's it's kind of funny because it's a little thankless, right? Like these are, I mean, some people get it, but for the most part they're like folk theorems or they're things that people kind of know. And when you tell that to them, it's very obvious. You're like, oh yes, of course that must be true. But some people unfortunately equate that to being like true and therefore easy as opposed to like, like, oh, like this is a nice abstraction. So anyway, so this is a, I have a whole long riff on this

Nico (:

It's like the bass player of knowledge

Guillermo (:

Yeah, yeah, exactly.

Nico (:

Just like sat in the back. It looks simple what you're doing, but if you don't do it, it'll crumble.

Guillermo (:

It's weird, right? So, well, thank you. That's far, far too kind. I think. I think it's much lower than the totem pole than that. But

Anna (:

The drummer, no. Yeah, actually the drummer's pretty good. The drummer gets to make a lot of noise.

(:

Triangle player.

Guillermo (:

I'm, yeah, the

Nico (:

Percussion I'm like the, the, you know, whatever, the people who like spend their time on like the lighting. But not even the lighting. It's the rigging. I'm, I'm the rigger

Anna (:

You are the rig guy.

Guillermo (:

I'm the rigger. That's how I am.

Anna (:

Nice.

Guillermo (:

All I do is rigging

Anna (:

Guillermo, actually a lot of your work does this kind of thing though. I feel like I've heard you talk about like formalizing lots of things. So you're just always the rigger everywhere.

Guillermo (:

I am always the rigger. It's, there's something, I don't know, there's

Anna (:

Poor people... Like rigger is probably a hard job actually.

Guillermo (:

It is. No, it's really hard. But I'm, I'm just saying it's thankless, right? No one is like...

Nico (:

So like you rigged the whole space.

Guillermo (:

Exactly. That's the secret. That's how you know this is why you know, these weird things are actually all lies is it's all rigged. It's all rigged. Nice. So yeah, so I dunno, I get a lot of enjoyment out of this. Like we, we've actually talked about this before ... quite drunkenly actually. This is, this is funny because this is I think one of the first episodes we've done like in person not smashed

Anna (:

Not drunk. God damn.

Guillermo (:

This one is only coffee

Anna (:

I dunno if I'm like, god damn, we're so bad, generally. Or I'm like, god damn it would be awesome to to be drunk right now.

Guillermo (:

Yeah.

Anna (:

No, no drinking this time folks, we unfortunately we have a lot of work ahead of us, so we have have to be smart, go to bed early.

Guillermo (:

Replace the, the mezcal shots with coffee, unfortunately, but yes. But yeah, the, the, the point is, you know, it's, I joke, but it's a search for the, like, the sublime. Not, not that I'm saying that any of the things that I do are sublime. They're in fact quite the opposite. They're rather silly. But, you know, it's, it's a good search of like the nice piece of art that like brings everything together.

Nico (:

Anyway, there is something very satisfying in finding that simple clean pattern. Yes. Simple clean abstraction. Yes.

Guillermo (:

It's a bit of an addiction.

Nico (:

The perfect IOP and the perfect polynomial commitment. And that's it.

Guillermo (:

Yeah. Super

Nico (:

Simple, super satisfying. Nice.

Guillermo (:

I've heard a bit about your work and I was trolling your profile or Twitter profile rather recently. but no, why don't you, why don't you tell us a little bit about it? I don't want to speak for you.

Nico (:

So I'm working on something I call Sangria and it's not cause I have a drinking issue. Like...

Anna (:

Like you two

Nico (:

It's a slightly mis-known thing that Plonk means bad wine. Yeah.

Anna (:

And

Guillermo (:

So really? Yeah.

Anna (:

I always thought it was a sound effect: "Plonk". But actually it's, I remember Zac telling me this, that it was like, Plonk is like crappy wine.

Guillermo (:

That's really,

Anna (:

So I got like drinking some leftover Plonk

Nico (:

Plonk gives me headaches. Yeah.

Anna (:

Okay. Plonk gives me headaches.

Guillermo (:

Oh, that's hysterical

Nico (:

His line. And so knowing that I was working on a system, where eventually you get something called Relaxed Plonk. I was thinking, okay, what is Relaxed Plonk ... if not Sangria,

Anna (:

Nice. Oh, that's great

Nico (:

Most of the work was in finding the name. The rest of it is kind of, yeah.

Guillermo (:

It just happens downstream finding the name of .... really

Nico (:

Of course. Oh no. So Sangria is kind of bringing the ideas from Nova and Nova's this paper that has like the kind of fastest recursion SNARK that we have. Bringing ideas from there, which is in the world of R1CS into the world of Plonk. It's, it's kind of what you were describing, like finding the pattern, generalizing like. What is it that allowed Nova to work, right? It's this folding scheme. And you were talking about earlier about those like smashing two things together into like a compressed instance. Nova does the same for R1CS. I was kind of looking at it, what is the pattern here? Found the pattern, apply it to Plonk, and now we sort of have the same thing, but for Plonk

Anna (:

Interesting. Nova, is it Supernova? Is it the same? Like what's this? Because I know the ... Is the paper called Supernova?

Nico (:

So there are two papers. One is Nova and then there's a follow up called Supernova.

Anna (:

What was the difference between those two?

Nico (:

Okay. So Nova sort of says, if the computation you wanna prove is the same function that applied many, many times, you prove the first time, prove the second time and compress them together into one. Then you prove the third time and compress that with what you already had. Like this sort of running instance and you keep going compressing. This works because it's always the same function and you're allowed to compress when it's the same function. With Supernova, they're saying what if the functions are different. And so they sort of describe how to do a similar thing with different functions.

Anna (:

Interesting.

Nico (:

So the idea now is like if you're trying to do a zkVM, you don't have to have like one circuit that does the whole processor. Right? You have a circuit that does part of it and another circuit that does some other part of it so that when you're doing cheap instructions, like adding, you can only call like the cheap circuit. When you're doing like a very expensive operation, you call the expensive circuit. And you keep it turning through that. Sangria is essentially what we call a folding scheme and it's one of the elements that build towards Nova and Supernova. Okay. So you can kind of take either of these, plug-out their folding scheme, plug-in Sangria, and that's it. It just works.

Anna (:

Folding scheme. What exactly is the folding scheme?

Nico (:

So folding scheme, I think Guillermo sort of touched upon it earlier. It's this idea that if you have two problems of some kind, like two Plonk circuits, you can compress them into one Plonk circuit.

Anna (:

Oh it is... Okay.

Nico (:

If you know, like a satisfying assignment for this compressed circuit, you must have known a satisfying assignments for the previous two. So you can think, or like a Sudoku for example. I give you two Sudokus rather than checking that you answered both. I'm gonna check a third one, which you could have only answered if you hadn't known the first two.

Anna (:

Interesting. Okay. Yeah. Combined or I mean, yeah, exactly. I don't know how you do it for Sudoku, but, okay. That makes sense. That's cool. Nice

Nico (:

That's like the main insight of Nova and like super clean abstraction from...

Anna (:

This is gonna be a bit of a dumb question, but like Nova, Supernova, what are they, like, are they proving systems? Are they like... where? I don't really know where in the stack they are. Yeah.

Nico (:

You know what? I'm not sure either. So no, they are, they describe like a succinct proof of incremental computation.

Anna (:

Okay. Are they like an architecture?

Nico (:

They are technically a SNARK.

Anna (:

Okay.

Nico (:

Like it boils down to a SNARK at the end, but it's sort of like the steps along the way that are interesting. And what kind of computation can you prove with those SNARKs?

Anna (:

Would there be any work that that sort of it drew on or changed from that we might recognize?

Nico (:

Yeah, absolutely. So this line of work is again, what we call incrementally verifiable computation. So I have like some function f applied many, many times, And what we realized like, all right, if I do the function f and I also have some kind of proof that I carry along and I update my proof every time, I'll be able to just check one proof at the very end rather than checking every step individually. Originally what we would do is like, all right, we have SNARKs. These are like super small proofs, super small verifiers. Surely that's what I should be doing. Right? Like, it's the most efficient thing I have. So we did circuits that do SNARK verifiers and like that was the first instance. Like that was the first time we tried it. And then like the Halo people came up with an idea. They're like, okay, actually you know what? I'm not gonna do the whole SNARK verifier. I'm just gonna do part of it in the circuit. And I'll defer some other verification to much later. And that line of work, if you keep following through, eventually we say like, oh actually we don't even need to prove, we'll defer proving till the very end. And that's what Nova does.

Anna (:

Oh wow. So it's on the, it's on the Halo 2 kind of like thought chain

Nico (:

Sort of Yeah. It's, it's following that direction. Yeah.

Anna (:

Interesting.

Guillermo (:

I have a feeling there's this fun game that we're like kind of all playing where we've come up with like a bunch of different categories for a bunch of different things. But I guess like the paper is fundamentally like, it's independent of approving system. Fundamentally. It's this question of like it uses some tricks, but the main thing is this idea that you can take in some instance... right? And then like, uses one math, it really has one mathematical trick. You know, the trick that doctors don't want you to know. But that's the meat of the thing, which is like you can kind of homogenize... well I guess that's really yours. But I'm going to use your, your terminology for this one because it's the *whispers* right abstraction, but it's fine. The Rightâ„¢ abstraction, which is like you can homogenize system of quadratics in order to like get this folding result that you want in the first place. Like what, what does one call that line of work, right? Certainly downstream of that line of work, you do get kind of this like very meaty, very useful result. But fundamentally it's like a single observation that you have here.

Nico (:

I think we're still in sort of complexity theory land, probably, right? Here are these problems and how do we solve these problems. Here is a problem, which is a composition of problems. How do I solve that problem? So that's what we're saying, like here we're composing in a very specific way, right? The output of one is fed back into the next... right. Et cetera, et cetera. I'd have to think some more about the...

Guillermo (:

Yeah. I don't know. I feel like we're getting up to the point where this is also kind of getting back a little bit back to the framework question, once you start cleanly separating parts of systems, your old nomenclature kind of goes out the window too because there's a notion of like....

Nico (:

It's the last time you've heard about a QAP. Q-A-P. Quadractic Arithmetic Programs

Guillermo (:

Quadractic Arithmetic Program. Okay. I don't even,

Nico (:

For a while, like you, you had to go through that step and in every tutorial you saw there was a QAP in there.

Guillermo (:

Interesting.

Nico (:

They've sort of disappeared today. Yeah. Because of the exact reason you were saying.

Guillermo (:

Exactly. So I, I feel like we're getting back to that point again. But with these, like in, cause you know what, what you do, you took an individual part of a big proving system, and then you cleaned it up really nicely and like, you know, what is it like, wiped it down and like put it back in and that was nice and shiny. Yeah. What do you call that part now?

Nico (:

No idea.

Guillermo (:

All right,

Anna (:

Cool.

Nico (:

Yeah. I'm not sure how you would call like these, these general problems, but what we could do is ask Anna, because I've heard you've recently been enhanced.

Anna (:

Enhanced

Guillermo (:

I would say detracted, but enhanced seems fine.

Anna (:

So, yeah. Since we're talking about projects in all of our worlds this is not really my project, but I'm involved in it somehow. So I don't know, people might have seen this over on Twitter, but we, well Kobi really created something called zkpod.ai, which is fed with all of the episodes from the show. And you can ask it questions and get my voice to read out the answer in a terrifyingly like close simulation of my actual voice.

Guillermo (:

It's quite close, but it still, to me it still sounds as pissed off Anna or annoyed Anna. Or why are you asking?

Anna (:

It's kind tired.

Guillermo (:

Not tired. But I think it's like, why are you asking me this question?

Anna (:

A little arrogant.

Guillermo (:

It is. Maybe it's funny,

Anna (:

It's overly confident and it says things sometimes that are kind of wrong.

Guillermo (:

Oh, that are totally wrong. Especially in Spanish. That was very funny.

Anna (:

Yeah. In other languages. I mean, just to give everyone a sense for what this thing actually is under the hood, Kobi fed it transcripts from our show and so when it's answering, it's actually drawing on knowledge that has been discussed by guests, primarily not by me. And, and then creates the answers in like, I don't actually know under the hood... Kobi's gonna come on the show at some point. We're gonna actually talk a little bit more about it. Yeah. It's a ChatGPT kind of similar thing. I mean, for me it was quite terrifying to see because it answers questions seemingly confidently. And maybe like I find out later, maybe not quite correctly, but seemingly very well questions I could never answer. Like it's my voice saying things I ca my brain could not up with. Oh. Off on the spot. I could read that I suppose, but it's quite, it was like pretty profound to see it. I got like,

Nico (:

Was it a shock to hear herself? Yeah.

Anna (:

Speaking like that. I mean, Kobi had been doing a bunch of experiments with like my voice and like some things and he would kind, he'd kind of send me notes being like, I'm sorry. And then like, show me

Guillermo (:

Something and I be like, ah, what you got some sort of progression

Anna (:

Toward this. Yeah. This was, this was the one that was like, he's like, no, I think that, so I think in the text I wrote a little piece on how I felt about when I saw it and, but what he had actually written for this one was something like, I'm sorry again because it wasn't the first one. But then he sent me kind of the full fledged thing where you could type in the question, click on my name and audio and have it actually work. And I remember, I mean, first of all, part of me was like, I sound smart, that's cool!

(:

That's awesome. And then I was like, oh my God, like this could be a great learning resource. Like things like it also searches in a way through the transcript for you and like creates these connections. And I was like, this is so brilliant. It's gonna be great for people who are using our podcast to like learn and stuff. It might even, maybe this could write documents and all these, but then I also had like a bit of a total freak out in crisis, where I'm like, this could be mistaken for me as well. And like, I don't have full control over what this voice says. Which makes me a nervous and like, yeah. So I've, and it's funny because like we ha we had it somewhat ready for about two weeks before we released it.

(:

Because I, and, and I'm really glad I had a bit of time to think about it and I really wanted to think about whether or not we release it this way. And like he had said, you know, we could put a different voice, we could change it up. Right. But actually I thought it was so powerful and especially given that like, this is the show that pe people recognize my voice from the show. I think it wouldn't have been quite as crazy if it was just a standard voice. Given that there is actually, you know, audio recordings of me anyways. So we yeah. We put it together. Kobi Well here was sort of the way we did it though. Kobi also put his own voice, right? Yeah. This was a way that I think it definitely felt like people can choose, it can also choose text. It's not always me.

Guillermo (:

I do have to say your voice is a lot more realistic than Kobi's. Yeah. He

Anna (:

Turned British for some reason. It's very strange.

Guillermo (:

I still haven't listened to the Kobi version of this. I've listened to exactly one transcript of you answer. Is it slightly curse? Okay. But I gotta do it. I feel like it's funny

Anna (:

Funny and yeah. So you can now put also different language. Like I, if you ask it a question in French, it'll answer in French. However, I speak French and that voice speaks bad French. Like it speaks French like if you're an anglophone who barely, who's like reading.

Nico (:

So it has an accent?

Anna (:

Yeah. It sounds like

Nico (:

Wow.

Anna (:

Sounds like lazy French to me. It's sort of like je ne sais quoi blah blah blah, it's still because you know the language, they took it from English

Guillermo (:

Right? Yeah.

Anna (:

Like it's so it and I guess maybe the timbre of my voice changes a bit when I speak French. Is that possible?

Nico (:

Probably yes. Yeah. I think people have very different voices in different languages.

Anna (:

Nico (:

At the front of the mouth. French is like at the back. Sorry I just realised

Anna (:

We should probably

Nico (:

We've stepped into an alternate reality where like Google translate just turned on and I'm like, oh God no, how do I turn it off. Like I set the menu wrong. What did I do? I realized maybe your listeners don't want to hear us ramble in French.

Anna (:

Well this is good cause we'll feed this into the model. Yeah, exactly. This is awesome. Maybe they'll get my French right Eventually, but Yeah, and my Spanish to me, I'm like, wow, I sound great. But I bet you I sound like an English person speaking Spanish badly

Guillermo (:

I'm very curious. I have not, when, when I tried it, I tried feeding it. Well first things first. It got the, like the classical canonical example of like, how do I explain a zero knowledge proof to like a five year old. Actually how do I explain a ZKP to my Grandma,

Anna (:

Oh, okay, okay.

Guillermo (:

It a) got it completely wrong in Spanish. Like you said something like that sounded vaguely right, but totally nonsensical. And then the service went down and I could not actually hear it.

Anna (:

Well, you could try it now

Guillermo (:

Yeah now I'm curious to hear cursed Spanish Anna.

Nico (:

Gonna be great.

Anna (:

I wanna say even in English, my voice is not exactly correct. And the thing I've noticed is sometimes I'm saying a word that sounds really American. I think I have sort of a generic North American accent, but I am from Canada and there are like super subtle ways that I'll say a word differently, but I do wonder if it's possible that there have been variations a little in how I'd say a word and I don't know why it picks this like, American style.

Guillermo (:

It could also just be right, like the model is probably trained unlike pure American city, slicker American, you know, the way we all speak at as right now. But like plus or minus variations. Then it doesn't pick up on those like, like nuances and pronunciation. Becayse it has like a very like whatever, I don't wanna say hard,

Nico (:

Heavy. Kobi tried to train the same model on a colleague's voice who's a Serbian and who speaks with like an Eastern European accent. And that was completely off.

Anna (:

Oh, it just

Nico (:

That like kid,

Anna (:

His voice, it didn't get Kobi's either. Yeah, exactly.

Nico (:

Yeah. So this, this thing is kind of fine tuned for American. That's why I'm saying like, it has an accent, I guess when it speaks French because maybe it has like, I mean somehow incorporated like these sounds or I

Anna (:

Think it's English sounds trying to speak French. Yeah, exactly.

Nico (:

Exactly. Which is what an accent is. Yeah. I guess, yeah. ZK coming into this, like in your post you talk about like wanting to be able prove that it is you indeed speaking and not like this AI,

Anna (:

So I think that's what made this also, I felt like it was actually a really kind of important experiment to share because, I mean, the reaction I had was kind of visceral. Like I had a bit of a crisis. I'm still having a bit of a crisis, I'm still like, is this thing gonna replace me? And what does that mean to be doing a job in the future? Like, and part of me is like, how could I use it? Maybe it's awesome. Maybe it could like help.

Nico (:

All right. Can't be bothered to record this week.ZK Pod, can you do it?

Anna (:

Yeah, just get into to read stuff for me. I don't know. Like I have to read stuff.

Guillermo (:

Something you just drop one in there and see if anyone notices the difference. You just don't say anything. You can make

Nico (:

Audiobooks

Guillermo (:

Ooh, that's big brain.

Anna (:

But, but as an experiment, I also thought it's kind of crazy that like, we did it on this show because you could do this to any show.

Guillermo (:

Right?

Anna (:

Right. Any topic, whatever. But like in recent episodes we've talked about how ZK could be like a bit of a solve for proving like deep fakes versus actual footage. Like you can actually, you can use cks to prove providence of like images. For example maybe you could use ZK to prove providence of audio if there was something like an attested sensor in the microphone, which means like the microphone itself starts to make a signature saying like, this was recorded at this time. That's I think the closest you can get to like, getting a voice into something. That would be attested and like for sure true and correct and not fake.

Nico (:

Is that enough though? Could I play ZK Pod through a speaker and have a microphone next to it?

Guillermo (:

There's actually fun techniques to distinguish between really real. Yeah. So this is a kind of popular thing. I mean, maybe not post, actually even post editing, I think it's the case. I didn't know this, but they like, you know, when you like go and you submit your photos to a, like competition, you actually don't submit just the like edited photo. You actually submit the original raw file and there are like people whose entire job it is to figure out if you doctored the raw file wow. To make it look better than it actually is. And it, there's like very clear signs. Interesting. Interesting. But I don't know how you could, you know,

Nico (:

Probably the same applies to

Guillermo (:

I suspect so as well with sound.

Anna (:

Well, so this attested sensor thing. It actually, like we talked about in the context of cameras and photos and I don't know if attested sensors exist in microphones yet. Apparently. Like, it, it, there is some trade off. I think it's something expensive somewhere. Like there's some reason why you don't have it everywhere.

Nico (:

Right. You'll definitely have some latency. You need to do some cryptography on it immediately, so that's

Guillermo (:

Right. Yeah.

Anna (:

Right, but this experiment, this thing existing all of a sudden I was like, well, that idea of the deep fake versus the real that all of a sudden becomes very, very real. Because now there is constantly gonna be little clips of me talking that I've never said and could be slightly wrong. And I would like to be able to say, yeah, that is fake. I mean, and here is why here, here's this is this is true, these are real things. Or like just being able to like put a stamp being like, this is real content. So

Guillermo (:

You can already do that. You know, take a signature scheme, right. You go like, make a private public key pair post your public key, which is, I think this is pretty cool. I think this would probably be the first podcast to do it. I don't know. I mean, maybe not. It's, that's that's a very strong claim nowadays. But, and then what you do is you just sign all of your recordings and you're like, this is Anna certified. I am chilling. This is me guaranteed TM a hundred percent organic fair trade content.

Nico (:

Sort of we're trusting her, we're trust guaranted that of course she attested it, but yes. Right, right. Maybe Anna is using the AI to, oh, this is, she's signing them and not telling us

Guillermo (:

This is true. She could be. Maybe

Nico (:

It's just you and I in a room and zkpod.ai. Oh.

Guillermo (:

Oh, it's all been fake. Yeah. Oh wait, oh

Anna (:

Even even the attested sensor one. I do wanna kind of finish that thought because that is just like, that would be on the raw right? If we did a signature on the thing. But what it, where it becomes interesting is like through an editing process. That's right. Still being able to prove providence of that original like the link back to the original file. Yeah. That is something that I think would be super

Guillermo (:

Interesting. That's definitely super cool. I don't, I think

Anna (:

This is more like if I really need that, but it's like maybe the signature is just enough for now, but it's like, but like on some level I did start to think like proving something's authentic, proving something comes actually from me. Yeah. Like that would be something that all of a sudden I think I need, which I never thought would be

Nico (:

Yeah. No, the signature might even be overkill. Yeah. In the sense that very few people are actually gonna go and check it.

Guillermo (:

Right? Oh, that's right. Well you could just, you know, have it for fun and then have, you could make it a, a little JS script that like, yeah. You play an episode and then you check it with with the public signature. That would be cool. Very good.

Anna (:

That

Guillermo (:

Be cool. Yeah. You should do it.

Anna (:

That's ZK hack. Should I hack that?

Guillermo (:

You should hack it. I believe any this is gonna be great. Yeah. I mean, you just like, you know, you sign the final edited recording, post it on the side and say, all right, here's, here's the, you know, the public key. It's great. Go check it if you if if you dare.

Anna (:

Yeah. So, but as mentioned, I know that like we do wanna do an episode where we dig into exactly what that is. A lot of the ideas that I know Kobi's had for like, things we can do better. One of the issues I would say is like the transcripts for this show, unfortunately, like, you know, we've been, I think we've done over like 150, but often they've been generated by like a transcript maker. Edited by a person, but not always a technical person. And so there's mistakes in it. And I tried to do a lot of the early ones and, and I had a few people on, on the team who were able to do really, really good ones. But we are actually one of our big projects for the new, for, for April for the new quarter is basically to find ways to crowdsource better transcripts because we need eyes on this. Yeah. I think people who just read our transcripts probably constantly are seeing these annoying things.

Nico (:

I mean imagine all these like weird names that we have all these acronyms.

Anna (:

Like I don't blame, like the folks I have like are doing these transcripts are amazing.

Nico (:

Right.

Anna (:

It makes the English grammar great. It's just there are so many industry specific things. Yep. And it's so, such like you have to be so focused. So yeh, so far we haven't kind of found the perfect formula, but,

Guillermo (:

So I rarely listen. Actually I think I listened to one ZK podcast. Sorry, maybe I shouldn't have been this on air.

Anna (:

Your transcript reader guy

Guillermo (:

So I mostly read the transcripts and that's how I realized that I slur when I speak English because it doesn't get it is because sometimes there's like inaudible or like, I have no idea, you know, like essentially like there's something that, that like kind of half maps to the right thing, but not quite. So anyways that, that would be the crowdsourcing transcripts would be pretty fun.

Anna (:

I know, I think, I mean we're gonna really try to do that. So Yeah. Anyone listening, if you are more reading, like you're more of a transcript reader and you've noticed super annoying things in our transcripts. One, I'm sorry. Two, we now realize this is a bigger issue than we thought. Cause it's not just people reading it and seeing something wrong when we feed it into a model, it also gets stuff wrong.

Guillermo (:

Oh, that's very funny.

Anna (:

And it doesn't make some connections and yeah, I mean we have to fix it in a way for that to become more accurate. And to be a more powerful thing. But yeah, like as mentioned we'll do, I'll do a full, a full one on that. I don't wanna actually reveal too much because like Kobi should be on the one we do so he can share more about, especially about the plans. Just thinking about like, you know, latest ZK news. I wanna ask the two of you, who is the realist zkEVM?

Guillermo (:

Oh no

Nico (:

Oh actually it's, we saw it at the hackathon, it's ZK hack. We saw the first ZK ZK zkEVM.

Guillermo (:

Oh, that was very massive. Yeah.

Anna (:

Yeah. Yeah. It, it was Aztec Connect,

Guillermo (:

So

Nico (:

It was Aztec Connect being deployed on Scroll.

Anna (:

Hilarious

Nico (:

With some caveats. That was so impressive, obviously. But yeah, it's, it's a funny idea.

Anna (:t these rollups and stuff, in:Nico (:

Oh, I see.

Anna (:

And I, I mean, I think a lot of the architecture was already set then. So it might be interesting. I'll try to dig them up. Like that just might be interesting for folks to read or to, to listen to.

Nico (:

Or read

Anna (:

Or read!

Nico (:

Potentially.

Anna (:

Yeah. Fair

(:

Now all of a sudden I'm like, no one actually listens. It's all, everyone's reading, and it's all wrong. Oh no!

(:

That would be interesting to try to figure out the percentage of like, "listeners" who are actually not listening, but reading. Yeah. I don't know how to do that.

Guillermo (:

This is a record. Like if you read

Anna (:

You, I don't think I have a stat. Like, I don't think I can

Nico (:

You can do a little poll.

Anna (:

Yeah, I should do a poll. That's a good idea

Guillermo (:

I definitely read way more than I've listened to.

Anna (:

Wow.

Guillermo (:

Like a lot.

(:

Like actually I mostly read them.

Anna (:

Wow. I know Giorgios told me he did too and he didn't listen to them. So I know two. Yeah, I know two readers now. Oh

Guillermo (:

No.

Nico (:

But okay. With respect to the zkEVM thing, Kobi brought up something interesting the other day on Twitter, which we sort of lost track of why we were doing zkEVM. Like, it was supposed to be a segue from like, we have a lot of solidity contracts that exist. Can we pour those into like something scalable? Yeah. Let's just make sure that our scaling solution is compatible with the EVM. If it is just like a transition period, why do we care so much, so strongly now? Right? Like, it's supposed to be like temporary.

Guillermo (:

There's a fundamental question, right? Like, I think the assumptions are like twofold, right? One of them is this is a temporary thing and it's gonna exist over the next five or 10 years. And then, you know, post that you're just gonna use like languages which are designed to be ZK and efficient for ZK and things like that. There's also a second point, which is EVM and associated tooling has reached like escape velocity and it's gonna be the next JavaScript.

Anna (:

Hmm.

Guillermo (:

Right. Like thing that no one really likes to do. Yeah. Like Solidity is just gonna be like

Anna (:

Wow,

Guillermo (:

Like JavaScript, it's a thing no one really likes to do. Everyone agrees that it mostly sucks. For any variety of reasons, but you know, we're still stuck with it. And we have TypeScript, which is like this very complicated type system, but what does it do? It compiles down to JavaScript. Yeah. Right? And sure, it gives you more guarantees, but at the end of the day, it's like you've stuck a little smiley face on like the monster, like the Eldridge monster with all the eyes and stuff. And sure we could pretend it's much nicer, but fundamentally you still have a monster in the back. So I don't know.

Nico (:

There's, so you think we're married to the EVM and like yeah,

Anna (:

That's is an interesting perspective. I don't know if I fully agree with that I don't know. I I mean, I don't know if I agree with that. I'm just saying like, that is

Nico (:

Yeah, that's, it is reasonable

Guillermo (:

The argument actually, the, the answer is I have no clue. I actually have not that much of an opinion on it, but I actually have no clue. I'm just like this, I mean, someone told me this and I was like, oh, actually that, that makes sense, right? Like, you, you could imagine that like, crap, here we go, JavaScript number two. And it's like, you know, now maybe with WASM or maybe gonna start getting divorced from that, but it's gonna take a long time. And JavaScript's been around since, you know, whatever his name is, made it up on a weekend and was like ah, yes. This is gonna be like our stepping stone language. For like the web. Right. And here we are like, you know, writing, our processors have specific instructions that all they do is convert certain numbers from JavaScript formats to not, so it's we have, wow. At this point it's etched into the hardware, right? Yeah. It's rather unfortunate.

Anna (:

Would JavaScript never be replaced?

Guillermo (:

It seems that if things go the right way, TM and things like that, you could imagine that like WASM itself becomes like the new kind of what do we call neutral computing? Yeah. Like intermediate language. Like, I want to, I'm not gonna call JavaScript or

Nico (:

Like, but like still right now people are writing JavaScript and compiling, get down to WASM. That's right.

Guillermo (:

It's like, that's right. It's still the same fundamental problem. Yeah. So I don't know. Yeah. And it's like, you know, WASM is like kind of a weird intermediate thing that like you can kind of compile ahead of time or just in time or things like that. But it's, it's still like weird, right? It's not like without its own like kind of, you know, CREP and

Anna (:

Question for you. It wasm or is it WASM? Because it's web assembly. Oh, assembly. Yeah.

Guillermo (:

Assembly.

Anna (:

WASM

Guillermo (:

I feel really bad because I actually cannot pick between those

Anna (:

It's not o-ssembly, it's a-ssembly

Guillermo (:

Like

Anna (:

WASM. Yeah. I say WASM.

Guillermo (:

Yeah, WASM.

Anna (:

Yeah. I don't know. I say WASM, I would say WASM.

So we figured out nothing! But I finally got to talk about that. I think I got to talk about it on another show but halfway through I switched (on-purpose).

So yeh, we're going to have to sign off pretty soon, zkSummit9 starts tomorrow.

Nico: I'll put a shameless plug in for the band - we're releasing an album. Check us out on Spotify dude - HMLTD.

Anna: It's been so fun

Transcript
Anna (:

Welcome to Zero Knowledge. I'm your host, Anna Rose. In this podcast, we'll 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 online.

(:

This week I catch up with Guillermo, my sometimes co-host and Nico from Geometry. This is Nico's first time on the show. And so we started off with a little bit of backstory of how he moved from music to cryptography and chat about the research he's been doing. We then chat about some of Guillermo's work, which is about cleaning up and formalizing concepts in zk, as well as share some news insights from the ZK Hack, and generally check in on the state of the ecosystem. This is recorded right in the middle of the ZK Hack and zkSummit events, both of which were amazing by the way. And so we are all a little bit tired and decided to do this episode more as a casual one. But yeah, hope you like it.

(:

Now, before we kick off, I do wanna direct you to the ZK Jobs board. There you'll find jobs from top teams working in ZK. If you're looking for your next opportunity, be sure to check it out. And if you're a team looking to find great talent, please be sure to add your jobs there as well. I've added the link in the show notes now. Tanya will share a little bit about this week's sponsor

Tanya (:

Anoma's first fractal instance. Namada is launching soon. Namada is a proof of stake L1 for interchange, asset agnostic privacy. Namada natively interoperates with fast finality chains via IBC and with Ethereum via trustless two-way bridge for privacy. Namada deploys an upgraded version of the multi-asset shielded pool circuit, otherwise known as MASP, which allows all assets fungible and non-fungible to share a common shielded set. This removes the size limits of the anonymity set and provides the best privacy guarantees possible for every user in the multi chain. The MASP'S circuit's latest update enables shielded set rewards directly in the shielded set, a novel feature that funds privacy as a public good. Follow Namada on Twitter @Namada to learn more and join their community on Discord, discord.gg/Namada. So thanks again, Anoma. And now here's our episode.

Anna (:

So I'm here with Guillermo, who our audience knows, and Nico, who our audience might not yet know. And we are recording this the day after ZK Hack and the day before zkSummit. So we are currently in the thick of the Lisbon ZK events that we are doing this April. I mean, I'm thinking as a kickoff to this one, it'd be really cool to talk to Nico, actually introduce him a little bit to our audience. And yeah, just sort of a heads up to the audience. We are all very tired because ZK Hack was fun, but a lot of work and yeah. So bear with us, but I think we actually have some cool stuff to talk about. We're gonna do a little review of ZK Hack. We're gonna talk about some new research that's coming out. All right, let's kick off with Nico. Nico, you're a researcher, cryptographer at Geometry.Tell us a little bit about what you do.

Nico (:

Yeah, so I work on mostly zero knowledge proofs, but also usually privacy enabling technologies. So stuff like threshold signatures, threshold like schemes tiny, tiny bit of mpc, but not that much more and yeah, that, that's kind of the plan.

Anna (:

. Nice.

Guillermo (:

And I heard you were in a band. I believe it's HMLTD. Yep. And it, it feels like this is like there's someone else, another famous cryptographer, Matthew Green, right. Is like, yeah. Also like this, like musician

(:

Anna: in your band?

(:

Guillermo: No, not in the band, but I think it's a musician turned cryptographer also, or like musical engineer, but Okay. Yeah. What is the story there. Also like, is that part of the pipeline to you getting into ZK

Nico (:

So Yeah, a story there seems is music is the new segue into zk, right? . Like this it

(:

No, it's funny, I was listening to another episode of zk podcast, the one with Mabu recently, and he sort of says like, yeah, I started out as a, I think in music technology. DRM. And from there, yes, went to Privacy . And so it was a funny parallel because like, I studied engineering originally, forgot about it for a while. Did music full-time for two, three years. Did the whole like record label thing, touring, releasing an album.

Anna (:

Full deal.

Nico (:

Yeah, the full thing. And,

Guillermo (:

And sorry, what, what instrument do you play again?

Nico (:

I play bass. Ah,

Guillermo (:

Yeah. Okay. I got it.

Nico (:

Yeah. I usually hide in the back of the stage.

Guillermo (:

Nico (:

Yeah. So did that for a while. Touring and eventually Covid hits. So there's no more touring. Right.

Anna (:

Okay.

Nico (:

We had just released an album. luckily enough

Anna (:

Covid turned you towards cryptography then? Whoa, interesting.

Nico (:

sort of helped me, yeah, I guess focus, so I was already sort of doing music and cryptography at the same time. Started doing them together, sort of like taking exams and then taking the train straight on to stage, like in Liverpool to then play a show and then back to London, like it was

Anna (:

Wow

Guillermo (:

What

Nico (:

It was. Yeah. Yeah. It was a bit like crazy for like a week or two and I was like, can I actually do this? And then Covid hit, oh, it was sort of like simplified everything and I was like, ZK all the way kind of.

Anna (:Cool. So this is:Nico (:

It was not specifically like zero knowledge proofs, but it was like privacy technologies.

Anna (:

I see, okay.

Nico (:

So this was like, I was working on a thresholds team with like Philipp Jovanovich actually, from ZKV

Anna (:

Cool. Nice. My co-founder.

Nico (:

Yeah.

Anna (:

Tell us a little bit maybe about that co like what was, what were the exact topics or, yeah, parts of the privacy stack. What were you trying to solve?

Nico (:

So we're looking at a project, so let's say you sign up to Signal, Telegram, WhatsApp, whatever you want to know, like which ones of your contacts are also using that app. Right now, what WhatsApp and like Telegram do is you upload all your contacts to them. like, they, they get to store them and they get to see like who's friends with who essentially. Signal also requires your contacts, but they supposedly treat them like in an oblivious manner on Trusted Hardware and like delete everything afterwards. But they're still like this trust assumption. And so the question is, can we do the same thing of like contact discovery, finding who your contacts are without ever having to upload your contacts and without having to like broadcast, hey, I'm using Signal.

Anna (:

Okay. I wonder now, like the music part, I mean you, what you were actually doing is playing music. You weren't like studying musical form, but did you, like, had you looked at that? Like had you looked at like fast forward your transformations in the music context or anything like that?

Nico (:

So funnily enough, yes, but not through music itself, just cause I had like, I was doing an electrical engineering degree before.

Anna (:

I see. Okay.

Guillermo (:

A fellow electrical engineer, always fun,

Nico (:

Hi fellow

(:

But yeah, it's, it's funny how like I had to study these things and did signal processing and I was doing good, like, oh yeah, music fun, forgot about them get into zk suddenly like the popup again, like,

Anna (:

Oh,

Nico (:

FFTs are back. Like, what's going on here?

Anna (:

Oh, neat. So, okay. Cool. So that project, you were talking about this like sort of, you were kind of telling us a bit about that. This is, was that your like thesis at the time or? Yeah, that

Nico (:

Was like my master's, I don't know if they call it thesis dissertation in the uk. Like

Anna (:

Whatever the thing you were working on. Yeah.

Nico (:

Which I'm still working on today. We're kind of writing it into like a proper paper this time. Okay. And sort of building it with some people at Mysten onto like a properly distributed system and actually like trying it out.

Guillermo (:

And so, okay, fine. We, you know, you've given us the spiel, but Yeah. Like what, what, what does it do? Like how does it work?

Nico (:

How does it work? so it's based on what we call identity based encryption. So we use your phone number as a public key and we can derive a private key that corresponds to it. So usually these schemes, like traditionally use a central like trusted party that emits all these keys and you kind of trust that it's not gonna like, use your keys to impersonate you. Not desirable in our case, but what we can do is like distribute that party and say like, okay, this one trusted party is now a set of like thousands of parties and as long as a third of them are behaving, honestly, your identity is not compromised.

Guillermo (:

Here's a very dumb question from a non-cryptographer is how do you like derive a private key from a public key? Like, like normally right. These schemes, what you do is you like put in some randomness Yeah. And then you get out a private public key pair, and then you keep the private part private and the public part public. But like, I, you know, is is there a simple version of this?

Nico (:

There is, yeah. Very simple. you simply sign the public key.

Guillermo (:

Okay.

Nico (:

So the signature on the public key is now unique because the trusted third party has emitted it. And you can use that in some encryption scheme afterwards.

Anna (:

I don't really understand what you just, when you said it's signs on it, what do you

Nico (:

Literally a, a BLS signature? Like in the same way that I think validators on Ethereum use BLS signatures. Right?

Guillermo (:

Right. I think so. Yeah. Yeah. It's like I can just verify that the only way that this will like check will pass is like assuming you have your own signature and no one else has like, stolen your key. Like you're the only one that could have signed it in the first place. It guarantees...

Anna (:

But you're signing on, it's literally the way you just said it, that you sign 'on' the public key.

Nico (:

So no, I I'll sign your phone number. Yeah. Like if I'm the trusted party, I sign your phone number and you can now use the signature as your private key.

Anna (:

Okay.

Nico (:

We obviously have to do this in a way that you and I are the only people who see the signature. Because if you reveal it, you've now revealed your private key. so that's part of the protocol, like, how do we do this and how do we do this in a distributed manner where I am no longer a single trusted party. I am like one of the many people who can issue like a partial signature. And you're gonna have to collect enough of them. To reconstruct your party. This

Guillermo (:

Is still like very magical. So like, how does this like work? So Right. Like fine, I now have a signed version with some unknown key that hopefully no one else knows. It's like some toxic waste. and I now have a signed version of my phone number. How can I use that as like a private key that someone else can then like, encrypt something with the public key and then send it to me and then I can, I'm the only person who can unencrypt. Like, I, I, yeah. Like there's, you know, I now have a thing that is like unique to me, which is fine and it's somehow mapped to my phone number. How can I use that?

Nico (:

So without going too far in the details, you do a sort of key exchange where I use my signature, like my private key and your public key to derive a shared secret between you and I. You can do the same thing with your private key and my public key.

Guillermo (:

Ah,

Nico (:

Okay. And then we can use the shared secret for like a symmetric encryption channel. Got Yep, yep, yep,

Guillermo (:

Yep. Mm. Okay. Okay. Got

Nico (:

It. Got it. It's based on pairings essentially.

Anna (:

Like, I love, just, just a note too, I know I, I sort of just mentioned this, that we're between ZK Hack and zkSummit. So like you have two very tired people here. Thank you for explaining it in more detail.

Nico (:

Also, I haven't looked at this in a while, so hopefully this is not nonsensical.

Guillermo (:

Yeah. Like, I mean, like, I'm, I'm also just like totally fucked up explaining like, you know, a basic cryptographic thing, which is signatures like three seconds ago. So honestly, like who the fuck knows

Anna (:

But, so I, one thing I wanna talk about later in this episode is Sangria, the work you recently released and you're actually gonna be given a talk about it at the zkSummit. But yeah, before that I thought it might actually be fun to tell it, like, or to sort of set the stage a little bit for even this conversation if you're down, I wanna do a little bit of a look back over what has just happened this weekend. we had ZK Hack Lisbon. So ZK Hack, you know, it's been around for a while. We've been doing these online events. We did do two in-person parties, but this was the first time we tried to do an in-person ZK Hack. And we did it in the form of a hackathon. This was actually the first time we did a ZK focused hackathon. I know of ZK projects being hacked at other hackathons for a while, but I think this be one of the first actual focused hackathons.

Guillermo (:

Hackathons focused specifically on just zk, not like tooling and shit.

Anna (:

That's exactly what I was trying to say. No worries. You know what I really need like some sort of AI that just speaks for me that would like help me speak better right now.

Guillermo (:

Lucky for you. I think it might

Anna (:

If you, it might exist. Oh my God.

Guillermo (:

That's right. Not only exist, it might be a topic of conversation today

Anna (:

We are also gonna be talking a little bit about zkpod.ai but yeah, let's, let's stick to the ZK Hack Lisbon. So this was a weekend event. We went Friday to Sunday. We ended up with 33 projects submitted, which I was so excited about. I was very worried that like tooling just wouldn't be there and people would give up, but they didn't, they really pushed through and they built things.

Guillermo (:

Were you worried that you were gonna get like two submissions or something?

Anna (:

A little like, I mean, it's so wild because I really wanted to do this hackathon two years ago. And now I think like: Wow, it is so good we did not try it because, so we did get 33 submissions, but tooling was still very hard. Right. Yeah.

Nico (:

Even today, I like, over the weekend, a lot of people were asking about the tooling and yes, I think, I don't know if it was the same for you in your experience judging, but like I've seen a lot of projects that were using RISC Zero just because that was kind of a way to abstract away the ZK part, right? I can, people can work with the tools they know and then plug it into RISC Zero.

Anna (:

Yeah. I think, I mean, I also, I heard a lot of hackers would've started on one toolkit, one language and actually given up because something wasn't really quite ready or they weren't able to get it working fast enough so they would switch. Yeah. And so just picture, like, you have 48 hours and you've decided halfway through to switch to a new language, you don't know. So it's, it's hard out there. But I was so impressed that people put things together, got things submitted in time, and I mean...

Nico (:

The quality of the stuff we saw over a weekend was insane, honestly. This output, it was crazy. It's funny, cause at the same time as I was, I was trying to write my slides for zkSummit, right. In the time that it took them to come up with a whole project, like deploy a live demo, like write a full report, slides everything for a project that they barely started, I couldn't make slides for a project that I know in and out. Right. Like, so it's, it's pretty impressive what they've done.

Anna (:

That's crazy.

Guillermo (:

I was also on the same boat except I started my slides today at seven in the morning to try to get him in by noon, which apparently was the 'hard set deadline'.

Anna (:

This is the deadline it's today.

Guillermo (:

Yeah. It's been set except it was apparently all a lie

Anna (:

No, it's not a lie. It's real. It's real. I mean, we need them by tomorrow.

Guillermo (:

Yeah. Yeah. No, that's fair.

Anna (:

I mean, we're already cutting it a little close.

Guillermo (:

Anyway, so sorry. Okay.

Anna (:

So you helped work on, or like, I know you were thanked Nico about one of the connection points. This was like, so what we saw were, there were a few teams that really did ambitious tooling as part of the hackathon. Tell us a little bit about maybe the one you worked on or helped with.

Nico (:

So yeah. This was like in conversation with grjte from Polygon Miden. Like, we were just talking, she was saying like, oh, I've been wanting to write this ZK Mafia game for the longest time. Oh, that's awesome.

Anna (:

Oh yeah, she did

Nico (:

But yeah, but she's been very busy. Right. So she's like, all right, once we reached some stage of development, I can finally develop the game. And we were chatting about this, and like Gavin, who's like also a builder from London picked up on it. He was like, great. I'm down. Like, oh, Nico, you have this shuffling library. Can we use that for ZK Mafia? So we started riffing off of it and suddenly we realized all they needed to do was implement ElGamal encryption in Miden Assembly. Oh. Like they had everything else sort of ready for them and they just needed that. Originally they were like, let's do the whole game. And then quickly enough, they're like, alright, no, no, no, we're just gonna contribute to the standard library and like hopefully we can pick up from there next time.

Anna (:

Amazing. So, and that's, that's what we actually saw was like people adding real tooling. Real libraries, and I know there was another team Poseidon 2. I actually got to see them and they started recreating Poseidon 2 in all of the different, I wanna say DSLs, but it's almost like, like they brought Poseidon 2 to Miden. They brought Poseidon 2 to like a few different things.

Nico (:

Yeah, that's exactly it. Yeah. That's cool. But also Poseidon 2 is like super recent, right? It's like this,

Anna (:

Ye ye yeah

Nico (:

New version of the paper that came out like a month ago.

Anna (:

Exactly. So yeah. It's funny, what we learned from doing this hackathon was like we had just done a single pool... winner... Top Three... Hacker's choice. But now I know that for, for any future hackathon, what I really wanna do is have a track for tools and actually have prizes just for that because that is so valuable. But it's hard to, like how do you, how do you kind of like judge and compare, here's an application which you can kind of use, or here's like this exciting, shiny thing and then here's this really important, but like, deep in the weeds library that we made

Nico (:

So I guess this is where like the bounties kind of helped. Yeah. Yeah. And I think these projects were also enabled because people knew like, all right, even if I don't go for something nice and flashy and shiny, like there is something like light at the end of the tunnel kind of thing. Yeah. There is a carrot

Anna (:

There's something. Yeah. There's more than an Honorable Mention (Chewing Glass), which is what we had so far.

Nico (:

That's right.

Anna (:

So yeah, I just listed those honorable mentions. But there's, I'm gonna say a little bit about these winners. We had a general Honorable Mentions list. I'll say who the teams were. There was a Starksight, Zk-DTP, Zykloon, Sismord and ZK Wordle. I'll also, by the way, add a link to all of these projects if people wanna kind of check out what all of them did. And then our top three ZK Safe was third, ZKP2P was second. And this Project ZeroGravity, which was a ZKML primitive, basically was our number one winner. And it was so cool to see, we as an audience actually got to see the top three give presentations. Another thing I learned...

Nico (:

Live Demos.

Anna (:

Yeah! Live demos... in zk. What the hell? So this was like actually seeing three of them on the main, I was like, I think next time we should also have more presentations for everyone, because that was so compelling. I do want to also shout out though, Hacker's Choice: Fruity Friends. This was like a ZK social thing, they were, this was a voting that we did after kind of the judging had had happened. And they came in first on Hacker's Choice when the snapshot was taken. But I do wanna do a little shout out to Zero Trace, who was also a very close 2nd and apparently like took over them while I was on stage or like tied them. But anyway, so yeah, both, both of those teams seemed to be crowd favorites at the time. Yeah. I wonder if, is there anything else that we should talk about ZK Hack Lisbon? Any other like, takeaways

Guillermo (:ome of this stuff. Like maybe:Nico (:

The other thing I was very surprised, like how up-to-date with like the most recent stuff, the whole community is. The ZKML stuff was forefront. Kind of like, this is very, very cool. The second prize as well (ZKP2P). Like, they're using the ZK email proof, which is I think a library that was posted like a few months ago. You know, so it's, it's all very, very recent and people are already like iterating over these things and it's yeah. Really awesome to see.

Anna (:

Yeah. That the ZKML, the top prize, they had done, what was it? It was like, they talked about the challenge of doing ZKPs and cryptography plus ML because of different kinds of math that each of them used. And then they had found... which direction was it? in the literature? They went back in time in ML and found some type of math that had been used long ago that could fit better when combined with cryptography, what was it again? Do you remember?

Nico (:

So,

Guillermo (:

Weightless neural networks, I think is the name.

Anna (:

No, wasn't it like moving point something ...

Nico (:

So ... Floating point arithmetic. Yes. Like, so the issue is usually when you have like your regular neural networks, you have all these like, floating point numbers, so like 1.256 something high. Yeah. All these commas and all our SNARKs, we work with finite fields and those are like fixed numbers and we can't deal those comas or not very naturally at least. So that's a big overhead in the computation of your SNARK. So by using these weightless neural networks, like you no longer have to deal with this floating point arithmetic. And actually you can do this very naturally with lookup tables.

Anna (:

Do those weightless ones use finite fields then? Or it just works well in systems that do?

Nico (:

I think the latter. Okay. Like works where I'm like, I don't know, these fine, these weightless neural networks at all. Right. Yeah. This is a discovery for me as well. Right. I think it's just that, yeah. It, it translates more naturally.

Anna (:

Cool. Well, yeah, a big shout out to all the winners. And as mentioned, we're gonna add a link so you can check out these projects in more detail. Yeah. So let's... I mean, we can talk really briefly about looking forward tomorrow we have zkSummit. Oh God. Are you, you're both talking. We are. And Guillermo and I are hosting the main stage. Oh yeah. So that'll be fun. We have a huge day ahead of us. Oh my God.

Guillermo (:

I apologize in advance, Anna.

Anna (:

Don't apologize to me. Apologize to the audience. Oh, you're an amazing co-host on stages. Oh, we did ZK8 and I think it was a success. It was a lot of fun. Yeah. What, what else is going on? I'm just thinking in the ZK world, I don't know when this is gonna air. Right now we're recording this on April 3rd. we heard on April 1st that Plonk isn't real. That was good. It's not real. It was made up 2 sociology PhD students from UCL seeing how far they could get with a fake cryptography primitive. Yeah. I, I worry that this is gonna air so long after April Fools that people will just believe it. Yeah. It was a good one though. That was Zac from Aztec. That was great. Probably the best April fool's tweet I'd seen.

Nico (:

I did have to do a double take on it. Because like, the way it's worded, it's very much like, I'm very sorry to have to announce this, and I'm very sorry...

Anna (:

Looks there might be a bug or there might be.

Guillermo (:

Yeah.

Nico (:

Yeah. I was like, oh no.

Guillermo (:

But that, that was a great

Anna (:

One. I liked that. Yeah. Why don't we talk a little bit about projects maybe that are going on in our worlds right now. Guillermo, you've tweeted a few things that like hint at some sort of like ZK work. Tell us what is happening.

Guillermo (:

I guess I'll start with a disclaimer that I have no idea about anything about zk. I've just, I'm a com I've been LARPing the whole time. Yes. same with cryptography. I also have no fucking clue about any of it. But on the other handthe high level idea is the very small amount of ZK literature I've looked at, which happens to be negligibly small, it turns out it has like this fun little structure, which is so, you know, like in zk for the most part, we deal with like polynomials and polynomial expressions and like a bunch of things that like relate to these things. but it turns out like most of the kind of like techniques that are used with polynomials, like apply equally well to these more general concepts called like codes... like "error correcting codes".

(:

It's kind of weird to make this jump. But the point is, like a polynomial, you can think about it as like a certain kind of error correcting code where your message is like the coefficient of the polynomial. And like your error correcting code is like the polynomial evaluated over every single point in the field. it has a bunch of nice properties. The, you know, the easiest one being something like if I give you a non-zero polynomial all you need to do is you don't have to check that the whole thing is not zero. You just have to check like one point. And with high probability, if that evaluation is like zero, then the whole thing must have been zero in the first place. And they gives you a converse that says.

Anna (:

This is so cool. Nico didn't, we were covering this in our Whiteboard sessions, study groups, weren't we?

Nico (:

Kind of, so we were covering it from the polynomial side of things. Okay. Right. And we were describing it as polynomial. This is like a different way of describing the same thing. Interesting. but obviously with different ways of describing things, you have different perspectives and maybe some things are easier to think about. Better intuition, easier to prove. So might be interesting.

Guillermo (:

It's kind of funny cause Nico and I, I feel, I feel bad I like lectured or we had a, we had a long chat, which was mostly me ranting for like 45 minutes. Not ranting, just chatting about things about these things. But anyways, the point is, the polynomial part sometimes turns out to be very important, but generally it's actually kind of secondary to this like fact that you have like a, a specific code that has a certain property which is called like a large distance or something, you know? So that's one, one such case, like this polynomial zero check is what it's called. But you could imagine there's like a bunch of other kind of normal things we do, like folding schemes where you like fold over a bunch of like, you know, you have, you have, you want to check a property over a big, a set of a bunch of like objects. And what you can do is instead of checking every individual object, you can like kind of smash 'em together and then check it over that like, smashed together object. that reduces a lot of work,

Anna (:

Right? Oh,

Guillermo (:

Yeah. but the point is like, fundamentally what you're doing is you're not like these, these aren't like properties of polynomials or properties of like, these objects that are like linear. In other words, you can kind of add them together and multiply them together or multiply 'em by like fixed numbers and then add them together. And then you kind of say like, okay if every single object in my list satisfies a certain property... Right? That happens only when kind of a smashed like together object like satisfies the same property. And this turns out to be true for like, not just, you know, things like polynomials, but it turns out to be true for like a very generic class of objects that happen to be just, you know, what are called like linear correcting codes. So anyways, that's, that's the high level take. you know, I guess

Anna (:

What's ... is the work, the fact that you've, you're describing this thing, like how, what is the paper?

Guillermo (:

So the paper itself does... you know, these kinds of papers are, are weird because fundamentally they don't say anything right.

Anna (:

They say nothing.

Guillermo (:

They say nothing. Okay. In the sense of like, they

Anna (:

Like nothing new.

Guillermo (:

Yeah. Like, so, so it's, it's new. but it, it's another perspective of looking at kind of the same object. And it, it, it suggests

Anna (:

There might be techniques that could be used.

Guillermo (:

Exactly. It suggests that there are like, you know, what we're looking at is something a little bit more general than like the current thing that we're actually seeing. Right. So, you know, you, you can think about like the current space as like this like little sphere somewhere in like, you know, front of your face. In reality, like the same stuff that we look at for this like little sphere, like actually applies to like a much broader set of objects. and so this suggests like kind of interesting things like maybe polynomials are, are kind of difficult to deal with for some reasons. So one of them is, you know, when you use properties polynomials, you often have to take Fourier transforms of like things, right. Of these like objects. and you wanna avoid that for like computational reasons or for like, any other number of reasons.

(:

So this suggests that there like might be other things that we can use that satisfy kind of the same properties that we expect of polynomials, but instead of using polynomials, we can use something that might be easier.

Anna (:

Oh wow.

Guillermo (:

Cleaner, simpler, not always. But sometimes. So this is like this, it's a paper that does a lot of, I like, I love, I lovingly call it "janitorial work". Of like taking a bunch of like, things that look very different, cleaning it up a little bit and than putting it all in one kind of cohesive framework.

Anna (:

Cool.

Guillermo (:

That lets you like sit down and like study it, you know, and then it all fits in the same kind of like little category.

Nico (:

I mean those are super important, right? Because like, so today you go on any like, no, I'm serious. You go on any like zero knowledge like SNARK course and the first thing you'll see is, oh, a SNARK is a polynomial IOP with a polynomial commitment scheme. That sounds super simple, but it took us a while to get right and to get that abstraction right and to make it work. Once we had it, people could start reasoning about like, oh, let me replace this KZG with FRI and start doing like, super interesting things. Is that because until you have the janitorial work work, like you can't think properly about these things.

Anna (:

Was it originally like, because the first zero knowledge... first SNARKs, they were produced as one solid block. It was to try... like how did they tease that out, actually. The two even..

Guillermo (:

a lot of...

Anna (:

Was that Alessandro Chiesa?

Nico (:

I'm not sure.

Anna (:

Okay. Who?

Nico (:

Yeah, I think the interactive oracle proof paper, the first one is probably Chiesa. I'm not sure. Maybe Ben-Sasson, I'm not entirely sure. But it is this kind of janitorial your work, right? Like, you go in, you notice patterns, you sort of separate things and you say, all right, this falls within my pattern. But if we look at the pattern itself, can we come up with something else?

Anna (:

Interesting.

Guillermo (:

Yeah. It's, it's, I call it also janitorial work. Because in a lot of ways it's it's kind of funny because it's a little thankless, right? Like these are, I mean, some people get it, but for the most part they're like folk theorems or they're things that people kind of know. And when you tell that to them, it's very obvious. You're like, oh yes, of course that must be true. But some people unfortunately equate that to being like true and therefore easy as opposed to like, like, oh, like this is a nice abstraction. So anyway, so this is a, I have a whole long riff on this

Nico (:

It's like the bass player of knowledge

Guillermo (:

Yeah, yeah, exactly.

Nico (:

Just like sat in the back. It looks simple what you're doing, but if you don't do it, it'll crumble.

Guillermo (:

It's weird, right? So, well, thank you. That's far, far too kind. I think. I think it's much lower than the totem pole than that. But

Anna (:

The drummer, no. Yeah, actually the drummer's pretty good. The drummer gets to make a lot of noise.

(:

Triangle player.

Guillermo (:

I'm, yeah, the

Nico (:

Percussion I'm like the, the, you know, whatever, the people who like spend their time on like the lighting. But not even the lighting. It's the rigging. I'm, I'm the rigger

Anna (:

You are the rig guy.

Guillermo (:

I'm the rigger. That's how I am.

Anna (:

Nice.

Guillermo (:

All I do is rigging

Anna (:

Guillermo, actually a lot of your work does this kind of thing though. I feel like I've heard you talk about like formalizing lots of things. So you're just always the rigger everywhere.

Guillermo (:

I am always the rigger. It's, there's something, I don't know, there's

Anna (:

Poor people... Like rigger is probably a hard job actually.

Guillermo (:

It is. No, it's really hard. But I'm, I'm just saying it's thankless, right? No one is like...

Nico (:

So like you rigged the whole space.

Guillermo (:

Exactly. That's the secret. That's how you know this is why you know, these weird things are actually all lies is it's all rigged. It's all rigged. Nice. So yeah, so I dunno, I get a lot of enjoyment out of this. Like we, we've actually talked about this before ... quite drunkenly actually. This is, this is funny because this is I think one of the first episodes we've done like in person not smashed

Anna (:

Not drunk. God damn.

Guillermo (:

This one is only coffee

Anna (:

I dunno if I'm like, god damn, we're so bad, generally. Or I'm like, god damn it would be awesome to to be drunk right now.

Guillermo (:

Yeah.

Anna (:

No, no drinking this time folks, we unfortunately we have a lot of work ahead of us, so we have have to be smart, go to bed early.

Guillermo (:

Replace the, the mezcal shots with coffee, unfortunately, but yes. But yeah, the, the, the point is, you know, it's, I joke, but it's a search for the, like, the sublime. Not, not that I'm saying that any of the things that I do are sublime. They're in fact quite the opposite. They're rather silly. But, you know, it's, it's a good search of like the nice piece of art that like brings everything together.

Nico (:

Anyway, there is something very satisfying in finding that simple clean pattern. Yes. Simple clean abstraction. Yes.

Guillermo (:

It's a bit of an addiction.

Nico (:

The perfect IOP and the perfect polynomial commitment. And that's it.

Guillermo (:

Yeah. Super

Nico (:

Simple, super satisfying. Nice.

Guillermo (:

I've heard a bit about your work and I was trolling your profile or Twitter profile rather recently. but no, why don't you, why don't you tell us a little bit about it? I don't want to speak for you.

Nico (:

So I'm working on something I call Sangria and it's not cause I have a drinking issue. Like...

Anna (:

Like you two

Nico (:

It's a slightly mis-known thing that Plonk means bad wine. Yeah.

Anna (:

And

Guillermo (:

So really? Yeah.

Anna (:

I always thought it was a sound effect: "Plonk". But actually it's, I remember Zac telling me this, that it was like, Plonk is like crappy wine.

Guillermo (:

That's really,

Anna (:

So I got like drinking some leftover Plonk

Nico (:

Plonk gives me headaches. Yeah.

Anna (:

Okay. Plonk gives me headaches.

Guillermo (:

Oh, that's hysterical

Nico (:

His line. And so knowing that I was working on a system, where eventually you get something called Relaxed Plonk. I was thinking, okay, what is Relaxed Plonk ... if not Sangria,

Anna (:

Nice. Oh, that's great

Nico (:

Most of the work was in finding the name. The rest of it is kind of, yeah.

Guillermo (:

It just happens downstream finding the name of .... really

Nico (:

Of course. Oh no. So Sangria is kind of bringing the ideas from Nova and Nova's this paper that has like the kind of fastest recursion SNARK that we have. Bringing ideas from there, which is in the world of R1CS into the world of Plonk. It's, it's kind of what you were describing, like finding the pattern, generalizing like. What is it that allowed Nova to work, right? It's this folding scheme. And you were talking about earlier about those like smashing two things together into like a compressed instance. Nova does the same for R1CS. I was kind of looking at it, what is the pattern here? Found the pattern, apply it to Plonk, and now we sort of have the same thing, but for Plonk

Anna (:

Interesting. Nova, is it Supernova? Is it the same? Like what's this? Because I know the ... Is the paper called Supernova?

Nico (:

So there are two papers. One is Nova and then there's a follow up called Supernova.

Anna (:

What was the difference between those two?

Nico (:

Okay. So Nova sort of says, if the computation you wanna prove is the same function that applied many, many times, you prove the first time, prove the second time and compress them together into one. Then you prove the third time and compress that with what you already had. Like this sort of running instance and you keep going compressing. This works because it's always the same function and you're allowed to compress when it's the same function. With Supernova, they're saying what if the functions are different. And so they sort of describe how to do a similar thing with different functions.

Anna (:

Interesting.

Nico (:

So the idea now is like if you're trying to do a zkVM, you don't have to have like one circuit that does the whole processor. Right? You have a circuit that does part of it and another circuit that does some other part of it so that when you're doing cheap instructions, like adding, you can only call like the cheap circuit. When you're doing like a very expensive operation, you call the expensive circuit. And you keep it turning through that. Sangria is essentially what we call a folding scheme and it's one of the elements that build towards Nova and Supernova. Okay. So you can kind of take either of these, plug-out their folding scheme, plug-in Sangria, and that's it. It just works.

Anna (:

Folding scheme. What exactly is the folding scheme?

Nico (:

So folding scheme, I think Guillermo sort of touched upon it earlier. It's this idea that if you have two problems of some kind, like two Plonk circuits, you can compress them into one Plonk circuit.

Anna (:

Oh it is... Okay.

Nico (:

If you know, like a satisfying assignment for this compressed circuit, you must have known a satisfying assignments for the previous two. So you can think, or like a Sudoku for example. I give you two Sudokus rather than checking that you answered both. I'm gonna check a third one, which you could have only answered if you hadn't known the first two.

Anna (:

Interesting. Okay. Yeah. Combined or I mean, yeah, exactly. I don't know how you do it for Sudoku, but, okay. That makes sense. That's cool. Nice

Nico (:

That's like the main insight of Nova and like super clean abstraction from...

Anna (:

This is gonna be a bit of a dumb question, but like Nova, Supernova, what are they, like, are they proving systems? Are they like... where? I don't really know where in the stack they are. Yeah.

Nico (:

You know what? I'm not sure either. So no, they are, they describe like a succinct proof of incremental computation.

Anna (:

Okay. Are they like an architecture?

Nico (:

They are technically a SNARK.

Anna (:

Okay.

Nico (:

Like it boils down to a SNARK at the end, but it's sort of like the steps along the way that are interesting. And what kind of computation can you prove with those SNARKs?

Anna (:

Would there be any work that that sort of it drew on or changed from that we might recognize?

Nico (:

Yeah, absolutely. So this line of work is again, what we call incrementally verifiable computation. So I have like some function f applied many, many times, And what we realized like, all right, if I do the function f and I also have some kind of proof that I carry along and I update my proof every time, I'll be able to just check one proof at the very end rather than checking every step individually. Originally what we would do is like, all right, we have SNARKs. These are like super small proofs, super small verifiers. Surely that's what I should be doing. Right? Like, it's the most efficient thing I have. So we did circuits that do SNARK verifiers and like that was the first instance. Like that was the first time we tried it. And then like the Halo people came up with an idea. They're like, okay, actually you know what? I'm not gonna do the whole SNARK verifier. I'm just gonna do part of it in the circuit. And I'll defer some other verification to much later. And that line of work, if you keep following through, eventually we say like, oh actually we don't even need to prove, we'll defer proving till the very end. And that's what Nova does.

Anna (:

Oh wow. So it's on the, it's on the Halo 2 kind of like thought chain

Nico (:

Sort of Yeah. It's, it's following that direction. Yeah.

Anna (:

Interesting.

Guillermo (:

I have a feeling there's this fun game that we're like kind of all playing where we've come up with like a bunch of different categories for a bunch of different things. But I guess like the paper is fundamentally like, it's independent of approving system. Fundamentally. It's this question of like it uses some tricks, but the main thing is this idea that you can take in some instance... right? And then like, uses one math, it really has one mathematical trick. You know, the trick that doctors don't want you to know. But that's the meat of the thing, which is like you can kind of homogenize... well I guess that's really yours. But I'm going to use your, your terminology for this one because it's the *whispers* right abstraction, but it's fine. The Rightâ„¢ abstraction, which is like you can homogenize system of quadratics in order to like get this folding result that you want in the first place. Like what, what does one call that line of work, right? Certainly downstream of that line of work, you do get kind of this like very meaty, very useful result. But fundamentally it's like a single observation that you have here.

Nico (:

I think we're still in sort of complexity theory land, probably, right? Here are these problems and how do we solve these problems. Here is a problem, which is a composition of problems. How do I solve that problem? So that's what we're saying, like here we're composing in a very specific way, right? The output of one is fed back into the next... right. Et cetera, et cetera. I'd have to think some more about the...

Guillermo (:

Yeah. I don't know. I feel like we're getting up to the point where this is also kind of getting back a little bit back to the framework question, once you start cleanly separating parts of systems, your old nomenclature kind of goes out the window too because there's a notion of like....

Nico (:

It's the last time you've heard about a QAP. Q-A-P. Quadractic Arithmetic Programs

Guillermo (:

Quadractic Arithmetic Program. Okay. I don't even,

Nico (:

For a while, like you, you had to go through that step and in every tutorial you saw there was a QAP in there.

Guillermo (:

Interesting.

Nico (:

They've sort of disappeared today. Yeah. Because of the exact reason you were saying.

Guillermo (:

Exactly. So I, I feel like we're getting back to that point again. But with these, like in, cause you know what, what you do, you took an individual part of a big proving system, and then you cleaned it up really nicely and like, you know, what is it like, wiped it down and like put it back in and that was nice and shiny. Yeah. What do you call that part now?

Nico (:

No idea.

Guillermo (:

All right,

Anna (:

Cool.

Nico (:

Yeah. I'm not sure how you would call like these, these general problems, but what we could do is ask Anna, because I've heard you've recently been enhanced.

Anna (:

Enhanced

Guillermo (:

I would say detracted, but enhanced seems fine.

Anna (:

So, yeah. Since we're talking about projects in all of our worlds this is not really my project, but I'm involved in it somehow. So I don't know, people might have seen this over on Twitter, but we, well Kobi really created something called zkpod.ai, which is fed with all of the episodes from the show. And you can ask it questions and get my voice to read out the answer in a terrifyingly like close simulation of my actual voice.

Guillermo (:

It's quite close, but it still, to me it still sounds as pissed off Anna or annoyed Anna. Or why are you asking?

Anna (:

It's kind tired.

Guillermo (:

Not tired. But I think it's like, why are you asking me this question?

Anna (:

A little arrogant.

Guillermo (:

It is. Maybe it's funny,

Anna (:

It's overly confident and it says things sometimes that are kind of wrong.

Guillermo (:

Oh, that are totally wrong. Especially in Spanish. That was very funny.

Anna (:

Yeah. In other languages. I mean, just to give everyone a sense for what this thing actually is under the hood, Kobi fed it transcripts from our show and so when it's answering, it's actually drawing on knowledge that has been discussed by guests, primarily not by me. And, and then creates the answers in like, I don't actually know under the hood... Kobi's gonna come on the show at some point. We're gonna actually talk a little bit more about it. Yeah. It's a ChatGPT kind of similar thing. I mean, for me it was quite terrifying to see because it answers questions seemingly confidently. And maybe like I find out later, maybe not quite correctly, but seemingly very well questions I could never answer. Like it's my voice saying things I ca my brain could not up with. Oh. Off on the spot. I could read that I suppose, but it's quite, it was like pretty profound to see it. I got like,

Nico (:

Was it a shock to hear herself? Yeah.

Anna (:

Speaking like that. I mean, Kobi had been doing a bunch of experiments with like my voice and like some things and he would kind, he'd kind of send me notes being like, I'm sorry. And then like, show me

Guillermo (:

Something and I be like, ah, what you got some sort of progression

Anna (:

Toward this. Yeah. This was, this was the one that was like, he's like, no, I think that, so I think in the text I wrote a little piece on how I felt about when I saw it and, but what he had actually written for this one was something like, I'm sorry again because it wasn't the first one. But then he sent me kind of the full fledged thing where you could type in the question, click on my name and audio and have it actually work. And I remember, I mean, first of all, part of me was like, I sound smart, that's cool!

(:

That's awesome. And then I was like, oh my God, like this could be a great learning resource. Like things like it also searches in a way through the transcript for you and like creates these connections. And I was like, this is so brilliant. It's gonna be great for people who are using our podcast to like learn and stuff. It might even, maybe this could write documents and all these, but then I also had like a bit of a total freak out in crisis, where I'm like, this could be mistaken for me as well. And like, I don't have full control over what this voice says. Which makes me a nervous and like, yeah. So I've, and it's funny because like we ha we had it somewhat ready for about two weeks before we released it.

(:

Because I, and, and I'm really glad I had a bit of time to think about it and I really wanted to think about whether or not we release it this way. And like he had said, you know, we could put a different voice, we could change it up. Right. But actually I thought it was so powerful and especially given that like, this is the show that pe people recognize my voice from the show. I think it wouldn't have been quite as crazy if it was just a standard voice. Given that there is actually, you know, audio recordings of me anyways. So we yeah. We put it together. Kobi Well here was sort of the way we did it though. Kobi also put his own voice, right? Yeah. This was a way that I think it definitely felt like people can choose, it can also choose text. It's not always me.

Guillermo (:

I do have to say your voice is a lot more realistic than Kobi's. Yeah. He

Anna (:

Turned British for some reason. It's very strange.

Guillermo (:

I still haven't listened to the Kobi version of this. I've listened to exactly one transcript of you answer. Is it slightly curse? Okay. But I gotta do it. I feel like it's funny

Anna (:

Funny and yeah. So you can now put also different language. Like I, if you ask it a question in French, it'll answer in French. However, I speak French and that voice speaks bad French. Like it speaks French like if you're an anglophone who barely, who's like reading.

Nico (:

So it has an accent?

Anna (:

Yeah. It sounds like

Nico (:

Wow.

Anna (:

Sounds like lazy French to me. It's sort of like je ne sais quoi blah blah blah, it's still because you know the language, they took it from English

Guillermo (:

Right? Yeah.

Anna (:

Like it's so it and I guess maybe the timbre of my voice changes a bit when I speak French. Is that possible?

Nico (:

Probably yes. Yeah. I think people have very different voices in different languages.

Anna (:

Nico (:

At the front of the mouth. French is like at the back. Sorry I just realised

Anna (:

We should probably

Nico (:

We've stepped into an alternate reality where like Google translate just turned on and I'm like, oh God no, how do I turn it off. Like I set the menu wrong. What did I do? I realized maybe your listeners don't want to hear us ramble in French.

Anna (:

Well this is good cause we'll feed this into the model. Yeah, exactly. This is awesome. Maybe they'll get my French right Eventually, but Yeah, and my Spanish to me, I'm like, wow, I sound great. But I bet you I sound like an English person speaking Spanish badly

Guillermo (:

I'm very curious. I have not, when, when I tried it, I tried feeding it. Well first things first. It got the, like the classical canonical example of like, how do I explain a zero knowledge proof to like a five year old. Actually how do I explain a ZKP to my Grandma,

Anna (:

Oh, okay, okay.

Guillermo (:

It a) got it completely wrong in Spanish. Like you said something like that sounded vaguely right, but totally nonsensical. And then the service went down and I could not actually hear it.

Anna (:

Well, you could try it now

Guillermo (:

Yeah now I'm curious to hear cursed Spanish Anna.

Nico (:

Gonna be great.

Anna (:

I wanna say even in English, my voice is not exactly correct. And the thing I've noticed is sometimes I'm saying a word that sounds really American. I think I have sort of a generic North American accent, but I am from Canada and there are like super subtle ways that I'll say a word differently, but I do wonder if it's possible that there have been variations a little in how I'd say a word and I don't know why it picks this like, American style.

Guillermo (:

It could also just be right, like the model is probably trained unlike pure American city, slicker American, you know, the way we all speak at as right now. But like plus or minus variations. Then it doesn't pick up on those like, like nuances and pronunciation. Becayse it has like a very like whatever, I don't wanna say hard,

Nico (:

Heavy. Kobi tried to train the same model on a colleague's voice who's a Serbian and who speaks with like an Eastern European accent. And that was completely off.

Anna (:

Oh, it just

Nico (:

That like kid,

Anna (:

His voice, it didn't get Kobi's either. Yeah, exactly.

Nico (:

Yeah. So this, this thing is kind of fine tuned for American. That's why I'm saying like, it has an accent, I guess when it speaks French because maybe it has like, I mean somehow incorporated like these sounds or I

Anna (:

Think it's English sounds trying to speak French. Yeah, exactly.

Nico (:

Exactly. Which is what an accent is. Yeah. I guess, yeah. ZK coming into this, like in your post you talk about like wanting to be able prove that it is you indeed speaking and not like this AI,

Anna (:

So I think that's what made this also, I felt like it was actually a really kind of important experiment to share because, I mean, the reaction I had was kind of visceral. Like I had a bit of a crisis. I'm still having a bit of a crisis, I'm still like, is this thing gonna replace me? And what does that mean to be doing a job in the future? Like, and part of me is like, how could I use it? Maybe it's awesome. Maybe it could like help.

Nico (:

All right. Can't be bothered to record this week.ZK Pod, can you do it?

Anna (:

Yeah, just get into to read stuff for me. I don't know. Like I have to read stuff.

Guillermo (:

Something you just drop one in there and see if anyone notices the difference. You just don't say anything. You can make

Nico (:

Audiobooks

Guillermo (:

Ooh, that's big brain.

Anna (:

But, but as an experiment, I also thought it's kind of crazy that like, we did it on this show because you could do this to any show.

Guillermo (:

Right?

Anna (:

Right. Any topic, whatever. But like in recent episodes we've talked about how ZK could be like a bit of a solve for proving like deep fakes versus actual footage. Like you can actually, you can use cks to prove providence of like images. For example maybe you could use ZK to prove providence of audio if there was something like an attested sensor in the microphone, which means like the microphone itself starts to make a signature saying like, this was recorded at this time. That's I think the closest you can get to like, getting a voice into something. That would be attested and like for sure true and correct and not fake.

Nico (:

Is that enough though? Could I play ZK Pod through a speaker and have a microphone next to it?

Guillermo (:

There's actually fun techniques to distinguish between really real. Yeah. So this is a kind of popular thing. I mean, maybe not post, actually even post editing, I think it's the case. I didn't know this, but they like, you know, when you like go and you submit your photos to a, like competition, you actually don't submit just the like edited photo. You actually submit the original raw file and there are like people whose entire job it is to figure out if you doctored the raw file wow. To make it look better than it actually is. And it, there's like very clear signs. Interesting. Interesting. But I don't know how you could, you know,

Nico (:

Probably the same applies to

Guillermo (:

I suspect so as well with sound.

Anna (:

Well, so this attested sensor thing. It actually, like we talked about in the context of cameras and photos and I don't know if attested sensors exist in microphones yet. Apparently. Like, it, it, there is some trade off. I think it's something expensive somewhere. Like there's some reason why you don't have it everywhere.

Nico (:

Right. You'll definitely have some latency. You need to do some cryptography on it immediately, so that's

Guillermo (:

Right. Yeah.

Anna (:

Right, but this experiment, this thing existing all of a sudden I was like, well, that idea of the deep fake versus the real that all of a sudden becomes very, very real. Because now there is constantly gonna be little clips of me talking that I've never said and could be slightly wrong. And I would like to be able to say, yeah, that is fake. I mean, and here is why here, here's this is this is true, these are real things. Or like just being able to like put a stamp being like, this is real content. So

Guillermo (:

You can already do that. You know, take a signature scheme, right. You go like, make a private public key pair post your public key, which is, I think this is pretty cool. I think this would probably be the first podcast to do it. I don't know. I mean, maybe not. It's, that's that's a very strong claim nowadays. But, and then what you do is you just sign all of your recordings and you're like, this is Anna certified. I am chilling. This is me guaranteed TM a hundred percent organic fair trade content.

Nico (:

Sort of we're trusting her, we're trust guaranted that of course she attested it, but yes. Right, right. Maybe Anna is using the AI to, oh, this is, she's signing them and not telling us

Guillermo (:

This is true. She could be. Maybe

Nico (:

It's just you and I in a room and zkpod.ai. Oh.

Guillermo (:

Oh, it's all been fake. Yeah. Oh wait, oh

Anna (:

Even even the attested sensor one. I do wanna kind of finish that thought because that is just like, that would be on the raw right? If we did a signature on the thing. But what it, where it becomes interesting is like through an editing process. That's right. Still being able to prove providence of that original like the link back to the original file. Yeah. That is something that I think would be super

Guillermo (:

Interesting. That's definitely super cool. I don't, I think

Anna (:

This is more like if I really need that, but it's like maybe the signature is just enough for now, but it's like, but like on some level I did start to think like proving something's authentic, proving something comes actually from me. Yeah. Like that would be something that all of a sudden I think I need, which I never thought would be

Nico (:

Yeah. No, the signature might even be overkill. Yeah. In the sense that very few people are actually gonna go and check it.

Guillermo (:

Right? Oh, that's right. Well you could just, you know, have it for fun and then have, you could make it a, a little JS script that like, yeah. You play an episode and then you check it with with the public signature. That would be cool. Very good.

Anna (:

That

Guillermo (:

Be cool. Yeah. You should do it.

Anna (:

That's ZK hack. Should I hack that?

Guillermo (:

You should hack it. I believe any this is gonna be great. Yeah. I mean, you just like, you know, you sign the final edited recording, post it on the side and say, all right, here's, here's the, you know, the public key. It's great. Go check it if you if if you dare.

Anna (:

Yeah. So, but as mentioned, I know that like we do wanna do an episode where we dig into exactly what that is. A lot of the ideas that I know Kobi's had for like, things we can do better. One of the issues I would say is like the transcripts for this show, unfortunately, like, you know, we've been, I think we've done over like 150, but often they've been generated by like a transcript maker. Edited by a person, but not always a technical person. And so there's mistakes in it. And I tried to do a lot of the early ones and, and I had a few people on, on the team who were able to do really, really good ones. But we are actually one of our big projects for the new, for, for April for the new quarter is basically to find ways to crowdsource better transcripts because we need eyes on this. Yeah. I think people who just read our transcripts probably constantly are seeing these annoying things.

Nico (:

I mean imagine all these like weird names that we have all these acronyms.

Anna (:

Like I don't blame, like the folks I have like are doing these transcripts are amazing.

Nico (:

Right.

Anna (:

It makes the English grammar great. It's just there are so many industry specific things. Yep. And it's so, such like you have to be so focused. So yeh, so far we haven't kind of found the perfect formula, but,

Guillermo (:

So I rarely listen. Actually I think I listened to one ZK podcast. Sorry, maybe I shouldn't have been this on air.

Anna (:

Your transcript reader guy

Guillermo (:

So I mostly read the transcripts and that's how I realized that I slur when I speak English because it doesn't get it is because sometimes there's like inaudible or like, I have no idea, you know, like essentially like there's something that, that like kind of half maps to the right thing, but not quite. So anyways that, that would be the crowdsourcing transcripts would be pretty fun.

Anna (:

I know, I think, I mean we're gonna really try to do that. So Yeah. Anyone listening, if you are more reading, like you're more of a transcript reader and you've noticed super annoying things in our transcripts. One, I'm sorry. Two, we now realize this is a bigger issue than we thought. Cause it's not just people reading it and seeing something wrong when we feed it into a model, it also gets stuff wrong.

Guillermo (:

Oh, that's very funny.

Anna (:

And it doesn't make some connections and yeah, I mean we have to fix it in a way for that to become more accurate. And to be a more powerful thing. But yeah, like as mentioned we'll do, I'll do a full, a full one on that. I don't wanna actually reveal too much because like Kobi should be on the one we do so he can share more about, especially about the plans. Just thinking about like, you know, latest ZK news. I wanna ask the two of you, who is the realist zkEVM?

Guillermo (:

Oh no

Nico (:

Oh actually it's, we saw it at the hackathon, it's ZK hack. We saw the first ZK ZK zkEVM.

Guillermo (:

Oh, that was very massive. Yeah.

Anna (:

Yeah. Yeah. It, it was Aztec Connect,

Guillermo (:

So

Nico (:

It was Aztec Connect being deployed on Scroll.

Anna (:

Hilarious

Nico (:

With some caveats. That was so impressive, obviously. But yeah, it's, it's a funny idea.

Anna (:t these rollups and stuff, in:Nico (:

Oh, I see.

Anna (:

And I, I mean, I think a lot of the architecture was already set then. So it might be interesting. I'll try to dig them up. Like that just might be interesting for folks to read or to, to listen to.

Nico (:

Or read

Anna (:

Or read!

Nico (:

Potentially.

Anna (:

Yeah. Fair

(:

Now all of a sudden I'm like, no one actually listens. It's all, everyone's reading, and it's all wrong. Oh no!

(:

That would be interesting to try to figure out the percentage of like, "listeners" who are actually not listening, but reading. Yeah. I don't know how to do that.

Guillermo (:

This is a record. Like if you read

Anna (:

You, I don't think I have a stat. Like, I don't think I can

Nico (:

You can do a little poll.

Anna (:

Yeah, I should do a poll. That's a good idea

Guillermo (:

I definitely read way more than I've listened to.

Anna (:

Wow.

Guillermo (:

Like a lot.

(:

Like actually I mostly read them.

Anna (:

Wow. I know Giorgios told me he did too and he didn't listen to them. So I know two. Yeah, I know two readers now. Oh

Guillermo (:

No.

Nico (:

But okay. With respect to the zkEVM thing, Kobi brought up something interesting the other day on Twitter, which we sort of lost track of why we were doing zkEVM. Like, it was supposed to be a segue from like, we have a lot of solidity contracts that exist. Can we pour those into like something scalable? Yeah. Let's just make sure that our scaling solution is compatible with the EVM. If it is just like a transition period, why do we care so much, so strongly now? Right? Like, it's supposed to be like temporary.

Guillermo (:

There's a fundamental question, right? Like, I think the assumptions are like twofold, right? One of them is this is a temporary thing and it's gonna exist over the next five or 10 years. And then, you know, post that you're just gonna use like languages which are designed to be ZK and efficient for ZK and things like that. There's also a second point, which is EVM and associated tooling has reached like escape velocity and it's gonna be the next JavaScript.

Anna (:

Hmm.

Guillermo (:

Right. Like thing that no one really likes to do. Yeah. Like Solidity is just gonna be like

Anna (:

Wow,

Guillermo (:

Like JavaScript, it's a thing no one really likes to do. Everyone agrees that it mostly sucks. For any variety of reasons, but you know, we're still stuck with it. And we have TypeScript, which is like this very complicated type system, but what does it do? It compiles down to JavaScript. Yeah. Right? And sure, it gives you more guarantees, but at the end of the day, it's like you've stuck a little smiley face on like the monster, like the Eldridge monster with all the eyes and stuff. And sure we could pretend it's much nicer, but fundamentally you still have a monster in the back. So I don't know.

Nico (:

There's, so you think we're married to the EVM and like yeah,

Anna (:

That's is an interesting perspective. I don't know if I fully agree with that I don't know. I I mean, I don't know if I agree with that. I'm just saying like, that is

Nico (:

Yeah, that's, it is reasonable

Guillermo (:

The argument actually, the, the answer is I have no clue. I actually have not that much of an opinion on it, but I actually have no clue. I'm just like this, I mean, someone told me this and I was like, oh, actually that, that makes sense, right? Like, you, you could imagine that like, crap, here we go, JavaScript number two. And it's like, you know, now maybe with WASM or maybe gonna start getting divorced from that, but it's gonna take a long time. And JavaScript's been around since, you know, whatever his name is, made it up on a weekend and was like ah, yes. This is gonna be like our stepping stone language. For like the web. Right. And here we are like, you know, writing, our processors have specific instructions that all they do is convert certain numbers from JavaScript formats to not, so it's we have, wow. At this point it's etched into the hardware, right? Yeah. It's rather unfortunate.

Anna (:

Would JavaScript never be replaced?

Guillermo (:

It seems that if things go the right way, TM and things like that, you could imagine that like WASM itself becomes like the new kind of what do we call neutral computing? Yeah. Like intermediate language. Like, I want to, I'm not gonna call JavaScript or

Nico (:

Like, but like still right now people are writing JavaScript and compiling, get down to WASM. That's right.

Guillermo (:

It's like, that's right. It's still the same fundamental problem. Yeah. So I don't know. Yeah. And it's like, you know, WASM is like kind of a weird intermediate thing that like you can kind of compile ahead of time or just in time or things like that. But it's, it's still like weird, right? It's not like without its own like kind of, you know, CREP and

Anna (:

Question for you. It wasm or is it WASM? Because it's web assembly. Oh, assembly. Yeah.

Guillermo (:

Assembly.

Anna (:

WASM

Guillermo (:

I feel really bad because I actually cannot pick between those

Anna (:

It's not o-ssembly, it's a-ssembly

Guillermo (:

Like

Anna (:

WASM. Yeah. I say WASM.

Guillermo (:

Yeah, WASM.

Anna (:

Yeah. I don't know. I say WASM, I would say WASM.

So we figured out nothing! But I finally got to talk about that. I think I got to talk about it on another show but halfway through I switched (on-purpose).

So yeh, we're going to have to sign off pretty soon, zkSummit9 starts tomorrow.

Nico: I'll put a shameless plug in for the band - we're releasing an album. Check us out on Spotify dude - HMLTD.

Anna: It's been so fun