ZKPodcast: The Dive into ZK with Iron Fish’s Elena Nadolinski
26 May 2021 · 52:36
Iron Fish founder Elena Nadolinski joins Zero Knowledge hosts Anna Rose and James Prestwich to trace her path from Airbnb into Ethereum hackathons, Solidity and NFTs, and eventually into zero-knowledge proofs. She describes how her exploration of SNARKs and the Sapling protocol led to Iron Fish, a privacy network aiming to serve as a shielded pool for assets from other blockchains.
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 james and i chat with elena natalinski founder of iron fish we talk about what got her into blockchain and zk tech the work she's been leading first on beanstalk and now on iron fish and how a super light and easy to set up node infrastructure is a key
component of a private blockchain system now before we jump in i want to share two ways that you can connect with the zk community and stay up to date on all the activity in the space the first is the zk mesh newsletter it's a monthly newsletter that showcases the latest research articles videos and resources on the topic of zk and privacy blockchain tech the next one comes out in a few days so be sure to sign up today the second way to connect is to sign up for the zk podcast events and announcement newsletter sign up here to get the news on what's happening in our podcast community i've added both of these links in the show notes there's also more links further down in the show notes to telegram groups or youtube channels or any other ways that you want to
connect i also want to thank this week's sponsor ave ave is an open source decentralized non-custodial liquidity protocol on ethereum with ave users can participate as depositors meaning they provide liquidity to earn a passive income or they can act as borrowers to borrow in a over collateralized way or an under collateralized way think one block liquidity flash loans ave has also deployed a new market on polygon sidechain to let users pay much lower gas fees assets can be transferred from ethereum with the polygon bridge and put to use on avi's polygon markets you can learn more about this on the ave blog i've added the link in the show
notes so thank you again ave now here is our interview with elena from iron fish so today james and i are chatting with elena natalinski who's the founder of iron fish welcome to the show elena thank you so much really glad to be here and nice to see you again james it's good to be back so elena this is the first time that you come on the show but i think we met actually a few years ago in buenos aires is that possible yeah that's right the hackathon and i feel like i've seen you over the years like i i don't know was that the first crypto event you were at
actually back then or were you already in the space that was actually the last one that i was at before i quit my job yeah i think i remember that so let's hear a little bit about your background what were you doing then and like what have you been doing since then yeah so the way i got into crypto is actually through those hackathons through these global hackathons and i guess to go even back further than that so my boyfriend at the time now husband his roommate was juan bene who is a founder of file coin protocol labs and one day he says you know i have a friend they're doing a dinner party do you want to come and uh and so we drive over there and have his dinner and
everyone there is talking about ethereum this was like 27 like mid-2017 i think uh like early 2017. and i remember i'm like on the car ride back i'm like googling the car like what is ethereum uh because because i still didn't quite get it after all those conversations and there was a hackathon announced the first youth global hackathon called eat waterloo and i remember having this conversation where you know i was thinking like should i go should i not go this this sounds really interesting and dylan said you know like this is going to be the first hackathon like probably everyone's going to be there like if you're remotely interested you should go so i buy my plate ticket and i go to the ethiopian hackathon and i was just blown away by how open the community was and how many people
were there so the story that i like to use of like how i got into crypto is you know i'm doing this hackathon i'm doing a video streaming ipfs using like a quote-unquote you know stable coin and my metamask integration isn't working it's 3am i'm like tearing my hair out not sure what's happening it's not working and i asked someone for help who's a mentor and the mentor comes over and says you know i don't i don't know what you're doing wrong it seems that it should work but dan finlay who made metamask is like right right behind you so i do like a 180 with my chair and i asked dan finlay for help and at 3 30 am dan finley and i are like debugging
metamask on my computer and i was just blown away i was like whoa like i want to be part of this this is so cool so that's cool you were like you were right in thick of it right off the bat it sounds like what were you actually doing at the time though because you were already a dev right like it sounds like you had already kind of like you'd finish school you were doing you're working professionally right yeah i was a software engineer at airbnb working in search autocomplete search to be exact so definitely not crypto but airbnb i like funnily enough actually did have a pretty strong crypto presence there was a slot group that i think at some point before i before i left got to like 400 people people talking about crypto but it was like very peripheral like it was just casual conversations
so this hackathon was actually the first time that i got to write any like city code it was the first time that i could like think about you know how does this tech work like what what are the limitations for it yeah so that was a really cool experience and then the next hackathon i did i was actually with the openc co-founders uh alex and devon if you know them and we built an nft generator so like drop and drag like pictures and then you make nfts this was like 2017 2018 like and the next hackathon which was east denver someone asked me to do a talk and so i did a talk on like live coding nfts on stage so it was like a 30 minute slot and so the whole premise was if i can live
code on stage an entire nft smart contract with like some very basic ui then so can you as like an inspiration for look how easy this is and also to kind of demystify this myth that erc 20s are hard because at the time 2017 if you remember it was all about and like erc20 is like on the blockchain technology and so that talk was really successful and so i got asked to do this talk again and again and one of the people from youth denver that saw me give that talk were the zeppelin guys the open zeppelin guys who were in buenos aires so i got kind of involved with them because they were working on upgradable smart contracts which i thought were super important in space
so i kind of dove into that kind of area and wrote an article for them of like how these things work and like like under under the hood and different kind of approaches to it and they asked me to be at their conference in buenos aires which was at the same time as youth point of sara so i got to do two talks of buenos aires when you saw me there amazing but like at that time yeah you weren't like were you interested in zero knowledge proofs already by eth buenos aires i'm kind of curious like when did the zero knowledge stuff kind of cross your path oh yeah it was actually from that first hackathon it's like the hackathon that keeps on giving um waterloo yeah yeah that's i did not go to that and i am bummed because that's like that has come up so often on this show
as like i mean that's where cryptokitties was like that's presented i don't think it was like built there but it was presented there there's like tons of teams that were formed but that's where you first came into contact with zero knowledge proofs not quite but that's kind of where i got the idea so the project that i was working on for which i did get a prize for which was very nice um was video streaming ipfs i'm sure like as a podcaster you probably know this process of how to how to like take an mp3 file or an mp4 file and break it down into different formats so it can be streamed somewhere else so the way it did on ipfs was or the way how streaming works is you break up a large file into smaller files and as your player kind of downloads it
actually downloads the next immediate file chunk to play it for you and then kind of discards it so i broke up the file into smaller chunks and put it on top of ipfess and then for might be fast you could actually stream it with the smaller chunks but the actual process of taking the video and transcoding me and transforming it into from one file to much smaller files that was done on aws because for my demo i can you know you can't do it on ethereum you can't transcode a video file on ethereum that doesn't make any sense so that got me thinking of like well if i were to do this project in a fully decentralized way where would this heavy computation go and you know for ethereum doesn't quite make sense because it doesn't make sense
for every computer in the world to transcode a video that you decided to upload somewhere that doesn't make any sense so you know can you make kind of a network of computers that would do this heavy computation of transcoding video and then get some reward for it so then i started thinking of okay well if a computer in the world does do this heavy computation how do they prove that they've done honest computation so they can get rewarded which is a pretty perfect setup for zoo and hodge proofs and so at the time like i actually talked to the true bit team because they were kind of in that space as well and they have nothing to do with your knowledge bruce but they were working on you know basically like if you do do the computation and it is dishonest how do
you get caught after the fact so i thought that was a pretty like flawed solution um no offense i don't want it this is the idea of like you didn't want to do the submit and then find out later it's wrong but rather submit it perfectly like be sure in the actual submission that this has been done right yeah validity proofs kind of exactly and so the way i stumbled upon zero knowledge proofs is i went to a coinbase event and i met joey krug and i kind of knew who he was at the time and i wanted to you know talk to him more and you know jerry krug is not the type of person you do small talk with you can't really ask him about the weather so i asked him about this problem like
you know i'm thinking about honest computation what are your thoughts there and joey crew said well i don't really know but i have a friend charlie noyes who's thought about this problem before and so then i go talk to charlie noyes and charlie noyes um sends me the pinocchio paper the oh i don't know if you're familiar with that one but this is like yeah it's like predecessor to a lot of the zk stuff today right like exactly this is a very academic it's not is it a library is it a construction or something well it's a paper well i guess like a work of research from microsoft and ibm research by four authors i believe hence the i think it's pghr don't quote me on that and it was kind of like the first paper
that made zeki snarks a bit more efficient for generic programs and the paper itself was actually very short i think it's something like 16 pages or something and i remember reading that paper and i remember thinking like firstly this is very complex i don't have the background knowledge to understand this but also wow like this tech is really really cool and i kind of immediately understood that okay like this deck is still too early to be used for something like video transcoding but whatever this tech is like that is the future like zero knowledge proofs are the future i don't know how they're gonna be used whether it's privacy scalability honest computation like whatever that thing is i don't know but i want to be part of
this tech cool so did this i guess this brought you right in contact with zcash i'm guessing like the next step like if you're if you found the pinocchio paper like right would you have then been like wait who's doing this in the space who's working on it like they were the most visible group using zero knowledge proofs in 2018. at some point though you jumped in like quite deep into it the the talk was this talk at zcon1 in croatia that would have been a year later where you were presenting like the details of sapling right yeah so like what what were you doing in between those two times yeah i'm just curious what you were doing then yeah so i don't remember the exact timing but either punishers was like right as i was leaving airbnb and then z con zero
was when i was like a week or so after leaving the airbnb or something it was like very close okay so you said that you left airbnb and you were kind of i guess like you were looking for your next project or something like that but what what did you do after that did you spend a lot of time doing research were you like doing some open source contribution yeah what were you up to yeah so i at that at that point i kind of knew that i wanted to work with privacy and i wanted to work with what's your knowledge proofs to some degree this was like still like exploratory and uh and part of the reason why i left my job is because i wanted to focus on that full-time and was starting to get kind of hard and i actually met an investor his name's
elod gill and he's pretty prolific in silicon valley also like a very kind human and we had a conversation where you know he basically said like what would it take for you to you know focus on this full-time and you know and i said something like i need some funding because i want to hire people and mentorship because i've never done a company before he was like great so that was that was a pretty easy conversation so i hired my friend from facebook so he actually lives in canada and he worked at facebook when i was working at microsoft that's how we met and then he decided to work remotely in canada and so that didn't quite work out and so i was able to grab him and to hire him and honestly for the first six months after zconzero it was just research it was just
research on different privacy solutions how does monero work how does this grin work green was just coming out oh yeah how does you know zcash work and you know also research in xeon launch proofs like how does elliptic curve cryptography works because we were both engineers but we were not cryptographers whatsoever like how does diffie halloween work like like very very basic stuff so we actually like started from like basically from the ground up of like learning how all this works so for me um when i when i learn it works through a forcing function and so defcon 4 was coming up so i decided to sign myself up for a talk explaining how zero knowledge proofs work and we got a proof of that for that talk and that talk was october 2018 i think and so
that was you know a forcing function for we need to learn how this tech works and yeah so the talk was actually very much how our learning experience went you know how does basic cryptography work what's the history behind it how do lipto curve you know math works um and then kind of a build up to here's like a very high level of what how zk snarks work but but it was like a mid level because the frustration that we were working with is there wasn't any mid-level kind of conversation around how ziki snarks work is either very high level of like alice and bob are running through some cave right and then it went from that level to like way deep of like you know this is how the construction works and so it was very difficult to kind of get the high level
of how like the case arts work that is so true that is like i i i feel like it's starting to be filled in a little bit more but i i completely appreciate that issue of like i mean i've given talks on zero knowledge proofs which are very very high level and they're so far away from like actually using them that i wonder if it's like a great introduction maybe for people to imagine business cases but it's not a great introduction for developers to really jump in and this is what you are providing that's pretty cool yeah and then at the time like i think socrates was the only dsl domain specific language for snarks so a dsl it's kind of like you write in pseudocode
and in the background the language will construct like circuits for you which will translate to the zero-knowledge proof and for socrates in particular the thing that they've done which was super convenient is they would auto-generate acidity smart contract for you they can deploy for verification nice which was like actually like a very small step but it was very very useful so yeah so we did that so i did that talk at defcon 4 and that was great because i got to meet again a lot of people who are working the space and my experience so far like being in crypto in particular is the people are extremely welcoming and if they see that you care about the same problems that they do you know they will help you which is
such an it's just an amazing like like encouraging open and welcome system that i you know i keep wanting to emphasize that especially now that you know there's like a lot of toxic things happening in various communities but i do want to remind people that in comparison to other industries this is amazing although what you are also talking like your period and also mine like my onboarding period was mostly during a bear market tyrone has mentioned this a few times like you make the best friends during a bear market because that's when the tide is out and nobody really cares what you're doing and the people who are there are pretty genuine whereas you know when it's more bull market there's a lot more people it's a lot harder to tell kind of who's who's going to stick
around for the long run totally and who's here to help you instead of help themselves yeah but anyway that's a that's a tangent i think like i i'm with you though i think as a like given how how early so much of this stuff is there is so much to build that often like if someone is genuinely interested in like working on it i feel the same way like i've seen people in the in the study clubs or in the groups and the telegram groups or whatever like really start to emerge just as like genuinely curious people who continue to ask questions and continue to try to contribute or help out somebody else even if they're not in an advanced level like those are the people who start to kind of really show yeah exactly so throughout this journey like when we're looking at
privacy mechanisms and part of the reason why you know we started our envision back then it was called beanstalk it's because i really you know still believe that zero knowledge proofs are going to be a big part of whatever future attack is going to come out but going back to my previous example they're not advanced enough to do things like video transcoding so for for us it was kind of important to get involved with the tech but also kind of build a platform for it so that the tech can be used later on when it does get a bit more evolved and then you know looking into in terms of okay i really want to give back to the space i want to contribute to the crypto ecosystem how do we do that with the most impact and privacy was just the resounding
answer everybody at the time was working on stable coins and scaling and to a very large extent they're still working on those things and very few people were working on privacy like grin was like the only new project in that space aztec was just kind of starting to happen and so for me it was like well yeah of course we need privacy how are you going to make a global borderless unbiased payment system when everyone can see your funds and you know like impact like that would impact the holder of those coins if everybody knows how much they have totally and so when looking at privacy mechanisms you know we looked at monero grin zcash and many many others like the zcash sapling approach was by far
the best and so then when we looked at zcash as the company and the product and again like i'm very very thankful for them so everything they say is like you know i don't want to dismiss that i think they're an incredible project and team and in terms of community like they're probably the one of the most kindest most open people and so for us like when we looked at zcash we thought oh like we could take sapling and we could transform it to be you know something more usable in terms of a privacy coin but also use that as kind of like with the ground work for becoming like a privacy shield or privacy layer for other assets and so that's still like our very long term goal and there's a ton that we have to do to get there but for us it was like this was like a
clear starting point of saplings you know in my opinion still clearly the best uh privacy solution so how do we get close to that and work with it and figure out how to expand on it so yeah so for when we started reading the zcash paper especially like well the sapling spec paper it's like a mammoth of a document it's like 140 160 page document and it's very complex so it took us a very long time to get through it and so you decided you know what this is a i'm going to help other people basically because i remember you saying something along those lines i was at that workshop and i remember you kind of
giving everyone a heads up like i i think wasn't the name something like i read sap the sapling paper so you don't have to or something like this yeah that was my tweet actually oh that was not true that tweet it's a good tweet i thought that was great though and i think that that's exactly the kind of stuff that this space needs more of in terms of like i guess it's education it's it's kind of that bridging between that deep technical side of it and very very high level helping people kind of navigate through it and potentially use it is a video of that talk available anywhere unfortunately it's not because it was labeled as a workshop and they weren't recording workshops but the slides are available so cool yeah i want to add those if you
have them publicly i think it would be fantastic to add to the show notes you like you don't know how many times in the groups i get so many questions for like onboarding resources and i can kind of be like go to the podcast go to the like i'm trying to direct people in different places but i think those kinds of resources should really be highlighted because um they're super useful well uh i have a you know very distinct memory of being at zcon1 and sneaking into the back of the workshop while it's in progress and the specific slide about all of the different key derivations that are part of sapling um you know immediately clearing up my understanding of how it works this very distinct memory of exactly what it looks like oh thank you
oh i've actually had um some of the people working at the zcash foundation and z cash approach to me directly or over twitter dms and say you know we're using your slides because it's much like a more accessible kind of look-up material than the spec in terms of like onboarding or explaining to others how this works and so that was also very cool so let's talk now about like iron fish because this is the project that was recently announced and like what is iron fish is that an extension of the project you were doing before with beanstalk is it still like a research focused project or is there a product now we're much more product focused
so iron fish technically is beanstalk uh and the reason why i got my name just because we actually couldn't trademark beanstalk there's a credit card company i believe in denver that took the name and we went into trade market and uh so we went with the name iron fish and ironically or weirdly enough a lot actually has changed in the code base from the transition of beanstalk to iron fish in a very pragmatic way like we even we doubled out even more in terms of making iron fish more accessible and we kind of mean that in so many aspects like running a full node for layer one has traditionally been hard for various reasons um running in a minor
for you know a full node has been traditionally hard and i think like grin for instance to give them a lot of credit it's probably one of the more easier projects to get started in terms of running a full node and running a minor and they've done a lot of work on making their terminal ui work and i remember like one of the engineers we hired who's senior engineer very brilliant and it took him like two hours to figure out how to run a grin miner and that was the easy one oh that was the easy one um and so for us like really wanted to make an emphasis of this is a this is a product like we're focusing on on privacy this is a new blockchain but everything we're building from the ground up is very much focused on usability because
we kind of strongly believe that if you are building you know this currency for the people then the people should be able to run your software so you know and iron fish is still very early and we have a ton of bugs and we have a ton of flaws so i'm not not trying to hide that but our ethos is still the same so we did launch our test on april 6th and if you want to run iron fish you have to brew tap and then brew install iron fish and then iron fish start you have a full node running open another terminal iron fish miner start you have a binder running and that's it you're done like you are now onboarded congratulations wow but would you still have to set parameters like is there
is that sort of like the onboard is easy but then like do you still have to do something if you want it like optimized in a particular way sure i mean we have configs available um you know if you want to connect to different bootstrap nodes you can actually do almost everything from the command line and then some things you have to go to the config file to change but you know if you're a power user you're probably familiar with that anyways but if you're just curious and you wanted to figure out okay i want to set up a full node um how do i do that that part we tried to make it really easy and uh and you know and like i want to be pretty humble about it like there was a ton of learnings that we had throughout this project and we know
we have still a long way to go you know i think iron fish did receive like the hug of death on like day three post our launch which was like a you know double-edged sword it's great to see how many people are using it but you know like after i think it was like roughly 450 full nodes and probably that many miners you know we definitely did get sinking problems so if you launch iron fish today you might have some problems however we do have a fix coming staging right now you just called this the hug of death is this like too much love what is that yeah the hook of death is you know like like when someone posts something in like hacker news or or it becomes like viral on twitter and then the website goes down because too many people are clicking on it
so before we launched iron fish i think we tested on something like like consistently tested i'm like you know 20 nodes 20 miners and it was all fine and uh when we talked to a bunch of other people who've launched test sense before you know we kind of thought okay we're going to have roughly 200 people run a full node this is like from casual conversations of just other projects and then you know we had like more than double that we had like 450 people run a full note on day three and that's when we started to have like sinking issues so again we're fixing it it's on stage i want to know a little bit more about what this client software is like first of all is it a fork of z cash because there is some
relationship right like it's like as i've understood it like sapling and all that work that you did on sapling like it's connected to what you're doing with iron fish yeah is it a fork of the actual client software or is it something else so iron fish as it as it is is not a fork of zcash it's a new project from the ground up and the reason why we did that is because we wanted to have flexibility of really like building out the features from the ground up to make it more usable i was going to ask uh zcash inherited a lot from the bitcoin code base uh is this a completely new implementation or are we trying to inherit from older blockchains no so this is an entirely new implementation which you know again is a double-edged sword it comes with benefits
and it comes with drawbacks so when we were called beanstalk we were actually fully in rust so we started with sapling and we took sapling we didn't even take full sapling we actually just took the proof generation verification and we inherited some other some other things to make it again like a more readable sapling in terms of code and and then we decided to kind of build on top of that because you know we started with rust and rust is a very performant efficient language and so we decided to build out the entire blockchain implementation in rust as well and we realized that was actually a very daunting challenge for many reasons you know rust will make you go slower in terms of development cycles and you know the open source community
is getting to be you know more mature but it's still not quite there yet and if you wanted to have integrations like it we were very much fighting the language and then when we raised around and were able to hire more people we realized hiring rust developers was very difficult and if we wanted to make sure there's not that many yeah there's not that many and struggling with that right now oh man and uh we wanted to experiment with a lot of ideas like we wanted to experiment with a new block thinking technique and we realized that every experimentation kind of cycle because we were doing things rust would just take us a very long time so it was very hard to innovate when your development cycles were three months instead of three weeks
as it would be in a different language so we actually decided to switch to typescript which you know in terms of performance of course is going to be slower than rust but in terms of development cycles it gave us a ton of flexibility to be like more experimental and to think about efficiency in a much different way and also to hire really great talent that didn't have to have this like really steep learning curve so so iron fish is a new blockchain from the ground up and so you know for us like we think about efficiency in a very different way in terms of like how do we sing faster but like logically not so like you know the node takes up all of your cpu because rust is pretty greedy in that regard
it's more like how do we think about it in a more logical way how to make it sink faster so it's kind of a blessing disguise as well because you know we are able to run on basically any device like any device that can support node can support iron fish and the crazy idea that we kind of realized was actually our entire tech stack can be fit directly into the browser like we can have a full node implementation be like directly in the browser which at the time that i thought of this idea i thought that was super revolutionary uh and this was actually done before this there's a project called b coin which is a bitcoin implementation in javascript and they have a client
that works directly in the browser i think that project for what it's worth is somewhat abandoned i'm not entirely sure the bitcoin team bitcoin is maintained by the purse team and they put a lot of the development resources into uh handshake and so hns uh the handshake node is based on b coin gotcha um so it's still somewhat maintained uh but not as much as it was three years ago gotcha i mean that project for us was just very encouraging to see that this is this is possible this has been done for bitcoin uh and bitcoin is you know a much in terms of size and much bigger blockchain and this is still possible to be done in the browser what are the what are the pros and cons
of being able to run a node in the browser i guess it's more accessible to people it's lighter but is there some downside to doing that too yeah so a little bit more in the pros um for privacy coins in particular if you want full privacy then you're going to have to run a full node and even like clients and like zcash has their um implementation it's not like you will be giving up some some privacy to it when you're using it and i don't want to get into the details because like a very philosophical argument of like okay well if this happens then that happens and maybe you lose some privacy but i think like most people will agree that to some extent you are leaking some privacy so if you really want like full full proof privacy you're going to be
running a full node and so for us it's very important to make that accessible how do you make a full node run you know faster easier and so on so for us you know the idea of ironfish running the browser is a pretty powerful one because again like if we're building this for the people that people should be able to run it and if you can make the argument that it's as easy to run as opening a tab um with persistent storage so don't worry not it's every time you close the tab it doesn't mean you have to restart re-downloading iron fish so that was like a very powerful thing for us that's kind of what we're focused on cool i guess like if you have a shielded account wallet are you running a light client like on your phone if you had that is that how you're syncing or are you is
your wallet syncing to a light client or a regular node and sending you the information back this is actually just a clarification so uh so i think the way zeke wallet works which is on your phone um so zeke wallet does support shielded transactions on your phone i believe how it works is first there has to be a dedicated like client server that can support a phone and this can support the phone um basically the phone will say i would like these block headers i would like these like notes and whatnot and this particular like client server you know can kind of give them like a trimmed down version of the block so that the phone can actually process it so for instance if you've used your zeke wallet you know app for the first time
then there's zero syncing time because the wallet understands it's in your wallet i don't need to sync if you use it once and then don't use it for let's say a couple weeks then the next time you come back to it your wallet will be sinking to catch up when we think about these things there's really kind of two questions you want to ask which is what can the server learn about the phone uh or the light client so can it learn what block the phone is on can it learn who you know who's running that what the os is what kind of private information can it learn about the phone and the other is what kind of thing can the server conceal from the phone so can the server you know just
not send me information about a block or a note and prevent me from learning that i received a payment or show me the wrong balance for my account yep but is there i understand that example now i want to go back to this browser example so what you're talking about is you would actually be doing i guess as an end user i sort of never imagined that i would be running a node but this is this is the way to get actual privacy and the only way you can do that is if the node is so accessible that the end user like the wallet is not talking to anything the what like it is the node that you're actually running that has all of the like that's what you're working from exactly so instead of relying on the server to give you information
you are that server because that server is a full node so now you're a full node so most people use a router so right now you're probably on a laptop recording this and you're probably connected to a router so this means that your router is now kind of ferrying things back and forth so your router assigns an ap for you to be used by you know other things so your laptop as of now doesn't actually know its public ip if public ip is kind of the name to your device your laptop currently doesn't know its name okay so if it's trying to like reach out to another node like let's say you're trying to reach out to james because james has a public computer so you know you know james is public ip directly
so you reach out to james and you get some information from james but james actually doesn't know how to reach back to you because there's this router in the middle there's a driver between you and your computer and so you need to tell james your name but the problem is you don't know your name yet because your router needs to sign that for you so you know james doesn't know how to reach you because you know it doesn't know like how to get to your computer through this router but i've like requested in this example if i already requested something from him so i can actually get some info from him but he's not sending it at me it's like i'm going i want this and i and i fish it and pull it back but it's not like he knows
where that trajectory is exactly exactly follow it okay and uh if you know after that connection is done i can't push anything else out to you i have to wait for you to call me again right so if you are kind of nodes in a you know peer-to-peer distributed system in this regard you would be kind of like the greedy node like you would be getting everything that you want but james can't get information from you because james doesn't know how to connect to you got it so going back to the full note and why webrtc is so exciting is because it makes that entire process a lot easier the process of two nodes connecting to one another and the two nodes actually talking to one another without this kind of hindrance of going into your router
settings and telling the router to you know forward your port and so on so again this is kind of like an easier process to run a full node because if you wanted to run a full node on bitcoin or ethereum and if you wanted to be like actually fully connected so like be fully active listening node you would have to go through those extra steps probably in your router or in your firewall to actually be fully connected and webrtc is a technology that was actually invented by google for video streaming for exactly this problem because you know if you they realize if you have video streaming going through a centralized server you're probably going to get you know to some degree a poor user performance because it has to go through another party and then go to someone else's computer
so instead they were like okay how do we actually connect two computers together to do video streaming better and they actually basically made webrtc and incorporated that into the chrome browser so you could do video streaming so we're using webrtc websockets right now for a full node you know implementation that runs in your terminal but this was actually a technology that was built for the browser to make video streaming better anyways yeah so we're using the same technology that we're probably using right now for for video streaming but i want to understand back to like the way you described like launching an iron fish node is it actually running in the browser or is that like the future is going to be running in the browser so the current implementation runs in the terminal only but because we're using typescript wasim or i guess russ with wassum the
full implementation actually could run in the browser and so that is definitely a feature that we are pretty excited about but we do want to focus on making sure that the core protocol works you know as intended in the terminal so make sure like those bugs are out of the way before kind of progressing to the next one and you built this entirely from the ground up as you mentioned before and yet it still has this privacy part like how is sapling integrated into that like what is that connection point then so you you know it's not similar to the zcash node software or i guess it still has some of these sapling principles in it or like some some of that code is is running within it so yeah how does that connect yeah so sapling is the mechanism for making transactions private
we took sapling we took some of the zcash code we wrote some some of our own code to make it uh kind of our own implementation of sapling to some degree i don't want to give them a lot of credit though so that is basically the the privacy transaction mechanism and you know sapling is written in rust so we have it kind of working in our typescript limitation through wassum as the glue layer effectively and then you know in terms of our implementation of the full node that we've done basically from the ground up and you know we did take a lot of inspirations from bitcoin honestly and some inspirations from ethereum um but in terms of like implementation we did it all from the ground up and sapling is just our mechanism for making those private transactions
so uh like zcash this is a blockchain with you know sapling for making transactions correct the distinction is that we have no way of doing transparent transactions it's only private transactions so you don't have any of the weird bitcoin script uh craft no uh speaking of scripts though we do want to go into that trajectory so kind of going back to the thing that i've said to at the beginning of the of the talk is you know we want to make this more into privacy platform right now it only supports art finish the native currency but we want to get to a world where we could bridge assets from other chains and basically be the shielded pool for all their assets
so again we want to make iron fish the privacy platform so we don't have programmability yet but we do want to get there so that we can support other assets from other chains and make iron fish more of a privacy platform for everybody else too so yeah it's a long road and we have some ideas of how to get there but you know we will be getting to a future where we have some functionalities or permissions so it'll be a lot a lot less flexible than a smart contract and ethereum it'll probably look a lot more like permissions per account per asset but we will have some concept of programmability in the future you kind of talk about it being the privacy center of other networks other chains but like would you then be thinking about it as creating bridges to
a lot of different places or would you then like could you turn this into an l2 to ethereum and then allow you know that to be your connection point yeah when we look at l2 designs uh especially like for ethereum and you know aztec is working on one that's more privacy focused for ethereum the question is are they looking a lot like l ones right like are these just l ones with bridges to specifically ethereum more and more yeah they're looking more and more like l ones but yeah very integrated to a particular chain which gives them the right to call themselves all twos to some some regard and so for us when we think about iron fish it's you know we want to build bridges not to just one
chain but to many chains and so you know right now we're definitely an l1 we only have iron fish as the only asset we want to get to a world where we support assets from other chains and so instead of like building a bunch of l2s for other chains we have iron fish where you know it's like this huge shielded pool for all these other assets where one transaction is indistinguishable from a different transaction so regarding if you trade you know some cosmos asset for some ethereum asset for some native iron fish asset the transactions will be indistinguishable so you can't actually tell that would you use something like ibc as well is that something like if you implemented ibc would you then automatically
this is actually for you james would you then be able to be connected to like all of the zones in the cosmos context i think so this is a really interesting question because there are a lot of choices for bridging right now so ibc is one avenue that you could go down to connect to the cosmos ecosystem um elena do you have like a concrete plan for bridges or is this something that's still very much in development yeah so i think we talked about bridges when you were still working on suma which was two years ago right like was econ won yeah and so back then there were already a lot of virgin solutions and now we have even more bridging solutions
and there are different types of bridging solutions ones like suma which are you know totally decentralized in terms of like there's no middleman then there's ones that keep network where the middleman is decentralized but there is a middleman so to speak which is the keep network and then there's ones that are you know fairly centralized where you know things called federated or something like that where there is literally a centralized authority that says we'll escrow your bitcoin and then like give you wrap bitcoin on top of you know ethereum or whatever so for us in terms of like bridging solutions we're pretty agnostic like we want to be able to support all those bridging solutions and i also want to make sure that we don't work on the bridging solutions as iron fish like that we work with others for two reasons one because it
makes the community stronger and two because you know like as much as we can learn on this there are now experts on bridges like there are companies being built around this multiple ones and so for us as you know it would be kind of silly to build our own bridge when we can convince these other people to partner with us and to build those bridges you know nudge nudge keep network uh or or somebody else so i mean yeah i mean it depends on it's you know i think it would be a per case basis i think we'll focus on ethereum first that seems like a very like a clear thing to focus on first you know we might focus on bitcoin next you know somewhere down the line we might focus on cosmo so i think it might be like a very like per chain or per
protocol sort of basis um and we'll probably try and focus on existing solutions so if someone already did make a bridge from cosmos to ethereum and i think someone actually did we'd probably go to them and talk to them and work with them so yeah that's kind of how we think about it like like our job is to make sure the iron fish can support those bridges and then go to people who we actually make a business out of it to work with him i want to explore a little bit like use like the actual use of iron fish i want to kind of go from a user's perspective like you mentioned there could it could be a privacy platform with private computation maybe not extensive computation but some computation like permissions like very basic ones so the permissions that we'll want is
primarily to support uh stable coins uh and bridges so these permissions are going to be very much like canvas can this address burn them into a certain asset because they have their permission to do so so it'll not be like full zk computation um i don't think we'll get to that anytime soon but we do want to focus on very like pragmatic use cases of how do we support die on top of iron fish so now you can transact you know stable coin or synthetic dollar on iron fish totally privately cool and then even with just the like very basic permissions of like can this address mint or burn we can support stable coins that are not algorithmic it's like use dc style when there's like
an actual bank account and there's an address that has permissions to mint that coin and so like something like usdc could mint a stable privacy coin on top of iron fish the idea here is really then to provide primarily like private transaction in a shielded environment that is running in your browser potentially uh which sounds really cool so you would be running your own full node in the browser everything you do is completely private um without needing like even to call a light client like you wouldn't even have to have that extra step like what kind of economy do you really envision happening in there do you see it as just like i'm paying for something i'm doing subscriptions maybe um like yeah what kind of use cases do
you imagine people using this for yeah so privacy ones in particular i get this question a lot well who's going to use you in the end of this very like you know is it criminals exactly is it criminals is it illicit activity like are you going to make silk road be alive i definitely am not asking you that in that tone but i but i think it would be cool to hear your answer anyway yeah so i mean yeah like when i think about privacy there's like two use cases one is like very philosophical of like we need privacy like cash is going away we don't have a digital cash alternative you know we kind of need like a very private dollar for everyday use cases um and these are you know
not necessarily illicit use cases like maybe you want to go see a therapist and not have anybody know about that because that's private information um maybe you're going through the u.s immigration process and even now if you buy weed in a state where it's totally legal that could actually jeopardize your immigration process yeah there's like a ton of use cases where you might just want privacy and we're going to a world where without cash like everything happens online you're starting to lose that so that's like a very philosophical question of like we actually need privacy and we're losing it pretty like rapidly and then the other answer is a very pragmatic one which is like i think if crypto is going to have a future as a payment system or as a banking solution
you're going to have to need privacy like when you talk to normal people and explain to them how ethereum works that yes you actually can open ether scan an incognito window even and still look at your wallet and realize that everyone else can too yeah um people are pretty shocked about that yeah and so the very pragmatic approach is if we want to have crypto half mass adoption we kind of need to have a privacy layer because this is actually privacy coins are probably the closest to the paradigm that we have today of having some expectation about our financial privacy like if you and i interacted and maybe i bought you coffee i shouldn't have the right to look at your bank account right and in crypto it's kind of like
that yeah and so for me it's a very pragmatic approach of like actually crypto probably doesn't have a future as a payment system if everything's so so out in the open one of the this has come up a few times in i don't know if it was on the podcast or events or something but it was the idea of trying to add privacy after the fact versus trying to build it in at the at the beginning like a lot of the problems with trying to claw back privacy when it's gone is that you're not really gonna get what you need it's just sort of add-ons it might obscure a little bit about what you're doing to certain people but there's ways around that whereas if you have systems that have privacy at the heart then you can actually potentially have truly private systems
that's that's been like a something that i'm hearing a lot from various camps and this is where it's kind of interesting you build it from the ground up with privacy in mind to be very usable without having to use these other like agents in order to connect to other people do you want this to be used actually by like the big businesses of the world or do you actually prefer this to be used by the individuals of the world like i'm kind of trying to figure out if this if this is something that eventually becomes like an institutional play or if it's really like this is for everyday people i mean the the double-edged sword of like building out in the open a very decentralized way is that you kind of don't have a choice uh and you can direct the product to
some degree like we could make it you know maybe more polished such that banks would be more comfortable with using yet or maybe like more casual so you know it's more of a product for the people but at the end of the day you kind of don't really have a choice now i actually do think that it is important for banks to get into crypto for like once again crypto adoption and banks right now are pretty nervous about the fact that everything's so out in the open i think that was why ripple was so popular and also why ripple got a lot of backlash because banks weren't using the public ripple that we were using they were using kind of on-prem ripple because privacy was a big concern for these banks yeah so to some degree like do i prefer one way or the other i don't think i
have a preference i think both are actually very important and we're definitely building iron fish so that it could potentially be used for both cool so if somebody wants to start participating in the iron fish community or running some of the infrastructure where should they go yeah so we'll post links on the onboarding docks for how to get started um we'll also post our github so you can look at all the code and also the installation instructions from source and then we have a discord which is a pretty huge community at this point of other people who are running the iron fish node who have questions about it so if you want to talk to any of us or have questions or feedback to post um please go to our discord cool well i'm really excited to hear
more about this as it develops and i want to say thank you so much for coming on the show and sharing with us your not only iron fish and how it works but like your journey to getting to this point and and your hope for what it could be oh thank you so much really appreciate to be on here yeah i'm uh running a node downstairs i'm really excited to be able to uh get to use it when it goes mainnet nice very cool so thanks again and thanks james thank you anna it's good to be here again and uh thank you to the podcast producer andre the podcast editor henrik and to our listeners thanks for listening you