The Index Podcast
May 2, 2024

Zero-Knowledge Proofs: Privacy and Innovation with Houman Shadab and Wyatt Benno of ICME and NovaNet

This week on The Index, host Alex Kehaya dives into the future of zero-knowledge proofs (ZKPs) with guests Wyatt Benno and Houman Shadab, Co-Founders of ICME and NovaNet, a groundbreaking P2P decentralized proving network. The conversation spans the current ZKP landscape, exploring its potential for future Web3 applications. Wyatt and Houman unpack the regulatory and legislative considerations surrounding this innovative technology and discuss how zero-knowledge proofs redefine the bounds of sensitive information to protect privacy.

Host - Alex Kehaya

Producer - Shawn Nova

 

 

Chapters

00:06 - Exploring Zero-Knowledge Proofs With Innovators

09:51 - Utilizing Zero-Knowledge Proofs for Decentralized Compute

17:37 - Zero-Knowledge Proofs in Web3 Gaming

24:48 - Developing ZKP Network With Wasm Integration

Transcript
WEBVTT

00:00:06.229 --> 00:00:10.154
Welcome to the Index podcast hosted by Alex Cahaya.

00:00:10.154 --> 00:00:35.996
Plug in as we explore new frontiers with entrepreneurs, builders and investors shaping the future of the internet hey everyone and welcome to the Index.

00:00:36.460 --> 00:00:43.694
I'm your host, Alex Cahaya, and today I am excited to welcome the co-founders of ICME and Novanet.

00:00:43.694 --> 00:00:51.857
Welcome the co-founders of ICME and Novanet, humaan Shadab and Wyatt Benno, who specialize in building highly portable and efficient zero-knowledge proof technologies.

00:00:51.857 --> 00:00:53.728
We're going to dive into exactly what that is.

00:00:53.728 --> 00:00:54.674
Thanks for coming on the show.

00:00:54.674 --> 00:00:55.841
I appreciate you guys being here today.

00:00:56.182 --> 00:00:56.923
Thanks for having us.

00:00:56.923 --> 00:00:58.347
Yeah, thank you for having us.

00:00:58.927 --> 00:01:01.133
So maybe we'll start with you.

00:01:01.133 --> 00:01:07.052
Wyatt, Would love to just hear a little bit about your background and how you got into building what you're building now.

00:01:07.659 --> 00:01:09.725
Yeah, I am a technical founder.

00:01:09.725 --> 00:01:11.912
I've actually done a bunch of companies in the past.

00:01:11.912 --> 00:01:16.453
I work for private equity and also work for VC on MVP projects.

00:01:16.453 --> 00:01:25.287
My last project was actually a secure office space in 2019, which is a virtual office room that's digital and you have meetings with people in this virtual space.

00:01:25.287 --> 00:01:27.739
People thought it was really stupid in 2019.

00:01:27.739 --> 00:01:29.527
Like, why the hell would anyone want to use that?

00:01:29.527 --> 00:01:34.528
But then the pandemic happened and I was living in Japan at the time and every major university in Japan was using it for lectures.

00:01:34.528 --> 00:01:38.430
That was acquired summer 2021, and I jumped back into Web3.

00:01:38.430 --> 00:01:43.823
And that's where, as a technical person, I saw the challenges of like, say, lawyers and marketers getting to Web3.

00:01:43.823 --> 00:01:53.811
And ICME was actually started as a no-code slash, low-code Web3 infrastructure suite, but people actually asked us to do ZKPs and that's kind of how this whole work on zero-knowledge proofs was started.

00:01:54.653 --> 00:01:55.853
And what about you, Hooman?

00:01:55.853 --> 00:01:56.954
How did you get involved here?

00:01:57.834 --> 00:02:06.674
Yeah, my background is as a lawyer and as a law professor, and I was writing relatively early to the crypto space, like in 2014.

00:02:06.674 --> 00:02:18.510
I was writing things about how Ethereum is not a security and DAOs and things like that also, though at the same time, I got very inspired and interested and excited by the startup world, crypto or otherwise.

00:02:18.510 --> 00:02:22.126
So, as a lawyer professor, I had a startup.

00:02:22.126 --> 00:02:30.983
We were doing like smart legal contracts and trying to connect it with either public or private blockchains that were there sort of at the time really Ethereum or things like Hyperledger.

00:02:30.983 --> 00:02:35.823
That company was acquired by DocuSign and then after that, I got really into no code.

00:02:35.823 --> 00:02:39.972
I'm all about, forget about coding, everyone's a developer now.

00:02:39.972 --> 00:02:45.419
So I started like a competition league, but I still kept my passion in crypto alive.

00:02:45.419 --> 00:02:48.150
I'm like gosh we've got to combine no code with crypto.

00:02:48.759 --> 00:02:57.335
That's how I got into the ICME space and connected with Wyatt, because he had the idea, but he could actually build things with the code for no coders.

00:02:57.335 --> 00:03:07.393
So we connected on ICME through a grant that he received, and so the genesis of that was basically let's make everyone a crypto developer.

00:03:07.393 --> 00:03:25.495
Then, you know, one of the use cases that people really loved a lot was wanting more exposure to and make it easier to build with ZKPs of course, and that's kind of how we ended up in part on Novanet with just like really, you know, making it easier for folks to get into this ZKP area.

00:03:25.495 --> 00:03:28.725
I'm sure Wyatt will tell you a bit more about soon.

