ZKPodcast: Snapps on Mina with Emre and Izaak
29 Sept 2021 · 1:01:03
Anna Rose talks with Izaak Meckler of O(1) Labs and fellow Mina Protocol contributor Emre about Snapps, SNARK-powered applications built for the Mina network. They cover the state of the Mina mainnet launch, how Snapps bring data privacy and scalability to smart contracts, and what's ahead as Snapps head toward testnet.
Speakers
Topics
Transcript
[Music] welcome to xero knowledge i'm your host anna rose in this podcast we will be exploring the latest in zero knowledge research and the decentralized web as well as new paradigms that promise to change the way we interact and transact online this week i catch up with emory and isaac from o1 labs they share an update on the mena protocol cover the launch and look at how the network has evolved since then we also touch on the organizations that have built mena and how o1 labs is experimenting with a new employee run
structure lastly and importantly we dig into snaps that is snark-powered dapps on the mena network but before we start in i want to share with you a very exciting event that we are putting together this fall zk validator and the zero knowledge podcast bring you zk hack a multi-round online event with workshops and puzzle solving competitions the zk hack offers zk enthusiasts and practitioners a space to learn more about zk while also giving advanced cryptographers and hackers a challenging competition to try their hand at think hackathon meet ctf meets dark forest round-based competition but all focused on zktech and this is supported by our puzzle-building partners elio and enoma
as well as gold sponsors and workshop hosts aztec iden301 labs and starkware this event will be running every tuesday starting october 26th for seven weeks we knew we could not cram this all into two days if you're interested in participating in one or many of these workshops or puzzle competitions do head over to the website now i've added the link in the show notes if you sign up you'll be reminded about updates as well as getting info about the actual workshops as they're happening i also want to thank this week's sponsor sealaps the sealabs folks wanted me to let you know about optics a new cross chain project optics uses optimistic or optimistic-ish
replication of data structures to send messages tokens and data between chains and roll-ups the optics-powered token bridge supports bridging erc20 tokens between any network it is deployed on no pesky multi-hop bridging to get where you want to go one send and it's done the team has recently deployed optics on ethereum cello and polygon main nets while it's still in d-gen beta you can still use it today via etherscan give it a try and if you're interested in building a cross chain application maybe an nft bridge using optics communication channels or if you're just very opinionated about which new chains or roll-ups should be supported by optics do reach out to them via github discussions or join the discord i've
added the link in the show notes now most importantly they are also hiring rust and solidity engineers who would be interested in building out the future of interoperability in crypto if this sounds like you you may want to apply so thank you again sealabs now here is my interview all about mina and snaps with isaac and emre [Music] this week i'm here with emre tekashal and isaac meckler from o1 labs welcome to the show great to be here yeah happy to be here isaac you've been on the show before you i think this might actually be your third time on the zero knowledge podcast the last time you were on was january 2020
and it feels like a million years ago actually it's crazy it was a totally different sort of era um not only like a different era in the world but a very different era for mina which at the time was called coda so yeah at the time you were running test nets for like six months there was a growing community there were people running nodes but it was still like it was still a ways off from from becoming like a live network you were figuring out governance we talked about some interesting use cases and yeah since then the network has launched so how are you feeling what's new yeah well it's funny i don't know if you mind maybe i'll just recall like kind of a funny anecdote crypto anecdote of
january 2020. i remember going to the stanford blockchain conference which was in january 2020 yeah and it was like people weren't sure like how seriously to take covet or whatever and i was like yeah i want kobe like what is that you know and i remember there were a lot of people from china who were there and who were like uh they could see the future joking like they were like oh like you know you guys should like i wouldn't eat the food or you know whatever so anyway yeah it was definitely a very different time when i think back to what we've kind of been through with maine that since then i feel like we definitely went through the most painful parts before we launched the mainnet which is great as we as you mentioned we
were running test nuts for a long time and there were periods of you know really painful debugging and problems and whatever but things have been relatively smooth on mainnet itself yeah feels pretty good i guess good emre this is the first time you're actually on the zero knowledge podcast we should get to know you a little bit what are you doing what maybe has changed for you over the last yeah since january 2020 and your role at mina yeah super excited to be here one of the fans you know i don't know how many episodes i've listened to but always a fan and great to be here um let's see yeah so i am currently the interim ceo of o1 labs and we can get
into the interim part a bit later with kind of the transitions that we're going through and i joined the team a little over two years ago so i joined to help lead our dev and general business efforts and before that i was at coinbase also doing similar business work um well not too soon nothing to do with snarks but uh all sorts of crypto stuff as you might imagine so you know been around for a while but um yeah it was funny like when i i think we launched our first test net the week i joined or maybe the week after uh so it was like you know super exciting for the team obviously for me as well but you know i would have been excited no matter what we were doing yeah and then yeah as izzy said it was quite a bit of a grind and i
i felt like it's it's a very thin line between like oh my god like if all these issues are coming up on test net like how much more is there going to be during maynet versus you know we're actually doing coming up with all the issues now such that there isn't any on the main net so you know fortunately so far we've been kind of closer to the latter one and that feels good can you share with me what launching the network felt like or was either of you kind of like what was that process like because this happened i mean is it now six months ago or so yeah almost exactly six months ago wow yeah so tell me about that process like what was it like um when people ask me this question i kind of say it's kind of like launching your first product doing an ipl and
growing your company like a thousand times in size all at the same time like it's a crazy endeavor i hope i never get to do this again and i'm saying that in the best way because it's obviously like it was a lot of excitement and a lot of huge feat on all of our team and and all of our community right because it was also like we jumped on this call as the network was being launched like as the first block was scheduled and it was all like more community members than on labs team members and um they were the ones who produced the first box and you know still like we don't run any block producers um it's very community managed so yeah it was it was crazy it was crazy i think this is one word to summarize isaac from your perspective having
worked on this for many years leading up to this launch what was it like it was definitely um the actual launch itself was i think emotionally kind of weird for me i mean just it was kind of surreal to be i guess on that call and like see all these people who you know were like so invested in many of whom i had no like i didn't know at all and i don't know but i think sometimes when when you accomplish something that you're sort of intended to for a long time there can often be a feeling of uh a sort of surprising feeling of like emptiness oh no it's like the anticlimactic launch yeah just be just because you sort of um i think you have you know desire can kind of never really be fulfilled so
you know you have this image that you sort of help hold down in front of your yourself but it's not you can never achieve it so yeah i think that was probably a little strange i was also in los angeles at the time which i really don't like and fills me also with this sort of a spiritual emptiness so i think that probably contributed to it but i always really enjoy like uh when there's kind of you know like a spirit of camaraderie and all hands on deck kind of situation which in the days leading up you know there was and you know late nights getting everything just set up just so so i always enjoy that so that that was fun did you have any sense of relief oh definitely maybe that was the emptiness almost maybe yeah i don't know i mean i i think it probably has something to
do with la too but yeah especially since you know i feel kind of responsible for at the end of the day the correctness of some of the you know some of the cryptography involved so for everything to be working smoothly is for the last six months especially has definitely been a huge relief so in this episode the goal is to you know catch us up on what's going on in the media universe o1 labs the creation of the foundation i want to talk about snaps that's i think one of the key things that i want to cover i do want to share a quick note about some of the connections that i have or this podcast basically has with mina already i am an advisor to o1 labs i work with you emre and the team on the community side of
things owen labs is a sometimes sponsor of the show but just note this episode is in no way sponsored in case people are wondering i never do paid episodes i interview the people i find interesting and i think there's something to actually explore here with snaps zk validator is currently running a block producer on mina yeah and as part of our contribution to the media network zkv has even started contributing tools i wanted to do a quick shout out because there's this mina vrf rs tool built by kobe gurken and chris lynn within the zkv umbrella that i've not had a chance to talk about it yet uh on the show so yeah personally i'm pretty engaged with the project and i wanted to share all this but at the same time i want to kind of like give people heads up
as involved as we are there's actually some parts of the mina project specifically snaps that i don't know very much about and would really like to dig into um in fact i feel a little bit like i should know more i hope that through this interview i can find out more and also share it with the audience but yeah so we've kind of like given a little bit of a history up to the launch but there's been a lot of changes so please let's maybe start with the org let's talk a little bit about mina and o1 labs and the foundation how does this organization now look and yeah what's what's happened since maybe even since launch actually when did the foundation come out was it before or after both
it's been a it's been a long work in progress and um i forget now when we kind of announced it but it was uh it should have been right before launch yeah so to your point mina is an open source project that's community managed um yet you know it has to have both a legal structure around it to hold certain assets and be responsible of you know some of its doings and some of its actions but also you know there's a lot of coordination that needs to happen so like many other blockchain projects we thought it would you know be in the best interest of the whole project to essentially start a new nonprofit foundation it's actually a public benefit corporation here in the us
to really you know take this whole ecosystem for me whether it's about grants making or community management or certain marketing related items or again certain legal items and really house them in this non-profit foundation that's very transparent and non-profit so some members of the original o1 labs team basically departed to start off the foundation so evan who was the original ceo and co-founder of obon labs is now the ceo of yuna foundation um also sir several members of our marketing team and legal team left to really bootstrap it we're also super fortunate to have a very um experienced board at the foundation with in addition to
evan with josh cincinnati former director of the foundation sometimes co-host of the xero knowledge podcast too yeah exactly yeah lots of familiar faces um jill carlson who's also been in this space for a long time and has been an advisor to us in the past as well as well as tests rainier soon from uh cosmos or um the interchange foundation so yeah it's a stellar group of folks and they're really you know starting to get up to the ground and really do some amazing stuff with um you know all the all the huge ecosystem that's forming around the project and on the o1 lab side we remain a you know a major contributor to the project obviously we incubated the project but at this point we're one of um three
actually contributors um engineering contributors obviously there's many more types of contributors but engineering contributors to the project and you know although obviously we're doing a lot of many many different stuff our focus um is slowly shifting to become all about snaps so i'll say the details there um to you know to when we start going into snaps but yeah our mission is to really like enable this um adoption and use case proliferation on top of the project because as interesting and unique and exciting you know many things as mina is by by lewis unique design as of like as a layer one none of that really matters if you don't have you know usage on top of the platform and that's our main mission totally
you just mentioned that there are some other teams also building is this like dev shops like a dev team building core infrastructure along with you or different implement implementations what who are those other teams basically and what are they doing it depends so the second team is chain safe the audience might know them chain safe also contributes to various other exciting projects for us they're working on a new rust based client that's also gonna become a what we call a browser node implementation which is like the you know basically taking the mina today and taking apart everything but the full node which is like the 22 kilobyte piece right
which is the whole vision of mina that's already there in our current software but it's just you know strapped in together with everything else so it just needs to be cleaned up a bit so that's what they're working on the third contributor i'm actually unsure if it's yet announced it's been signed very recently but they're also you know very experienced let's say all camel shop which is the the language our client is written in so yeah they're basically you know decentralizing both um software and node development for mena as well as adding new features as well cool and how is o1 labs now like running itself you sort of mentioned your interim ceo is there yeah maybe you can explore a little bit what what the plan is there
yeah maybe i'll give you a high level and then um isaac can go over the details given um he and evan have been thinking about this for a long time so um we're we're changing our governance structure um so we oh one labs is a for-profit you know delaware corp your traditional startup let's say based in san francisco although now we're fully remote so that that no longer is the case um and you know we we had a very traditional board structure and voting rights you know in a traditional way what not and we decided to take advantage of this transition with the foundation splitting apart to also take a look at our governance structure and see how we can make it more sustainable and also more true to the ethos of the
entire crypto space we're in so we we're becoming almost there like officially an employee governed structure and i'll let isaac maybe go through the details of it a bit more yeah that's i think a good intro i would just add like um the motivation at least for me you know in spearheading or like kind of pushing for this or new structure is really the idea that like in our world like you're you're not free unless you have control over what's required for your own continued existence right so like most people in a sense are not really free in in that they're dependent on their employer or whatever for their continued existence or an employer
and so my you know my sincere hope is to create a new kind of society in which that's not the case in which you know everyone is free in the sense of not you know being able to just reproduce the conditions of their own life and existence and also to create the world that in the way that they kind of see fit you know not just sort of being the the tool to be used by someone else that was my own personal uh interest in pushing for this and of course like such a project is like a society-wide project it's not something that can happen in one company or anything like that but my hope is that you know this will kind of create experiences and structures that maybe can have some kind of ripple effect over time and
specifically i mean in terms of just how it's structured i can just say a few words so basically the formal structure is as follows like everyone who works at owen labs who has been working there for more than a year is like considered a member okay and essentially the membership elects the board of the company and the board alex the ceo um as well as like ratifies kind of major decisions related to the running of the company um and so the board itself like consists of employees members um and is democratically elected but by the employees so it's sort of real kind of self-governance in that sense in terms of like the day-to-day decision making i think that's still a little bit to be
worked out on how exactly elements of democratic control can be injected into that but that's for the future i guess are there any models that you were kind of looking to when you're thinking about this is there any companies or structures that we know about yeah i think for pretty clear reasons most people who start companies don't want to pursue such a direction because of the desire to retain control and so on but there are many uh examples outside of the technology space but then there are a few even in attacking in crypto space so like i i guess i can just point at some in in the crypto space in particular so there's one called
informal systems who work on cosmos i think primarily i'm not exactly sure how they're structured but i know they have some kind of democratic governance am i we're going to say something about that sure yeah they're they're somewhat similar they've also innovated a bit more with their shareholder structure as far as i can remember as well but um we we decided to start with keeping things simple so as an example we have you know similar shareholders and employees our shareholders and one of the benefits is that employees get to own a larger portion of the company than they would you know in your classical startup so we've you know we've worked out a few models to basically share more of the company with the employees because like they're the ones who spend their days
hopefully not a lot of nights but usually days to you know basically create some value and create new new products and services so um it just makes sense to us there's a whole lot of uh smaller businesses that operate this way i live in berkeley and uh berkeley is very famous for having a lot of cooperatives for some reason i i'm not sure why i guess uh maybe ex hippies or something um so like if for for berkeley residents you know you might be familiar with like or even the bay like rs mendy or cheese board um or you know there's like a skate shop that's the co-op so there's lots of like kind of small you know non-tech businesses that are run this way there's also large companies that
are that are run this way there's a really famous one called um mondragon which is in spain they they do sort of i think you know it's it's manufacturing they manufacture all kinds of different things um they have i think a few thousand employees to me it makes sense though like there's so many experimentations with decentralization on the networks and yet companies tend to just take up pretty traditional company structures and it seems sort of in a weird way antithetical like it's it's you're putting a regular old company together with something so novel yeah i i think the rhetoric of uh people in the space often contradicts the reality of control and ownership you know there's a lot of rhetoric about
democratization and community control and so on but that's pretty frequently the reality there's usually a few you know large players who can you know will control most of these projects or anyway um how big is the team actually today so today the one laps team is 25 of employees oh that's a nice size yeah it's a nice cozy size yeah it's large enough and then the foundation has another 13 15 people okay so overall full time you know there's about 40.
but obviously you know a lot of community members are i wouldn't say full time but you know spending a lot of hours on doing very super valuable stuff like there's so many tools that are developed by community members so if you add it all up it adds up nice to any listeners who are either founders of companies you know to whom this is an interesting idea i don't know if there will be any people like that or more likely probably employees at companies to which you know controlling your own uh destiny so to speak at your organization sounds appealing please don't hesitate to get in touch with me you can dm me on twitter i z meckler is my handle so get in touch cool are you looking to sort of spread the word get more
teams thinking about this well yeah i mean as i said it's sort of for me part of a larger um desire to see a broader transformation in society so if anyone is interested in pursuing that i'm very happy to share what i can cool so one thing we haven't yet done on the show i'm realizing now is really define what mina is i've kind of we've started in with a bit of an assumption that people had listened to previous episodes but if they hadn't i think it makes sense for us to do like a quick primer we've been talking about the mean of protocol we talk about o1 labs the media foundation but let's go back to that protocol what what is mina what does it do how is it different yeah and then i want to talk about snaps
so meena today is a proof of stake blockchain that has the the novel feature that um it's a succinct blockchain and what that basically means is there's a really small amount of data so in all the marketing materials it's they say 22 kilogram bytes is actually less than that oh cool but there's a really small amount of data that that anyone you know can download something on the order of 22 kilobytes let's say which will enable one to sort of verify the entire history of all the transactions um and all the blocks that have occurred in the chain so far and what this means is basically uh you're everyone in the network as far as like
interacting with the shared state of the chain goes is on kind of equal footing there's no need to kind of delegate trust to like you know minor stakers or like a block explorer or god forbid or anything like that as you know um is usually done mina going forward will be that plus a platform basically for private scalable applications and which we call snaps and we'll we'll get into that later in the show i don't know emery if there's anything you want to add there maybe another like there's two perspectives to look at you know one of the one of which is what how easy just covered it like the genesis of it and how it's evolving and i think another is all blockchains at the end of the day
are like these shared state layers right um they're universally accessible state layers most of them are optimized in one direction or not like bitcoin is only for transfers ethereum is for all smart contract transactions i don't know solana is for super fast transactions i think one thing we're discovering is like as your knowledge proof systems are better understood as their features you know for snarks and what what have you are and more in demand mina becomes like this super you know based on what we know the most efficient zero knowledge proof state layer out there because you know if you look at ethereum etc those are not efficient in verifying their knowledge proofs um it just becomes super expensive whereas mina is you know born into zero knowledge proofs like
it's made of zero knowledge bruce so it becomes like this um super efficient uh native zero knowledge proof layer state layer that we're seeing a lot of demand for and nowadays as you mentioned the its use case is becoming this privacy layer for basically the entire crypto space when you mentioned isaac the 22 kilobyte i know and you said maybe it's smaller that is a proof right that is a snark proof yeah yeah so that's basically just to kind of elaborate a little bit at any point in time there's like the current state of the chain right which is like all the information that's required for like checking consensus stuff like how long is the chain and some proof of stake related data um and then like the
basically the database of accounts you know we'll call that like the the blockchain state that on mina is accompanied by a little proof which is a snark that um basically says you know there is a blockchain that you know when you run through it like ends up in with this blockchain state and so uh the only kind of big thing in this whole picture is the database of accounts and that's like represented in the blockchain state that a light full node or whatever you want to call it would receive um that would be represented just as the merkle root of that database of accounts okay so if you want to know anything about about the state you basically get this little blockchain state the accompanying proof that says hey this really is like a valid blockchain state
and then you know you can get merkle paths to see whatever you want to see about the current state and are those both in that thing that is downloaded like those two things the merkle root and the proof is that kind of the one thing that's under 22 kilobytes exactly exactly okay cool so when it comes to the snark proofs themselves though who makes those like where where are those coming from so they're sort of two network participants who kind of co-construct these proofs every time a block is produced the block producers sort of take the old proof corresponding to the old chain and kind of you know extend it by one to build the proof corresponding to the
next chain but that proof at least initially that the block producer kind of extends by one it doesn't contain all the transactions that happened right in that block there's a little bit of a of a kind of a a delay in which all the transactions from you know that block will then be kind of compressed into a proof and then again uh folded back in and the work of taking all the transactions um and compressing them into proofs which are then kind of folded in to this like chain proof um that's performed by other nodes on the network that we usually refer to as snark workers and that's like in a you know anyone can do that it's permit it's not permissioned um and and basically they earn
fees for doing this work of compressing the transactions cool the reason i wanted to ask about that is because now i want to talk a little bit about snaps so everything we've covered so far i think we may have even mentioned somewhere on previous episodes but well everything we've talked about mina at least but now going forward snaps like you mentioned it's a platform for private applications that work on the mena network but what are they actually yes so the basic setup is like this so basically there will be a new kind of account called a snap account okay and unlike on say ethereum where you know the code of the smart contract is stored
fully in that account in snaps on mina only the verification key corresponding to that contract will be stored in the account and so this is like a small piece of data that you can kind of think of as like a hash of the code corresponding to the contract when you say verification key though you're are you talking in the snark context of like prover verifier yeah okay basically the programmer will like write their smart contract and that will kind of get compiled into a verification key which is kind of like a hash of the whole contract and that's what will actually get stored on chain all right but it's interesting you don't you don't call it a proof this is the verification key yeah it's like a hash of the contract would proofs be
like sent to that verification key and that's where the contract is like making sure like the interaction is is it that way where it's like the verification key lives in the contract yeah so the verification key lives on chain and then when like a user wants to interact with that contract they will basically create a proof corresponding to that verification key and then you know they'll send a transaction that has that proof attached to it to the chain and that'll kind of get checked against the verification key in that account it'll say hey did the user like basically run this contract correctly and actually as you say this this is similar like a zk roll up is doing something similar right the smart contract is holding the verification and a proof is submitted to it i believe
yeah it's it's similar yeah it's similar in that sense so i guess just to kind of go back to how a developer let's say actually programs a snap and then like how a user actually interacts with it so basically uh we're developing a set of tools based on a library that so we've long had this library snarky which is an o camel library for like writing zero knowledge proof systems and that we use in mina and uh we've you know kind of against my naive hopes no one really likes writing a camel so yeah um now we have a new library called snarky.js which is basically a typescript um library that provides a similar
functionality to to snarky but in a much more user-friendly way because it's just typescript and so the developer writes their their smart contract using typescript using snarky.js and as i said the contracts aren't really run on chain like executions are verified on chain but the contracts themselves are not really run on chain what happens is the developer like writes their uh contract using snarky js it gets compiled into some javascript which is quite portable all the crypto is using wasm so it runs in the browser you know you can run it on a server using node um it's actually really i'm really proud of how easy it is to set up it's just like you npm install snarky.js and then you're off to the races
and basically users will use that kind of javascript bundle corresponding to the contract to to interact with the contract essentially um and then to generate proofs of their interaction with the contract which then get verified on chain and applied to the media blockchain state okay yeah it's basically like so part of the contract executed this is happening off chain but the way that you're kind of doing validity proofs or some like proving that those have happened correctly is through the mechanism you just described yes exactly so like all the contract execution basically most of it happens off chain which is how you can enable privacy as well because like sensitive data doesn't need to be submitted to the chain private user data doesn't need to be
submitted to the chain in order for the chain to know that the contract was executed correctly because you're providing this proof of the correctness of the execution and the only thing that's written on chain like you wouldn't be able to like see the thing that's written on chain and then like deduce what had actually been executed it's just that you know that that execution happened correctly yeah exactly yeah because of the the magic of zero knowledge um one of the things that i want to understand about snaps though is there's i mean at least in the way that i've understood it it's this connection between like real world data and the mina protocol and the and the smart contracts what where is that happening
what does that mean and then maybe we can even take an example maybe you have like a use case that will help us understand this a bit better so if you zoom out a bit right one of the issues in the blockchain space today is that there's no really easy and prolific way to import data right from the rest of the internet from the like the web 2.0 world that we the 99 of the world uses um into web3 into the crypto land perhaps the only way to do that is using oracle's right but those are very rudimentary solutions where you know there's an intermediary a set of intermediaries that only you know stream a specific set of data and this causes a lot of problems
because um a people exist in the real world like in the real internet or the web to internet and then you know they they can't like start from scratch not everyone can start from scratch not everyone is the nerds that we all are right like we like to dig into everything so there needs to be this easy link um and as we were thinking through this problem you know again through the magic of zero knowledge and other cryptography what we stumbled upon was that hold on a second all the modern websites are https they're all cryptographically signed and that is a computation right so that can be snark basically so what we've come up with is uh and you know we're improving upon it as a protocol which is going to be a
library within our snaps sdk stack where you can basically prove that any data exists on any website as long as it's https right and that any user individual can prove that the data is legitimate along with the type of computation or fact checking that they want to run on it write the private computation that isaac just talked about and then share that onto mina so basically you don't have to resort to any oracles or you know you're not limited with you know whatever data the oracles are streaming so you can grab any data from any website and share it privately i kind of see it as uh you know those in the us might be more familiar but like a private plaid for everything right like if you think of
this plaid this service that you know in the us we're all stuck with where you have to use to link your bank and it only works with banks and platt sees all your private information all your financial like banking statements and so does you know whomever they're linking it to with this you know there's no intermediary you're using the magic of your knowledge and you're able to share all that information privately to the service provider that one that you want to use so that's it at a very high level uh maybe isaac can speak a bit more on to how how it actually happens yeah i and i will also just want to stress like two things about what you said so like the first thing is it differs from existing things as emory was saying in that it's really easy to import from any existing data source you
don't have to like make a new oracle or whatever as long as it's like on the web you know on https which pretty much everything is and then the second is it's possible to use this data without like having to reveal it publicly because like normally any kind of oracle data would be operating in an on-chain context where it has to be revealed publicly for the contract to use it but it you know with snaps um and we're calling it this kind of functionality web snaps because like the smart contract execution is happening locally you don't have to post that data publicly anywhere there had been an example that had been floated to me by someone else who was explaining or trying to explain snaps to me which was this idea of like github commits
as a potential source would this be something possible like you sort of said it's https but is it sort of like any public record that is in a browser that's provable could be incorporated into this if you wanted you could be like i have an nft like maybe you have a smart contract that like mints and nft corresponding to github commits that are longer than five thousand lions or something like that you know whatever um so that's if you wanted to do that you could do it it does allow for many you know interesting novel use cases though like some might be just hacky interesting fun things like what you just mentioned or get off commits or you know like if a reddit vote or reddit post receives a certain number of
upvotes you can meant the commemorative nfd or whatever right it's because anything you know anything you see on a website is possible to be linked or there's you know more let's say serious examples as well one uh proof of concept that we released um earlier on was um with an ethereum app called um in the d5 space called teller and they're trying to do unsecured lending and we were able to basically link the credit score of of any user um on credit karma which is again a you know popular credit score checking website in the north america and you know you can only you can grab your data from credit card by the way we never talked to credit karma like it
wasn't like they needed to set up a special api for us or anything it just it just works and um you know you prove that your credit score is about a certain threshold then you share that proof with uh with teller and they verify it so you know they don't see your social security number they don't see your actual credit score they just get this proof that a source that they trust which in this case is credit karma because many people trust them has shared that your credit score is above let's say 700 but sky's the limit because you know this is infinitely programmable emery in the example you just gave is there any sort of nft of this in there isaac you had sort of mentioned nfts a few times and i'm just wondering if it's like
if there's an nft of some action is that helpful or does that like super not matter it's just like something that it could be a mechanism to use it could be we actually haven't like really like nfd's you know it's like hype cycles so now we have to think about nfps i guess but uh yeah it's not it's not like it's definitely not a core part of the system um you could you know and i'm sure developers will come up with cool ways to make the system better thanks to nft like structures but it's not like a requirement or anything do you also see i mean you talk about web data and maybe this is sort of ridiculous but would you also be able to use this for other networks for other blockchains or is there like no point in doing that because those are public
ledgers that are already like shared no you could you could it's it's actually there are some pretty cool use cases on this like our team has been working on a lot of you know like cool demos one of them for example is like let's say a exclusive you know messaging board for people that only um own bitcoin or who can prove that they own bitcoin before i don't know 2014 right or you know if you own a crypto punk um but and in these instances you don't have to share your address right so you know even if you owned you know point zero one bitcoin you can hang out in the same club with the person who owns i don't know ten thousand bitcoin wow because you're not sharing your address you're only proving that you own bitcoin before a
certain date or you could have more than an x amount of bitcoin or or ethers right because again you're just proving that a certain cryptography in this case the signing of of a public key with a private key is legitimate and then on the flip side there's an interesting not to take to too many places but there's an interesting flip side to this if you go back to the genesis of mina which is the succinct blockchain um the core premise not only does it enable anyone you know joining the mina network as a full node from your browser smartphone whatever but uh other blockchains are also computers so other blockchains can also join mina as a full node so this creates the possibility for these trustless
bridges where um an ethereum's app or you know polka dots a lot of what whatever they can all be writing full note verifiers of meera within their chain as a smart contract and dapps on ethereum such as teller right can be monitoring that smart contract for state updates to mina and basically grab the snap verification of whatever data that they're trying to verify on mina and basically use mina as an add-on to their application so it's not like to benefit from this developers have to move their entire application over you know have to deal with this very complex and strategic decision it's just an add-on so we only see this as a value add to the entire
space and basically has this gateway right between you know web 2 data and web3 services yeah this is interesting i actually want to talk about bridges a little bit more but before we do that i actually want to talk i sort of want to just go over what we just covered this idea that like you're taking any cryptographic action proof or something and you're actually able to use whatever it describes without revealing what it describes in a snap for some other action so i think the one you just said is like you have some cryptographic thing that allows you in a club you can prove that you have that thing without revealing what you actually have where your address is the amounts or whatever and that through a snap it
would like allow like the snap itself would be like the club maker and you'd be allowed into it i don't know maybe it's a very vague example but that's really cool i don't know for me that sort of i think it is the first time that i'm actually understanding stamps i have tried to to get into it before so i'm really glad um if if i got it right i think i got it right right yeah pretty much uh yeah totally yeah clubs are not the only use case but uh yeah okay i think like a lot of the quote-unquote use cases which have been perpetuated so far have been kind of limited to either you know fantasy realms of game related things or fantasy realms of financial speculation because there's no
nothing to refer to you know what i mean like everything has to only refer to things within the system so it's kind of uh not very meaningful in a sense so this will kind of open the door to just bring in all of this like existing meaning in in some sense and meaningful data to operate on so at first when i heard about this this idea of like bringing web 2 stuff in and i don't know that it is in any way a reference to this but is it at all like a way back machine where you can like it sort of proves something at a certain time that is at a certain time something was true is there any for some reason it was this idea of like like logging https like somehow like
proving that it existed made me think of this wayback machine but am i totally off base is there any connection there it it is like that it's like you know it's kind of like an authenticate like a verifiable screenshot okay you know so it's like you might want to like use some fact right so you'd be like hey like i got an email from uh i don't know who's a famous person the president emailed me okay and you're like no no i don't believe you so then i would be like oh yeah no really the president emailed me here's a screenshot to prove it right but it's like okay well a screenshot you know i know i know how to use photoshop i'm sure you do too you know you can you can do that yourself but actually you already kind of have the data in hand to really prove
that the president really well emails kind of a special case but let's say twitter dmd or something okay because you you have this tls transcript that you know comes from a trusted source like probably you're not able to like go in twitter and like edit their database of dms you know what i mean so uh you actually have this cryptographic data of the tls transcript which is sort of like a cryptographic screenshot that then you can uh wrap up in a snark and use inside of a snap now i kind of want to go back to the concept you brought up emery this idea of bridges and i know bridges is like a key part of like mina's plans right now but first of all what bridges are there are there already live
bridges or what bridges should we expect to see pretty soon there aren't any live bridges today they take a while to build but we have announced a few initiatives the first one we announced a while back actually is a joint grant or an rfp with the ethereum foundation to build a essentially a full node bridge from amino to ethereum so this would include like a an efficient verifier of the minif minus narc with an evm and you know everything else that comes with it so the mina foundation is actually actually found and the ethereum foundation they found a you know a developer to start working on this um they they are going to announce it soon um but so that's
that's getting started on and then it was also recently announced thanks to the i guess the proliferation of edm right polygon also is going to leverage this bridge because you know they're basically able to reuse it very very fast and um yeah obviously we're in touch with other non-evm layer ones as well because you know they're interested in the same functionality because it basically kind of opens the doors of web 2.0 to to the apps on their platform so that's that's a valuable use case and um we see bridges as you know the way where you know mina is another layer one but you know it should be able to talk to other layer ones um if if we want to really enable this for developers
because as great as mina is other chains are great in other things and we want to respect that and and enable enable everyone to do this i want to now look at how the snap and i know you had just you had mentioned sort of a path for a snap over a bridge but maybe we can just cover that again because i like i think you just mentioned it really really quickly but i want to explore that like i'd love to like think of an example of what exists today on ethereum using that bridge a snap and i guess bringing back that result i sort of want to know how that would work because it it's not necessarily like token exchange happening here right it's like data exchange across this bridge sure so maybe just to you know explore
more examples um let's say a ethereum app again or you know defined app wants to serve only users who can prove that they're not a resident of the us i was going to do it the other way around but no no app does that nobody no one welcomes us users um thank you sec and others um anyways sorry um and uh but they don't want to you know hold on to any of the user like any other pia any other personally identifiable information because you know data nowadays is a liability so what can be done thanks to snaps is there can be a snap that basically leverages any kyc provider that this
defy app trusts let's say it's one of the crypto exchanges right let's say it's coinbase and by using either coinbase's apis or or even just the web page itself the snap can like the user would have to log into their coinbase account and then the snap would basically guide them to the page or the api endpoint that shows that there they have a verified kyc with coinbase um and then it would generate a proof on the user's machine of that and then the user would also by the way all of this would happen in a nicely you know nice app with a nice ux yeah and then the user would submit um that proof via a transaction amina to a snap
account that's set up to verify such proofs so you remember when you know as he was describing the architecture on these snap accounts are basically holding the verification key and um only if they receive a snap transaction with that proof that is able to be verified by that verification key so by that circuit do they update their state right so let's assume it's true it goes through and then the snap account updates its state to say this proof checks out this basically what it does is like this address has a proof that says that they have access to a valid coinbase account um and you can you know but also like combine this with it with other conditionals such as like do they have access to a kyc account
that also has the name emery take a shop right so it's so that i'm not grabbing someone else's you know kyc data and then this defy app in return is also monitoring the the smart contract that tracks the mina state and because the snap account is associated with mina's global state that smart contract will also update this state right because it's it's checking the canonical mina snark and it's getting the other you know the other information from the merkle root and then that defy app then can basically look at the smart contract and say yep the the kyc has passed through or the user with this address who also happens to have this ethereum address has access to a coinbase kyc account with the name of thank you shop so i'm
gonna i'm gonna serve this person because they're not in the u.s and then it gets executed on the ethereum side yeah everything else is happening on ethereum right or the host chain like all the logic keeps happening there of course you know the other benefit of snaps right is that because computation is off chain they're much cheaper right so we do believe over time that you know hopefully these applications also see other benefits of mina both the succinctness as well as you know the the cheaper computation cost similar to zk roll ups right on ethereum and then decide to move their stuff over there over to mina but you know we don't want to burden folks with that decision because um yes like mina is new there'll be many
deficiencies compared to more mature ecosystems like ethereum but but we want to provide this benefit right away so that's why uh we see the the concept of bridges here is very important are these bridges this is a topic in general i want to explore more maybe in a whole a whole episode but this type of bridge like the snark itself still lives on the snap side right the snark or actually what you described like is there part of the snark actually i think you did say this like the prover is sort of going over this bridge right like there's or the proof rather there's a proof going over the bridge but otherwise most of the snark lives on the snap yeah exactly exactly so like well i guess the way that i would say it is like there is the kind of mina like super snark that basically you know
verifying the meanest arc implicitly verifies like every single snark that has ever been posted to the mina chain so every execution of every snap and every snark involved in that snap that has ever happened you know okay so like what the bridge actually does is basically import the mina like uber snark into the host you know the other blockchain okay and verify it there the ethereum bridge the way that it's going to be designed is basically well the amino uber snark will sort of be verified on the ethereum blockchain like any vm and that will kind of give access to all of the information that's already been verified on mina i see does that mean that is like the verification happening
in the smart contract on ethereum the smart contract on ethereum will just verify the mina uber snark uber snark but the snap actually has the verifier of the like the proof that the snap will actually var or verify is the data part like the thing you're trying to prove and then that snap pushes something into the meta snark that is then verified on the ethereum chain okay so like let's say you want to make an application that's like you know i want to build uh like i want to have a smart contract on mina whose state is basically you know the set of all like github users who have proven that they have you know have done a commit every day for the last year i don't know whatever okay
so basically uh the way that that would work is you would make a snap on mina that you know that has like a it's a smart contract it has like a you know a method that can be called on it which is basically provide proof that that i am a you know a super cremator or whatever let's just call it being a super committer so basically people can interact with the smart contract by providing it with like the cryptographic screenshot of like going to their github and showing hey i committed every day for the last year that will you know update some state on mina which basically records the set of all the users who have provided that kind of proof and now after the user like gets their cryptographic screenshot they'll like generate a snap proof you know by running the github recorder
smart contract snap locally that will generate a proof that they'll submit to the amino blockchain that will update the state on the menu blockchain that of all the users who have proven their github supercommitters and then the meena snark at that point the mena uber snark will implicitly you know have within it the the fact that uh this set of github users are all super committers but you won't have to like go and verify all those old proofs those all those old proof verifications are encoded in the mena uber snark and then on ethereum like you'd bring you just verify the mean or uber snark and that would also implicitly verify you know the correctness of the set of supercommitters referred to in the meanest state does that make sense yeah
it does accept that like how does like on the ethereum side you're talking about the meta snark but the metasnark also has within it all other snap activity and transaction activity like there's a lot of things that have gone into that updated snark on the meta snark that the ethereum side would then verify but how like if it doesn't know the other stuff how does it still know that just the github data is correct maybe one other way to look at this could be that similar to like the mina full node like the generic full node right the way that's structured is there is the canonical proof but there's also like what we mean when we say 22 which is also actually 11 kilobytes is like a full node for one account
right so like you as a normal user you usually want access to one account and for that you have the 11 kilobytes consists of the proof the canonical proof as well as the merkle root and the microbranch to your own account and then certain other metadata that allows you to send transactions and sign transactions and whatnot right um similarly in a bridge here we haven't yet figured this out but likely there will be one smart contract on ethereum probably will be the mina full node watcher let's say like that's just gonna update each with each proof and then there will be a second smart contract that monitors the the merkle branch just for that specific snap account that you want right so that smart contract is going to update its state
basically and make sure that the the state it has is against um or the its merkle root is within or is compliant against the the latest canonical proof and then the there will be a third smart contract which is the actual dap that you know wants to injustice data so it's going to ping both of those smart contracts and make sure um that it it gets the data at once and and it confirms that the data is from the latest state which is guaranteed by the canonical proof okay i think i understand this now awesome very very cool where do you picture the builders living in this scenario do you picture a snap builder especially if they're like bridge users would they be working on both sides of this bridge or do you
actually imagine like snaps existing and then ethereum dapps using or just interacting with those i guess it depends but it depends we the way we see this is that um a dapp developer on ethereum or other chains will basically also develop their own snap and that's why also right we wanted to go down the path of typescript because it's way more universal than anything else maybe barring solidity because we're in the space but you know what we mean um such that you know it it's not too hard for a little developer to pick it up and then basically deploy deploy their own snap on mina and then leverage the bridge right um so yeah we want it to be easy such that any any developer can pick it up
cool so i think we've covered snaps pretty well i feel like i have a way deeper understanding on how they work on how developers could potentially interact with them maybe even how users could sort of understand how they're interacting with them but where are we at with snaps actually like how far along is mina to having snaps be live i'm just curious a little bit about your road map when can we expect snaps on the market so the goal okay so there's like a few different pieces of the puzzle there's like the support at the kind of bear protocol level and then there's the developer tooling so on the protocol level the goal is to you know have them running in our next
test night in november and on the developer tools level we you know we have kind of the initial version of snarky.js out there we recently had a small workshop with developers um starting to use it and there was like really positive feedback so that's really exciting there's still some more work to be done on the tooling side before it's super ready but you know that's kind of the current state of things um yeah so i guess the short answer though is like on the protocol side it will you know inshallah hopefully be on the november release it sounds a bit like soon tm it's like i know it's always like a little scary to predict but it sounds like you're close so like maybe end of this year
yeah that's that's that's definitely one hope we you know we hope we we do have a good sense of how we're progressing after having been through many of this to launching mainnet and this one feels good so um yeah crossing our fingers i mean i think this is gonna be a super cool like platform basically to start experimenting with some of these zero knowledge ideas that have been floating around for a while like i remember on a previous episode you had shared actually this idea isaac of being able to prove and close source repos that some piece of code is in there and like the thing is that was always amazing theoretically like with a zero knowledge proof but like i personally didn't understand how you actually get from there to like
these blockchains that we're working on and it sounds like with snaps you're bringing it like that's the bridge that's the thing that's where you get to actually experiment and build these real zero knowledge cases and actually see i guess what works and what doesn't yeah totally because like you need in order to like have zero knowledge be meaningful or whatever like you need to have some meaningful data that you're keeping private right and until now there's been definitely a lack of of that so i think it should unlock a lot of cool applications cool well i want to say a big thank you to both of you for coming on the show and exploring snaps like in depth this is kind of what i've been wanting to do for a while i'm so glad i got a chance to do
it so yeah thanks so much for being on here yeah thank you for having us anna thanks santa and i do want to mention that like this fall actually there's an event that the zkv and the zk podcast are actually putting together called ck hack mina you folks are going to be a participant in this so there will be a workshop hopefully near the end of november-ish and yeah i guess it will be very exciting to see where you guys are at by then and uh hopefully we'll get a chance to start playing with these things yeah we're super excited to get in front of developers and um yeah really see you know what what the power of zkp's allows in terms of creativity and new novel applications for crypto i want to say thank you to the podcast
editor henrik the podcast producer tanya and to our listeners thanks for listening [Music]