00:03:28.725 --> 00:03:31.872
So that's kind of my journey into the space.

00:03:31.872 --> 00:03:34.725
I wrote a LinkedIn post called no Code Crypto.

00:03:34.725 --> 00:03:37.193
I think Wyatt saw it or shared it with them.

00:03:37.193 --> 00:03:42.211
I think that's kind of like maybe how we really got together at that point to work together.

00:03:42.740 --> 00:03:47.852
I'm interested to learn more about ICME and what the use cases, like the no-code use cases, were.

00:03:47.852 --> 00:03:55.330
You sound like there were some legal use cases and then sort of what led to the need for zero-knowledge proof technology behind that.

00:03:55.330 --> 00:03:58.710
Can you walk me through the various types of users you were talking to at ICME?

00:03:59.719 --> 00:04:07.413
One, really easy one, was actually a lawyer who wanted to hide things in a will, show the fact that a will existed with certain terms without exposing those terms, which obviously could be sensitive.

00:04:07.413 --> 00:04:11.229
So they're privacy-based use cases that were most important to most people.

00:04:11.229 --> 00:04:16.353
When people hear about ZKPA, they think of like scalability, startups like ZK Rollups and ZKL2s.

00:04:16.353 --> 00:04:18.141
We're definitely not that.

00:04:18.141 --> 00:04:22.091
They're actually used for other things as well, like privacy and also verifiable computation.

00:04:22.091 --> 00:04:29.339
So most of the users are actually interested in ETH privacy or verifiable computation, rather than scaling ETH, especially for the Web2, such as early Web3 users that we saw.

00:04:30.079 --> 00:04:36.386
Before we get too deep into this show, maybe it's a good idea to just explain what zero knowledge proof is.

00:04:36.386 --> 00:04:37.382
That's ZKP.

00:04:37.382 --> 00:04:43.310
For people who have no computer science background, it kind of explain what it is and why it matters.

00:04:44.160 --> 00:04:52.809
The way I normally very simply explain it is it's a mathematical protocol that allows you to prove things without exposing the content or witness of what you're proving.

00:04:52.809 --> 00:04:58.411
It's used generally for three things, which we already mentioned scalability, privacy and verifiable computation.

00:04:58.411 --> 00:05:07.767
Most people in the space are very focused on scaling Ethereum, so the vast majority of people actually they use the term ZK, which is zero knowledge, but it has nothing to do with privacy whatsoever.

00:05:07.767 --> 00:05:17.687
In the space, we actually have something called ZK, zk or ZK squared, which we kind of joke about as being privacy-focused startups, and then there's just regular old ZK, which are just scalability or verifiable compute.

00:05:18.240 --> 00:05:19.043
From my perspective.

00:05:19.043 --> 00:05:28.473
You know, I think, like a lot of us in the space, we became familiar with zero-knowledge proofs through the Zcash project and some of the innovations they brought to the market with privacy coins.

00:05:28.473 --> 00:05:38.591
I remember meeting Zuko very early on, before he really launched the project, because there were certainly legal issues he was grappling with at the time and that was pretty interesting to think about.

00:05:38.591 --> 00:05:46.571
But I kind of forgot about ZKPs, didn't follow their development, until Wyatt really himself brought it back to my attention.

00:05:46.571 --> 00:05:52.343
I think he was doing a lot of research and connecting with people in the field Coming from like a legal or enterprise perspective.

00:05:52.363 --> 00:06:08.276
I think ZKPs are also cool because they do provide this like real strong I guess it's still probabilistic but like almost absolute certainty about something without having to go through the blockchain verification process of it, as well as decentralization.

00:06:08.276 --> 00:06:13.672
You know we can talk about how our project, we can really support decentralization to the utmost.

00:06:13.672 --> 00:06:38.303
I think ZKP at least have the potential to also further decentralization, which matters, I think, to everyone on Web3, hopefully but I think it also matters for law and regulation too, because arguably at least certain aspects of Tornado Cash, for example, as a payments provider or payments infrastructure, do not fall in the category of like a regulated payment system, precisely because they were using ZKPs.

00:06:38.303 --> 00:06:41.492
So I think there's these really interesting kind of side benefits.

00:06:41.720 --> 00:06:42.802
Can you expand on that?

00:06:42.802 --> 00:06:45.310
What's the legal argument there?

00:06:46.201 --> 00:06:46.882
In the law.

00:06:46.882 --> 00:06:53.244
If you keep people's data or you have control over things, like a custodian, then you're subject to regulations.

00:06:53.244 --> 00:06:58.987
But if you're not actually having access to people's data, you're not storing it, certainly, or even access to it.

00:06:58.987 --> 00:07:27.704
If you don't have control over people's assets or passwords or other information, then you don't fall into certain categories under payments law or like securities custodians, that type of thing, because with ZKPs you're not sharing control, you're not sharing data or information, you're sharing a proof of those things, and a proof of those things by itself essentially is meaningless in isolation and at least doesn't confer the responsibilities that regulation would otherwise impose on you.

00:07:28.326 --> 00:07:34.531
There just isn't the regulation in place, but it's probably something like a gap that they would try to close.

00:07:35.721 --> 00:07:41.182
I'm not sure, because if I know your health information, yes, then I'm regulated as a healthcare provider.

00:07:41.182 --> 00:07:52.913
But if I only have a proof of your health, that you have a certain range of, let's say, blood pressure, or you're a certain age or something I don't know your actual age, not to mention your actual identity there's really no reason to regulate.

00:07:52.913 --> 00:08:08.632
In fact, people in the privacy realm like ZKPs, precisely for that reason that they really support or enhance or make a lot of privacy laws and compliance obsolete or unnecessary because you're not sharing that information that triggers the laws in the first place.

00:08:09.295 --> 00:08:20.857
One thing I'd like to add there as well is, for example, if you had an inference model running locally on your computer and it scans your iris and takes biometric data, if you're sending that data to a company it's extremely intrusive About ZKP.

00:08:20.857 --> 00:08:26.624
What you can technically do is prove you ran that model correctly, give them the proof and never expose any of your biometric data.

00:08:26.624 --> 00:08:36.219
So there is pretty good use cases just from local verifiable compute in terms of privacy and you never no data actually leaves your computer other than the fact that you have the proof.

00:08:36.919 --> 00:08:37.421
Oh, interesting.

00:08:37.421 --> 00:08:41.210
Yeah, so you can run the AI locally on your computer.

00:08:41.210 --> 00:08:43.073
That's doing the inference which we talked.

00:08:43.073 --> 00:08:46.283
I actually talked about this yesterday on a different episode that I was recording.

00:08:46.322 --> 00:08:50.004
But the difference between like inference and training, I think a lot of people don't really understand what that is.

00:08:50.004 --> 00:08:55.687
But essentially scanning your iris and then it uses AI to do something with that information.

00:08:55.687 --> 00:09:08.192
Typically you have to send that information back to a server where then the AI can determine the whatever it is that needs to determine like that it's your identity, for example but in this case it never actually gets your iris image.

00:09:08.192 --> 00:09:14.187
It just stays under your computer and it gets a proof that says, yes, this is actually the iris image of this person.

00:09:14.187 --> 00:09:23.070
In that way, you're not like actually giving it your your eyeball scan, which would be nice, right, like I mean, I, I use clear at the airport.

00:09:23.070 --> 00:09:28.664
Yeah, they definitely have my eyeballs and my fingerprints in a database somewhere, which doesn't make you feel that great.

00:09:28.664 --> 00:09:39.254
So this is a mobile proving network, basically, so it like allows you to run ZKP on your phone or on like a laptop, the zero knowledge proof technology that you're building.

00:09:39.576 --> 00:09:41.159
Can you walk me through how that works?

00:09:41.159 --> 00:09:42.322
Like is it all on mobile?

00:09:42.322 --> 00:09:43.746
Is it on just is on desktops?

00:09:43.746 --> 00:09:44.677
How does this work?

00:09:45.100 --> 00:09:51.080
yeah, it's actually not running on phones yet, um, but the way we like to explain is there's two different ways to think about zkps.

00:09:51.179 --> 00:09:58.985
Right now there's like starks and fries, which are very fast but very memory intensive, which means you need special hardware, maybe a special server farm, to run them.

00:09:59.346 --> 00:10:10.855
And there's something called IVC, which means incremental, verifiable computation, which is can break these things up in little bits and run the bit by bit by bit by bit, and they're extremely memory efficient, which means you can run them with many different types of devices.

00:10:10.855 --> 00:10:29.686
So there's a long line of works in the IVC camp, but most recently people might know Nova, supernova, hypernova there's a whole line of those and what they allow you to do is basically run these proofs in more places, because you can do it with different memory properties, and with that you can get better privacy, because the only true way to have privacy is if you run it locally and then post the proof on chain.

00:10:29.686 --> 00:10:34.966
The moment you give your data to a centralized proving infrastructure or server, you don't have privacy anymore.

00:10:34.966 --> 00:10:40.160
You sent it away, someone else is doing the processing.

00:10:40.160 --> 00:10:47.624
So that's really what folding and IVC opens up in terms of the design space for ZKPs, and we're really leveraging that fact for Novanet and incentivizing this network of provers peer to peer.

00:10:48.575 --> 00:10:53.004
MARK MANDELMANISKER, AM I PROVING YOUR DATA ON MY LAPTOP or am I proving my data on my laptop?

00:10:55.200 --> 00:10:56.523
and sending it to the network-up approach.

00:10:56.523 --> 00:11:00.221
Privacy use cases are definitely a low-hanging fruit for us, like ZK games and things like that.

00:11:00.221 --> 00:11:04.423
But technically no, you can join the network and prove bigger problem sets.

00:11:04.423 --> 00:11:06.101
You can join the network in more general proving.

00:11:06.101 --> 00:11:09.681
Obviously those do not have privacy aspects, they'd just be general verifiable compute.

00:11:09.681 --> 00:11:16.859
So what we can actually have in this network is some very specialized provers with special hardware and then local provers that want privacy.

00:11:16.859 --> 00:11:20.508
So you can kind of get the best of both worlds by matching up those incentives.

00:11:21.034 --> 00:11:34.489
Yeah, I think for people to understand, like the difference between zero knowledge proofs and fully homomorphic encryption, for example FHE it stays, the data stays encrypted on the computer that's doing the work right, versus like zero knowledge proof.

00:11:34.489 --> 00:11:36.356
And this is just my understanding why it's.

00:11:36.356 --> 00:11:37.259
I could be totally wrong.

00:11:37.259 --> 00:11:49.095
But zero knowledge proof If there's a workload happening on my computer and I've got data, that data needs to be unencrypted on that computer and then the zero knowledge proof technology will share the proof out to the rest of the network.

00:11:49.095 --> 00:12:00.347
So the only computer that has that information is unencrypted and available is the computer doing the workload, whether it's my laptop or a server somewhere, that it's exposed there on that machine.

00:12:00.347 --> 00:12:06.985
But then the proof but it's not exposed to the whole network, it's just giving the proof out, versus like fully homomorphic encryption.

00:12:06.985 --> 00:12:10.565
It keeps it encrypted on both ends at all times.

00:12:10.715 --> 00:12:13.224
But you know there's different like scalability, trade-offs and things like that.

00:12:13.224 --> 00:12:32.860
I think with with both of these different technologies what I'm hearing you say is like you can use what you guys have to protect privacy when I give my personal data on my machine for some kind of use case, but you can also join the network and run workloads on other data, when that data is on my machine, I obviously have access to it.

00:12:32.860 --> 00:12:35.605
So that's not like a privacy use case really.

00:12:35.605 --> 00:12:41.999
But what's the reason for using ZKp outside of privacy for that use case like?

00:12:41.999 --> 00:12:46.797
Maybe walk me through like an example of that yeah, the comparison with fhc is super interesting.

00:12:46.957 --> 00:12:52.504
I think even fhc needs zk because what you can have is two encryptions and people are doing computations on those.

00:12:52.504 --> 00:12:54.475
But how do you know that the computations correctly?

00:12:54.475 --> 00:12:58.142
They just return like a random number if you can't verify that computation.

00:12:58.142 --> 00:13:05.044
So in reality, in my opinion, fhe needs ZK at some point to prove that people are doing these computations correctly, even if they're encrypted.

00:13:05.044 --> 00:13:21.567
But for the more general use case, there's ZK-BOS or ZK-ECSA that are very expensive to do in any zero-knowledge proof system but which can potentially break those problems up into smaller chunks and have a bunch of computers work on the problem to basically verify that you did these signatures correctly.

00:13:21.567 --> 00:13:22.408
Or AI.

00:13:22.408 --> 00:13:24.802
Like AI problems are very hard to do.

00:13:24.802 --> 00:13:37.909
They take a lot of computation to do in ZK today, but you can potentially break those up among many, many computers and run them and then have the parallelization, basically do it for you to make it more practical to do verifiable compute over those problem sets.

00:13:38.394 --> 00:13:46.426
That's a scalability issue for AI, and it's not necessarily like a blockchain thing, it's like just the computation that then, is reporting back the result.

00:13:47.075 --> 00:13:48.822
It kind of is blockchain too.

00:13:48.822 --> 00:13:54.383
With ZK-UCSA you can do a few different things with ZK-BLS as well If you're able to do that like sequencers.

00:13:54.383 --> 00:14:06.538
Essentially, sequencers need to contact the L2 anyway or, I'm sorry, the L1 anyway, and by using ZK for BLS that's one way they can prove the fact that they did the BL signature correctly to the L1 layer.

00:14:06.538 --> 00:14:12.496
So it does have some implications for sequencing as well decentralized sequencing anyway, but yeah.

00:14:12.717 --> 00:14:19.285
Yeah, I think that brings up a good point too, that on some level, especially now in the age of AI, it's like how do you know anything is true online?

00:14:19.285 --> 00:14:20.788
How do you know anything is authentic?

00:14:20.788 --> 00:14:24.971
I think ZK is including how do you know that FHE is running correctly?

00:14:24.971 --> 00:14:29.886
How do you know an AI model is the one it purports to be and it wasn't changed overnight?

00:14:29.886 --> 00:14:52.841
And to the extent you want to actually be certain of things or anything and perhaps everything with Novidat is ZK is really offered like a different type of certainty, a certain bulletproofness about it, I think, where something else, perhaps positive, is being done, such as homomorphic encryption, and that has different use cases and in some respects it's more powerful than ZK.

00:14:53.696 --> 00:15:11.671
But it still needs to be verified that, yeah, things stayed encrypted when they were on-chain or things stayed encrypted the entire time, because I suspect, as FHE gets popular, you're going to find out that, well, it didn't stay encrypted the entire time or there was some data that leaked or somehow they got into it or something like that.

00:15:11.671 --> 00:15:23.581
So just to be verified that things are working correctly is kind of where ZK comes in, as a very kind of universal solution to perhaps a universal problem of how do I know anything online?

00:15:24.624 --> 00:15:31.534
go ahead why you want to add on to that yeah, I think the way to think about from web through perspective is the l1 is doing the verification.

00:15:31.534 --> 00:15:38.565
That's where the verification and the proof data will be hosted so anyone can check it, and the local computers or local servers are doing the off-chain computation.

00:15:38.565 --> 00:15:41.807
That's why you might have heard during my co-processor and things like that you get a bunch of compute off-chain computation.

00:15:41.807 --> 00:15:43.514
That's why you might have heard of doing like coprocessor and things like that, you get a bunch of compute off-chain.

00:15:43.514 --> 00:15:47.230
It's very expensive and just host the cheap proofs and verification on the L1.

00:15:47.993 --> 00:16:02.960
Yeah, one really interesting pattern I've gotten from just decentralized physical infrastructure in general is I think we've seen that it works at capital formation, generating capital for the deployment of physical infrastructure.

00:16:02.960 --> 00:16:06.527
That, I think, is a solved problem.

00:16:06.527 --> 00:16:09.192
We can see how Helium has worked.

00:16:09.192 --> 00:16:20.451
We've seen Render with a massive amount of GPUs, a cache network, tons of GPUs, tons of CPU, and then things like Solana with thousands of node operators running validators and RPCs.

00:16:20.451 --> 00:16:25.365
All those are examples of decentralized compute networks in the wild.

00:16:25.365 --> 00:16:32.461
Solana obviously has a ton of traction, tons of use cases, tons of users, but it's a general purpose blockchain right, it's blockchain at the speed of light.

00:16:32.822 --> 00:16:41.791
When you go down to the layer of decentralized compute for AI, you see a lot less demand on the demand side right, the supply side we figured out.

00:16:41.850 --> 00:16:55.466
But like there's really a small group of hobbyists right now that I see there are some people on render who are like rendering, uh, that are like reputable studios and things like that that are actually rendering 3d movies and things like that.

00:16:55.466 --> 00:17:08.556
But I think there's still a big question in my mind of like what are the use cases that are going to be the big beachhead market for ai or just generally driving the usage of these deep end networks.

00:17:08.556 --> 00:17:11.488
I mean helium is another one that's like doing pretty well, right.

00:17:11.488 --> 00:17:21.165
They've got like 60 000 plus subscribers and I think that they have shown that it's possible to start a decentralized telecom and drive some demand through it, but not not a ton in the grand scheme of things yet.

00:17:21.165 --> 00:17:27.405
But I think for AI and other use cases I still have a big question mark what are the things that are going to drive demand?

00:17:27.405 --> 00:17:35.227
And I'm curious what you guys think are the various use cases for your project, but also, just generally speaking too, if you have other ideas that will be the usage drivers.

00:17:37.881 --> 00:17:39.667
I think the supply side is kind of easy for all of these.

00:17:39.667 --> 00:17:42.640
We all have GPUs that we're underutilizing for a bunch of different things.

00:17:42.640 --> 00:17:45.429
We're doing this call and our GPUs are probably doing basically nothing.

00:17:45.429 --> 00:17:47.827
The supply side is pretty easy for most people.

00:17:47.827 --> 00:17:59.446
The demand side has been more tricky for most people and I think in the Z case, basically it's because they're focused just on scaling Ethereum right now, so it completely removes the possibility of privacy or other type of use cases.

00:17:59.446 --> 00:18:04.394
So really, for our test net, which we're aiming for Q2 this year, we're trying to match supply with demand.

00:18:04.394 --> 00:18:10.488
So these are companies that already have end users that are going to be proving things that they need to do for those users.

00:18:10.488 --> 00:18:13.670
So the users themselves are doing the supply and also the demand at the same time.

00:18:13.670 --> 00:18:21.810
But into the future, with the privacy type use cases, you should get more of that demand side than was previously possible with just like centralized proving marketplaces and things like that.

00:18:22.339 --> 00:18:25.146
Can you walk me through some examples of some of those use cases for you guys?

00:18:25.146 --> 00:18:27.688
It sounds like you're already talking to some existing companies.

00:18:27.688 --> 00:18:37.992
I would love Maybe, Humana, you want to lean into that a little bit but I would love to understand the business problem you're solving for those users and for the companies that have existing users, and just give me an idea what that looks like.

00:18:37.992 --> 00:18:39.240
Just give me an idea what that looks like yeah.

00:18:39.260 --> 00:18:40.365
yeah, zk games are very easy.

00:18:40.365 --> 00:18:44.851
One to explain there's something called ZK Fog of War, which means you have a local item that's hidden.

00:18:44.851 --> 00:18:48.269
You don't expose that to a blockchain, but your game generally runs on Web3.

00:18:48.269 --> 00:18:59.354
So with those companies, what they have to do now is hire very specialized developers to do the ZK stuff that they really don't want to do, or use these monolithic L1 or L2s that don't really preserve privacy in many cases.

00:18:59.354 --> 00:19:08.569
But with us, what they can do is just run any arbitrary Wasm code locally on the user's browser and have that private Fog of War item and just host the proof on chain so that was run correctly locally.

00:19:08.569 --> 00:19:12.410
So ZK Gaming is a big, very easy, low-hanging fruit for us.

00:19:12.410 --> 00:19:15.529
But there's obviously layers on top of that that are a little bit more technical.

00:19:15.529 --> 00:19:26.362
Zkbls is one which partners doing decentralized sequencing, really once which is a big problem.

00:19:26.382 --> 00:19:28.288
Set that's going to break up into little pieces to run quickly, but there's a bunch actually.

00:19:28.288 --> 00:19:28.651
What's zk gaming?

00:19:28.651 --> 00:19:29.232
Can you talk more about that?

00:19:29.232 --> 00:19:29.734
I just don't understand.

00:19:29.734 --> 00:19:36.701
Like with a fog of war analogy just for people who aren't familiar with that, like what is that item that's being hidden, that that, like a gamer, might want?

00:19:37.743 --> 00:19:42.653
yeah, with web3 games all the data is hosted on a blockchain which is verifiable basically by anyone.

00:19:42.653 --> 00:19:48.132
But you might have something like a hidden sword or something with high status that you don't want to expose to the game.

00:19:48.132 --> 00:19:55.251
So by running a zero-knowledge proof on the user's browser, you can actually just host the proof on the blockchain and not actually expose that data.

00:19:55.251 --> 00:20:01.972
That item's data, but even an easier one to explain is like if you're running a game locally, how do you know people aren't cheating?

00:20:01.972 --> 00:20:06.471
They can add arbitrary code and maybe change things around so they get instant headshots and things like that.

00:20:06.471 --> 00:20:10.050
So you can actually use zero-knowledge proofs to verify the fact that the game code is run correctly.

00:20:10.050 --> 00:20:15.992
I think there was actually a good example came out recently for ZK Doom, which is like the old version of Doom, completely done in ZK.

00:20:15.992 --> 00:20:19.344
Basically, purely, that's just for preventing cheaters of the game.

00:20:19.544 --> 00:20:21.566
Oh, that's super interesting.

00:20:21.566 --> 00:20:23.067
I get both those use cases now.

00:20:23.067 --> 00:20:27.034
So in the Fog of War example, it's like a multiplayer game.

00:20:27.034 --> 00:20:39.834
We're all trying to get this item, but because it's on the blockchain, I can just see that it's there and I can kind of front run everybody or figure out a way to kind of game that system and get that item before other people.

00:20:39.834 --> 00:20:47.416
And so now you can use this zk technology to to let the game know that the item's there, but no one knows that there's an item there like what it is.

00:20:47.416 --> 00:20:54.413
You know, it's just a proof that something exists, and if all the items are like that, then then you can't really front run the system.

00:20:54.413 --> 00:20:57.482
And then the other one that that makes even more sense to me, though, is that headshot example.

00:20:57.502 --> 00:21:01.391
I used to play counter-strike pretty extensively in high school.

00:21:01.391 --> 00:21:15.384
Imagining, you know, you can run the game locally and obviously have these like plugins installed and stuff that give you superpowers, can be kind of frustrating for people who are into gaming I don't game anymore, I see what you're talking about.

00:21:15.384 --> 00:21:20.125
So it's proving that the software actually that has much bigger implications.

00:21:20.125 --> 00:21:20.346
Right.

00:21:20.346 --> 00:21:28.842
Being able to prove that the software running locally is actually correct has a ton of security implications for for other things like defy and things like that as well.

00:21:29.143 --> 00:21:35.807
Yeah, like he mentioned that he made ethereum basically for gaming at one point because he had, like an item, spent many years playing this game.

00:21:35.807 --> 00:21:42.853
They've like removed this account or something, um, so it's just kind of funny that maybe it's full circle that gaming is one of the biggest drivers of Web3 early on.

00:21:44.557 --> 00:21:45.719
I think with D-Pen generally.

00:21:45.719 --> 00:22:00.963
Also, if you're relying on local machines to do things, whether it's like a solar panel or telecom or decentralized AI on your phone, bringing the proof system on that machine itself that's generating the proof I think is a benefit.

00:22:00.963 --> 00:22:06.213
So you don't have to send out data to middleware or a centralized ZKP network.

00:22:06.213 --> 00:22:17.309
You can basically generate the proofs faster, arguably cheaper, locally, keep privacy and then verify it in the network, which is not the biggest part, the biggest difficulty.

00:22:17.309 --> 00:22:31.567
It's really about generating the proof, so eliminating middleware, in other words, or the reliance on it in deep end networks we think is a good use case also for local client size, ekps.

00:22:31.587 --> 00:22:33.451
How big do you guys think the market is today for this, like in Web3?

00:22:33.451 --> 00:22:35.843
And how do you even quantify, measure that?

00:22:37.046 --> 00:22:38.269
I think that's a hard one to answer.

00:22:38.269 --> 00:22:40.313
Yeah, I think it's driven.

00:22:40.313 --> 00:22:41.627
It is driven by deep end and the demand for deep end.

00:22:41.627 --> 00:22:43.257
And yes, to answer yeah, I think it's driven by D-Pen and the demand for D-Pen.

00:22:43.257 --> 00:22:43.720
And yes, you're right.

00:22:43.720 --> 00:23:04.138
I mean, there's maybe an assumption about decentralized networks and the benefits and the growth of those, but if people do adopt decentralized AI or whatever, if modular blockchains are the future, we think there is kind of room in the cracks, if you will, of modular blockchains to be connected through ZKPs as well cracks, if you will, of modular blockchains to be connected through ZKPs as well.

00:23:04.138 --> 00:23:25.828
So cross-chain interoperability, I think, is also a good spot for saying how can one network connect to another and then proof of one thing happening on another chain, causing something else to happen on yet another is, I think, a good way to think about it the problem and the solution and the room for ZKP, so you're not running everything everywhere all at once.

00:23:27.000 --> 00:23:29.528
Yeah, I mean, I think this is like why this is such a unique space.

00:23:29.528 --> 00:23:37.625
You have to have such long time horizons, I think, for some of these things to be successful, and I think it's why open source and these network effects matter a bunch.

00:23:37.625 --> 00:23:49.608
When you build a network and you get the token going and you have enough funding to kind of survive and fuel an open source ecosystem to build around the technology, I think that's just like a super important part of the strategy.

00:23:49.608 --> 00:23:56.651
As we get towards like the top of the show, I always like to ask you know, what have I not asked you that I should have asked or that you wanted to talk about?

00:23:57.181 --> 00:24:02.553
I like talking about incentives in general, because there's a bunch of people doing ZKVMs and things like that and centralized marketplaces.

00:24:02.553 --> 00:24:07.432
I think something that's super unique about us is that we're not doing a centralized marketplace, which sounds kind of crazy.

00:24:07.432 --> 00:24:17.650
A lot of places have proof-racing, which basically means one prover will win the competition of provers in the marketplace, and that really limits the possibilities of things like parallelization.

00:24:17.650 --> 00:24:25.611
So, in my opinion, the space right now is still very new, and a lot of people are focused on scaling Ethereum, which means like they want one pervert to do something very quickly.

00:24:25.611 --> 00:24:37.406
But we're really taking it the other way around, where we can have more use cases from privacy and things like that in this decentralized, peer-to-peer fashion, and everyone who joins the network is actually incentivized to do so, and that's kind of where the whole Novanet layer comes in.

00:24:37.406 --> 00:24:38.769
So we don't just have a ZK VM.

00:24:38.769 --> 00:24:47.821
We can potentially have a bunch of different types of VMs running in this network doing things as fast as possible, with prover cooperation rather than prover competition, essentially.

00:24:48.123 --> 00:24:49.983
When you say you have a number of VMs, are you?

00:24:49.983 --> 00:24:52.071
Where does your token live?

00:24:52.071 --> 00:24:54.807
Are you running your own chain or how do you think about that?

00:24:55.359 --> 00:24:56.063
Super good question.

00:24:56.063 --> 00:24:58.021
We have our ZK prover.

00:24:58.021 --> 00:24:59.605
That's going to be the aggregation layer it's based on.

00:24:59.605 --> 00:25:01.208
Obviously it's the thing is super memory efficient.

00:25:01.208 --> 00:25:09.550
Then we have this peer-to-peer portion that is based on ipfs's lip p2p, which is, like this, really well done, widely used peer-to-peer network.

00:25:09.550 --> 00:25:11.102
That component lives on people's computers.

00:25:11.102 --> 00:25:12.906
Uh, it does not have the tokens at all.

00:25:12.906 --> 00:25:19.548
And then we have this orchestration chain that we have not 100 decided on, but we're an existing l1 or l2 where all the token ops are done.

00:25:19.548 --> 00:25:20.669
We don't want to redo that stuff at all.

00:25:21.069 --> 00:25:22.692
That's a lot to manage.

00:25:22.692 --> 00:25:23.953
Definitely don't want your own chain.

00:25:23.953 --> 00:25:28.130
With all those other you've got this essentially overlay network that sits on top of a chain.

00:25:28.130 --> 00:25:31.866
I mean, I'm biased as far as where you should take that.

00:25:31.866 --> 00:25:34.512
Obviously, I think it needs to be Solana.

00:25:34.512 --> 00:25:47.166
Just given the amount of throughput that you need and the expense of running on the chain, it's the cheapest, fastest, most decentralized network in the world right now.

00:25:47.166 --> 00:25:49.194
We don't have to get into that debate if you don't want to, but what about you, Hooman?

00:25:49.194 --> 00:25:49.998
What have I not asked?

00:25:50.018 --> 00:25:50.500
that I should have asked.

00:25:50.500 --> 00:26:08.970
Yeah, maybe it'd be good to ask about another technical component that maybe you can ask question about Wasm why we're doing, why we adopted or what the role of Wasm is in our system, at least now, and how that benefits developers and having ZKPs basically running your browser, maybe mobile or a laptop or otherwise.

00:26:10.230 --> 00:26:13.153
Well, first off is what is Wasm?

00:26:13.153 --> 00:26:17.555
Because a lot of people that are listening to the show are not that technical or might not know what it is.

00:26:17.555 --> 00:26:20.457
But can you explain what it is and then we can talk about why it matters?

00:26:27.680 --> 00:26:30.734
Wasm is a compilation target of many programming languages, but it has the added benefit that it actually runs directly and natively on people's browsers.

00:26:30.734 --> 00:26:32.521
So you don't need to download anything the Wasm file.

00:26:32.561 --> 00:26:40.867
If you load it by loading a regular link, you can actually run these codes basically on anyone's computer in the world via their web browsers Chrome or whatever it might be.

00:26:40.867 --> 00:26:48.166
It was really about portability and a bunch of these internet companies got together and said, hey, we're sick of JavaScript, we don't want to do this anymore.

00:26:48.166 --> 00:26:48.608
It's messy.

00:26:48.608 --> 00:26:49.560
There's a bunch of different types.

00:26:49.560 --> 00:26:55.383
Let's make something that's near native compile times but also very portable, and that's what Wasm basically came from.

00:26:55.624 --> 00:27:02.615
Does that basically mean you can write software in whatever language and it will compile on Wasm, so you can like use it in the browser?

00:27:02.615 --> 00:27:05.008
Almost any language that you write will be compatible.

00:27:05.859 --> 00:27:08.630
Yeah, there's 35 different languages that compile directly into Wasm.

00:27:09.661 --> 00:27:21.980
So yeah, the basic what this means like developer can pick whatever tools they prefer and then, if they want to use your proving network and prove computation on that code, they can do that in 35 different languages, Yep 100%.

00:27:22.402 --> 00:27:29.365
We want it to be as portable and easy to use as possible and people, kind of some of our users, freak out about that, like, oh, we just give you Wasm code and then you execute it like nothing else.

00:27:29.365 --> 00:27:33.209
But in the past with ZKPs, like it was very, very tedious.

00:27:33.209 --> 00:27:39.405
You need to learn like Surcom, like special programming language, hire, like very good yeah, zk Sync is like a whole language right that.

00:27:39.446 --> 00:27:42.852
They wrote specifically that you had to pick up to adopt their network.

00:27:42.852 --> 00:27:44.434
Does it support Rust?

00:27:44.900 --> 00:27:49.163
Yeah, we support Rust in-house, so 100% like.

00:27:49.163 --> 00:27:50.910
We do tests on Rust all the time.

00:27:50.910 --> 00:27:52.325
Rust is definitely a supported language.

00:27:52.325 --> 00:27:53.825
It's actually very good.

00:27:53.825 --> 00:27:54.646
It's one of the better ones.

00:27:54.928 --> 00:27:55.289
There you go.

00:27:55.289 --> 00:27:56.622
This will work great on Solana.

00:27:56.622 --> 00:27:59.587
Everybody uses Rust Cool.

00:27:59.587 --> 00:28:01.951
Well, hey, thanks so much for being on the show.

00:28:01.951 --> 00:28:02.973
I wish you the best of luck.

00:28:02.973 --> 00:28:08.403
How can people get involved?

00:28:08.403 --> 00:28:10.832
What kind of help are you looking for today, just for?

00:28:10.892 --> 00:28:11.233
anybody listening.

00:28:11.233 --> 00:28:11.895
What can people do to help?

00:28:11.895 --> 00:28:17.151
Check out our website, Give us feedback, share your ideas, share your use cases, your pain points, maybe eventually join the network.

00:28:17.151 --> 00:28:22.372
We are building itself a deep end for ZKP so you can download it, earn tokens and run proofs.

00:28:22.372 --> 00:28:24.021
We are building a community.

00:28:24.021 --> 00:28:31.769
We think that's important and the beauty about Wasm is that, yeah, you can bring your favorite language with you to hackathons and everything else.

00:28:31.769 --> 00:28:33.413
And what's the website?

00:28:33.413 --> 00:28:35.103
Novanetxyz.

00:28:36.400 --> 00:28:45.268
Novanetxyz so people can go there, they download the client and like start contributing and zkp like they can start doing workloads today.

00:28:45.268 --> 00:28:46.372
Is that already available?

00:28:47.055 --> 00:28:49.182
yeah, our zk wasm invitation is still closed source.

00:28:49.182 --> 00:28:52.780
The zk proving network has been open source since last fall or, sorry, last spring.

00:28:52.780 --> 00:28:56.982
So actually if you wanted to get involved with the open source work on the prover side, anyone can do that.

00:28:56.982 --> 00:28:59.911
Today it's based on supernova and ivy scene like things like that.

00:28:59.911 --> 00:29:05.923
Currently there's, I think, over a dozen teams involved with that and we definitely there's still a lot of stuff to code.

00:29:05.923 --> 00:29:08.125
So if people wanted to join the open source portion, they can.

00:29:09.821 --> 00:29:10.411
That's cool.

00:29:10.411 --> 00:29:12.023
A dozen teams is a lot.

00:29:12.023 --> 00:29:19.904
I mean, honestly, a lot of open source projects just sit there with no one building on them, but the fact that you guys have some, but even 12, is pretty incredible.

00:29:19.904 --> 00:29:23.211
For a small startup Like, that's really cool, congrats.

00:29:24.693 --> 00:29:25.115
Yeah, thank you.

00:29:25.115 --> 00:29:33.730
It actually started with the first one from Microsoft, so there's a whole like tribe of people out there working on this stuff, but it's definitely been a super cool community to be in and also be on the vanguard.

00:29:35.059 --> 00:29:36.261
And then the Wasm stuff.

00:29:36.261 --> 00:29:38.326
You'll open source that at some point I'm assuming.

00:29:38.326 --> 00:29:39.587
What's the plan for that?

00:29:40.169 --> 00:29:42.452
Yeah, the VM has been done for quite a while.

00:29:42.452 --> 00:29:46.317
We're making sure it's secure and that's obviously very important for a lot of different use cases.

00:29:46.317 --> 00:29:52.664
We're going to have a testnet Q2 and then it will be open sourced then and people can try it out, mess around with it if they want to.

00:29:52.664 --> 00:29:57.002
Optimizations we do expect a lot of optimizations going through testnet.

00:29:57.564 --> 00:29:59.948
Okay, okay, last question for TestNet what kind of hardware do I need?

00:30:00.348 --> 00:30:01.592
Whatever you have right now should be fine.

00:30:01.592 --> 00:30:03.280
Just a computer, it's fine.

00:30:03.280 --> 00:30:05.406
Just like a regular Mac or something like that should be perfectly fine.

00:30:05.807 --> 00:30:07.260
Okay, cool, all right.

00:30:07.260 --> 00:30:08.526
Well, thanks so much for your time, guys.

00:30:08.526 --> 00:30:12.345
Super interesting, novanetxyz, go there and check it out.

00:30:12.345 --> 00:30:13.327
Thanks for being on the show.

00:30:13.709 --> 00:30:14.450
Thanks a lot, Alex.

00:30:14.450 --> 00:30:15.313
Thanks for having us.

00:30:28.539 --> 00:30:30.064
Thank you just listened to the index podcast with your host, alex kahaya.

00:30:30.064 --> 00:30:33.613
If you enjoyed this episode, please subscribe to the show on apple, spotify or your favorite streaming platform.

00:30:33.613 --> 00:30:36.161
New episodes are available every friday.

00:30:36.161 --> 00:30:37.540
Thanks for tuning in.