Episode 336 - ZK in Celestia with Connor O’Hara

21 Aug 2024 · 1:02:37

Connor O'Hara of Celestia joins Zero Knowledge host Anna Rose to discuss the zero-knowledge initiatives taking shape across the Celestia ecosystem. They cover the ZK Hack Montreal hackathon, why light nodes matter for data availability, and how Celestia's DA layer plugs into ZK rollups, building on the network's broader modular blockchain thesis.

Speakers

Topics

Transcript

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 chat with Connor from Celestia now I recorded this just after we wrapped up the ZK hack Montreal event and I felt I'd take a moment at the beginning of the episode to chat a little bit about this event especially since this was an event unlike any other I've never had to switch venues Midway through an event before I tell a little bit of the story at the beginning of this episode it was truly an amazing event and uh the hackers that came through the sponsors the judges everyone

was wonderful oh yeah and Connor was actually one of those judges so after this we dive into Connor's background and talk about what brought him to work on Celestia we also chat about the ZK initiatives happening within the Celestia ecosystem now before we kick off with this episode I just want to point you towards the ZK jobs board this is a great spot for teams to post job ads as well as candidates looking to jump into professionally to find their next job I have heard anecdotally from many teams that they have found amazing candidates through the ZK jobs board in the leadup to the ZK Summit 12 event happening in October we will also be doing a campaign around the ZK jobs board so keep your eyes open for new job postings over there I've added the link

in the show notes now Tanya will share a little bit about this week's sponsors today's episode is sponsored by enoma intents are a new way to build daps based on userdefined outcomes instead of virtual machine transactions anoma is making an intent Centric future possible by introducing a distributed intense Centric operating system this will enable Builders to create userfriendly daps compatible with any blockchain use aoma to add intents to existing daps or build on aoma and settle wherever your users are a aims to vastly improve blockchain user experience enable novel applications and promote a more humancentric future for decentralized technology get ready to

build with intention anoma is the universal intent machine introducing a new era of applications where you define the outcomes you want follow anoma on X to learn more at x.com anoma so thanks again anoma Alo is a new layer one blockchain that achieves the programmability of ethereum the privacy of cache and the scalability of a rollup driven by a mission for a truly secure internet Alo has interwoven zero knowledge proofs into every facet of their stack resulting in a vertically integrated layer one blockchain that's unparalleled in its approach Alo is ZK by Design dive into their programming language Leo and see what permissionless development

looks like offering boundless opportunities for developers and innovators to build ZK apps this is an invitation to be part of a transformational ZK Journey dive deeper and discover more about Alo at al.org and now here's our episode so today I'm here with Connor from Celestia hi Connor welcome to the show hey Anna glad to be here so we are recording this in person just days after our team wrapped up zck Montreal and you were a judge at zck Montreal so maybe we can talk a bit about how it went yeah yeah zik hack was really fun uh got to see a lot of great projects learn a lot and um yeah great time overall what day did you arrive I arrived on Friday so

you were there at the original location oh yes where the power went out and we ate poutine in the dark in an old theater yeah so I just wanted to take this minute to like do a little recap of this particular event because this was definitely a hackathon unlike any other context for the audience this was zck Montreal it ran from August 9th to 11th it was scheduled to be at an event location called the Rialto which is like an old theater from the 20s and on day one that was where we were we did our workshops we kicked off the hackathon on stage there was a little flicker of

electricity issues but it just meant that the projector turned off we just had to wait and the electricity didn't fully go out but no it was during our dinner that all the power went out there had been a huge hurricane in mon tril that day the weather was perfect every other day but that day and the power never came back so we as event organizers had to find a new location and move the entire hackathon in I don't know two hours or something like that uh the zik Haack team fully fully pulled through so we moved everything from this 1920s theater to like a historic Bank yeah it was a big marble building with a

really high ceiling it it was a great space though it had like two or three floors of space it seemed to fit the structure of the event very well there was the judging area and the hacking area and then the talking area and the eating area yeah yeah you can't ask for more than that yeah and I mean at first for me I was a bit like I had vision for this theater and it was in the neighborhood that I wanted to do it in but I think it was actually potentially a better space for the actual hacking because it was very airy lots of space people could get to know everybody else we were able to do it so yeah but wild and we are now just a few days after um and so you know my team and I were still kind of collecting all

the feedback but I wanted to talk a bit about the judging because for me it's interesting when I invite judges to the Z hack hackathons because what ends up happening is a lot of these judges may not be as familiar with like all of the ZK tooling if they come from a ZK team they probably know their tooling but they don't know other projects tooling and as a judge you sort of need to dive into it in order to like really understand what people did for this time though given we had Partners like Risk zero polygon we had some new partners like novanet and Pluto 0js came back I'm not listing them all here because I don't have them off hand but just curious what what you made of this like state of tooling at this state of tooling um so the tooling has gotten

better it's just so much more EAS now to make an application that uses zero knowledge if you can learn rust you can make a zero knowledge proof using ckvm and the performance is pretty good to actually demo these things and you don't have to learn about constraints and it just has gotten much more easy to iterate ideas and materialize ideas so I think the hackathon world has benefited from that breakthrough of just the tooling getting easier we didn't see that many like circuits for this one I don't remember if we saw any circom things maybe like one or two there was a new R project but almost every ZK project we saw was made with rust and using a ZK VM yeah or using OJs it was

sort of like using a tool set right OJ also very very good and there were several things with that if I remember correctly yeah I found it funny to see the judges jumping in on that and like the judging room is always tricky I mean this this hackathon was no different it's it's funny every time I we do this we improve our judging process and yet every time we do this we still run into the last hour being like we not half hour so like we know we're racing against time to pick our top three to rank them and we have a room of 20 judges who don't fully agree on who the top three are this time I remember we had like a short list of six and we kept going over who's in the top three who can we cut who it felt like almost

everyone in the room had a different top three out of those six totally yeah and actually the the audience the folks out there don't know who those top six were but um they are in the honorable mentions so if you get a chance to all the listeners here have a look at what the projects were at ZK hack Montreal and yeah I think you can star them too so maybe you can also let us know what your favorite was I'd be curious to see if the audience thinks of it differently I'm going to add a link there yeah and it's always cool to wonder which ones will continue being built who will continue to work on their project and maybe turn it into a product or something or for the chewing glass ones so we have this chewing glass prize too um maybe just for context we have kind

of the application track CK applications and then we also have the implementation or chewing glass prize so this is usually like someone's implemented a library that does something really important or they've like yeah they've taken a research paper and put it into code for the first time and we had two chewing glass winners this time and I always wonder like will we will we see those in some system like will it continue will they continue to develop that yeah for sure yeah I think just to wrap up on the ZK hack Montreal front that event was wild but also you know big thank you to everyone who came through thanks for judging and all that and also just thanks to the sponsors and the hackers for being patient and coming with us on this kind of insane Journey

it was a lot of fun great time thanks for having me as a judge nice so I want to now turn a little bit to the purpose of this episode which was to get to know you Connor I think I met you really through the Celestia context but in talking to you on and off over the last year or so I feel like I know bits of what you've worked on but not all of it I feel like you've interfaced with Mina you've interfaced with salana mhm I think you talk about Bitcoin a lot uh people want me to talk about Bitcoin a lot I I don't I'm not a big Bitcoin person but oh really they just always ask me what I have to say about it so oh that's so yeah cuz actually in doing research for this I like I saw on

podcast you're like oh always talking about Bitcoin oh he's a Bitcoin guy you're not a Bitcoin guy well I was a really long time ago when that was the only thing but now I am not okay and you work at Celestia but you also work on ZK stuff and that's maybe where we're interfacing the most yeah um but yeah let's talk a little bit about your story so maybe share with us like what were the topics of interest that led you to Celestia like if you've gone through kind of different research directions or just like interest directions um I'll spare you on the whole last decade but I was in crypto at the end of the 2017 is um cycle same same and then I left and came back oh so I where did you go my

first full-time job in crypto was at live Pier I was I was their intern and I worked on front end and goang stuff for them cool and we should say what live pure oh live pure is a ethereum protocol for it's a like video infrastructure Marketplace for live video transcoding and then I left crypto and while I was gone I had a very easy job at the it help desk at the juliard School of Performing Arts and on the side I was practicing rust and writing my own mix Nets and stuff like that and really wanted to get a job involving cryptography and distributed systems but wasn't really trying to get back into cryptocurrency but then right when I

thought I was out they pulled me back wait I want to understand why you were out like had you Rage Quit at the end of 2017 a little bit well uh really 2019 was kind of when I stopped working there oh okay yeah I don't know I just it was like it was depressing it was pretty depressing yeah um I couldn't really justify why I was doing stuff related to cryptocurrency at the time and wasn't too passionate about it was more just interested in kind of just general privacy stuff not really blockchain stuff when you went out kind of researching all that though what was it like like I'm actually curious in that era 2019 because at the time I was already doing this show the ZK space was getting really hot in 2019 on the research front but if you had left

around then like what other kind of privacy were you looking into so I had this idea for a project which I started to build and I had to learn what kind of cryptography do I need to make this thing and there was some cryptographer who I followed on Twitter who said he was doing an AMA asked him any question and I said if I wanted to build this how would I build it and he said you should look into multiparty computation so I read a bunch of books and started to mess around with NPC Frameworks that existed while I was just sitting at this help desk um not doing anything hanging out with actors yeah there were a bunch of actors and dancers and musicians roaming the halls and I walked past the dance studio every day on my way to the

dimly lit closet that was the it office oh damn and I was just learning about Shamir secret sharing and garbled Gates and oblivious transfers and all that cool stuff trying to figure out how I could make a Anonymous door Dash oh where you have package couriers who move packages around and no one knows who sends and receives mail and I started coding it and so I started working on an implementation in Rust of an NPC protocol which I believe is called low gear or high gear so I implemented this Beaver triplets generation thing using palear Cipher and I implemented networking code cuz there is this Library called MPS spdz which is the main hub for all NPC development it has

implementations in C++ of all these different NPC protocols and it also has a little pythonic language that you can use to write circuits so I learned about arithmetic circuits from the NPC world and that's why my profile picture on Twitter is a arithmetic circuit I wasn't really in ZK yet which also is very big on arithmetic circuits yeah so it was cool I learned that there's a cost for each gate so a multiplication gate is like a certain number of communication rounds these things are very interactive if you want to compute something with multi-party computation you have a lot of back and forth messages between all the different parties involved in Computing that computation unlike in snarks which are non-interactive and the cost of the gates is paid differently

and you don't really have to think about back and forth and using bandwidth and things like that so this slowness of NPC comes up a lot or this communication complexity comes up a lot when you think about all the various blockchain projects that tried to have private State using NPC and how they all need to have tiny validator sets cuz otherwise they're just blasting encrypted messages to every other validator in the set and it just becomes infeasible very quickly so that was your MPC era yeah yeah um okay so what was the end of that era like you were kind of trying to build this on your own did you meet the MPC Community while you were doing that cuz there are teams doing that there's all the wallets there was like Zeno back then I think that was was really focused on NPC I know Nigel smart they had like

an agency like um a Consulting Group that was doing a lot of NPC work with governments and everything yeah I'm just curious if you interfaced with any of them well I no I really didn't I wasn't really in any sort of community doing this I was kind of just working at juliard and learning on your own trying to learn on my own and then eventually I was like oh I don't really want to work at a it help desk at a college anymore so I started trying to get jobs and was actually trying to work as an embedded security researcher so I interviewed for like various kind of like Hardware security jobs like get a job trying to exploit binaries and come up with things like that um and I thought maybe my my new found rust and cryptography skills

that I got from that project would just help me get a cyber security job and while I was job hunting a salana start up pulled me in and I got sucked back into blockchain and I've been back in blockchain for the last three years full time damn what year did you get sucked back in 2021 2021 okay so you weren't there for the defi summer uh no I still followed some crypto people on Twitter so I sort of saw it happening but I was not participating at all yeah when you were coming back was there sort of a resentfulness of coming back yes why there was it had gotten even stupider since I left 2021 yeah oh dear yeah that's the hypest hype pipe especially

for salana yep I was around a bunch of eth nerds who um were blogging about sharding and blogging about snarks and blogging about quadratic funding and stuff and then all of a sudden I was around all these pixelated animals who were just talking about pumping price and coins and close Source everything and I was like what is h what are we doing what happened to this space while I was gone but what was this Solano project uh so I worked at switchboard which was a it is a general purpose Oracle where you can just create data feeds to use in smart contracts for any data source that you want and it's really useful it had great product Market fit back then it played an essential role in the rise of the meteor rise of the salon ecosystem and they're

still doing great things now um as a te company oh they're doing te yeah it's uh it's awesome switchport V3 you can now permissionless create these data feeds because now you can trust the te to behave correctly huh and scrape any data off the way interesting so you were working at this company but not that long I guess I worked there for over a year oh you did work there for a while okay yeah it was a great time tell me about the salana ecosystem back then it was pretty cool I I liked it there were a lot of good Builders we had to really help each other a lot because the tooling was bad but we were all very motivated to make it work and build stuff

so there were hacker houses I remember that like every month and I pretty much traveled around to most of them oh wow to just follow around all the other builders and there were some of the like pioneers of salana development who were at everyone who would help you and also there was a really good Discord where you could ask a question at any hour of the day and someone would come back with the perfect answer to help you with your bug huh and I miss this now I uh I haven't seen this as much in the ecosystems I've worked in since then where it's just like so many people excited at the same time with those skills willing to help I mean you you know what it sounds like it sounds like early ethereum just the way you describe

that and not that I wasn't in early ethereum just like the way people describe early ethereum that's what I've heard as well yeah and that was 2021 did you write out like were you working in salana in Fall of 2022 like when the whole crash and everything happened specifically when the FTX thing oh my timelines I'm mixing up the timelines a little bit oh I was I was definitely still working full-time at switchboard when that happened yeah I certainly remember us going through that okay switchboard had expanded to multiple chains switchboard is on several chains now mhm one cool thing about working there was we got good at writing smart contracts in weird longtail VMS we rewrote the protocol for

near and my colleagues rewrote it for abdos move and sui move oh yeah and eventually they also ported it to the evm I think we tried Cairo it it might be on Stark net I'm not I'm not entirely sure but we got to try out all these different languages which was a good experience yeah at least comparing them did you actually get to write any of this uh the only two that I touched personally were salana and near okay yeah I actually want to ask like where do you position yourself like are you a engineer solidly engineer are you doing like product architecture what where are you situated um that's a good question I'm not so sure what I would call myself at the moment I like the title engineer

I think researcher is not really a title that I want anymore I used to want that title but I I think now it's associated with just a lot of yapping and hot air which I don't want to be associated with product is a good one maybe maybe I'll be a product person eventually but at the moment I really just like coding and learning ZK stuff and getting deep in the weeds okay so you went from so you need like salana VM is the language just called salana it's rust but it's it's it'll take even someone who's good at rust a while to learn how to use that VM because it's pretty weird okay not in a bad way I actually quite like it now I think it's at this point my favorite VM to build contracts in wow still yeah if I was going to make a defi app I would

want to use that tooling what about near what was isn't it also rust near is rust with wasm it's not km wasm but it's similar it's you know it's it's kind of like if the evm was rust oh okay it's you know you have to reason about a state tree and um it has like mappings is the way that you do everything and it's metered it has gas one thing that was weird about near is that it has like async A8 programming because near is sharded and so if you call another contract that contract might be running on another Shard and so the way that they exposed that to the programmer is with the async a weight Paradigm which is pretty nice and clean which I liked cool what happened at switchboard during the FTX crash like

I'm kind of curious like what happened in Sal during the FTX crash um were people like freaking out switchboard's great it was it was not negatively affected and it's thriving now but um being in the ecosystem well so a lot of salana protocols were starting to go multi-chain and try out apos and sui and things like that which isn't bad you know it's okay to expand to other chains I wouldn't say that that people trying out other chains was like a death blow to salana or anything and there was also of course I'm sure you the story there was a bunch of True Believers who stayed salana Maxis throughout that whole cycle and those teams sort of became the champions of salana now okay you have Ellipsis and gito and drift yeah who

just they stayed focusing on the one chain they were best at which was a great decision for them and came out well okay so I guess what you're saying though is like there was teams that sort of fled that went I mean or they' maybe been thinking about going multichain and then this was the time they did go multichain because they were getting cold feed or something but some of them stuck through entirely focused on salana um yeah I mean true yeah and I don't think that's really a bad thing at all I I think salana survived all that bad news and that speaks well for them okay what did you do after that well while I was in the salana ecosystem I was really interested in the debates going on between salana and you could say

ethereum the rollup scaling versus monolith monolithic scaling MH that whole discussion interested me a lot because I kind of sympathized with both sides and I wanted to get to the root of what the disagreement was because I was friends with all the people on the rollup side and also friends with everyone on the salana side so I thought what's the real difference here what's the real like fundamental disagreement if there is one and I went really far down the rollup rabbit hole and I learned everything I could about rollups I learned about went back to all the cryptography stuff and got really back into the ZK stuff I also just wanted to learn ZK in case it would turn out to be useful for the company I worked at so we even did some we did some research into

ZK TLS while I was working there and if there was any way that using that Tech could help us somehow the end conclusion that I came to was that scaling blockchains while preserving the ability to cheaply verify them is the Holy Grail so the thing that is really cool and interesting is to get the TPS as high as possible in a way that they're still easy to verify so I got really into that problem the problem of succinctly proving execution of a very high throughput blockchain and the idea of ZK proving a whole chain and verifying it with one proof uh the the mea thing so I got excited about that and while I was researching all this

stuff I found out about data availability sampling because that was written about alongside all of the rollup foundational rollup stuff it's funny how that actually happened cuz there was there was like fuel right and that was John Adler who also was lazy Ledger at the time he was on the show for those two things I think of them as quite different actually but now that you see sort of the Celestia Vision with rollups coming off it it makes more sense that like it was almost two sides right one was the rollup and one was what could host a rollup what could be the base of a roll up yeah and fuel is cool I was very excited about that at the time I I read all about it and I like parallel things and I like fraud

proof things and the the fuel utxo way of doing fraud proofs is way more intuitive than the really complicated way that the evm optimistic rollups work yeah fraud proofs are pretty interesting I'm more of a ZK person but fraud proofs are certainly very cool and I actually worked on them a little bit when I first started at Celestia um when I was on the roll kit team Celestia at was betting on fraud proof very much for a while but now going back to where we were in the story so you were getting excited about kind of ZK and you did some work with Mina I thought you worked at Mina no I didn't I didn't work there I was in the fellowship and I didn't really finish my

project for the fellowship I see I feel like I heard that people still recognized you from that like it was like something mea people are like oh yeah we knew him he was good I don't know I was excited about it and I went to some of their events and I talked about it publicly yeah and I still think me is awesome and I'm also actually doing a project with them now with at Celestia oh cool which uh is something we can talk about for sure yeah that's what we want to do okay you only did sort of the fellowship at Mina but what did you work at any other company before Celestia um no so I was I I really wanted to do something with ZK so I applied and interviewed at a lot of different ZK related jobs and the only

non ZK company I was going to go to is Celestia and that's the one that I ended up going to interesting but yeah I I considered working at a variety of the the ZK ZK ecosystem companies yeah but you ended up at Celestia so I've known about Celestia since it was lazy Ledger and then I had a lot of friends who started working there like on the engineering front I got to know a lot of the founders over the years too I think for me to understand what da was took longer than I'm proud of No it's it's one of the I still don't know if I fully but I think I get I have I have much better sense for what is happening now um but yeah it's it's always been sort of a tricky one it's been fun to see the project actually come to fruition though

because then once it's live you're like oh okay this is what it's going to look like this is sort of the place it's going to hold in the space and that for me at least made a lot more sense but Celestia or lazy Ledger like they're not a ZK project as you said there there's no there was no ZK in it originally but since you joining or since really them launching or even before that I think there's been more work towards incorporating ZK so maybe we can talk a bit about that yeah it's it's not a ZK project there has never really been a ZK person working there but it exists for serving rollups and rollups like ZK so it's pretty important that it be aware

that the project be aware of ZK and be involved with ZK and now yeah there's like three or four different ZK related initiatives going on that we're trying to build but it started out as very much like fraud proofs in the L1 fraud proofs in the L2 MH kind of just an optimistic thing but now zk's just gotten really good ZK has just gotten way better in the last few years and now all our wildest dreams are within reach you were saying you started at roll kit let's just Define roll kit as I understand it's like it's the framework to be able to easily build rollups right is it Celestia driven or funded the the roll kit core team are all working at

Celestia Labs okay yeah it's a project at Celestia Labs but it's very generic over different da layers it has a generic da layer interface for which there is a Celestia implementation and there's also a Bitcoin implementation and maybe even a veil yeah I think they're on the GitHub you might see code for that it's to create a sovereign rollup using Cosmos tooling basically it uses the ABCI interface which is how tender talks to the cosmos SDK MH and it replaces tender so you take Comet bft you take out Comet bft and you put in roll kit and then it goes from being a chain to being a rollup H is this also a way that like existing Cosmos chains

could just become rollups if they wanted to yep very much so and that is pretty much the point of it or part of the point part of the point of it huh so you're working at roll kit and it's not ZK but I'm actually kind of curious how much have you brought ZK into the discussion because if you were really interested in it and yet you're working in a space where it's more fraud proof based yeah like at what point did ZK start to factor in uh well I have been going to ZK events this like this whole time like even before I was I joined Celestia I would go to the zcash conferences and stuff like that and go to all the ZK related side events that at every conference I went to just cuz you know I like cryptography want to learn more seems like the most

interesting stuff I don't know that me being a nerd about ZK got celest you to change its road map but yeah I've been trying to get us deeper into that and it's kind of just I would say really it's just breakthroughs in the tech that has made it a more attractive option for our road map yeah there's the ZK working group The Celestia ZK working group we've talked about it at least once on the show before but I mean zkv ZK validator this is another project of mine we validate on Celestia we're in that group I mean this is kind of part of what zkv is meant to do as well like bring ZK Tech into new networks even if there is none there so yeah like that group sort of formed pretty organically I think there's still there's a weekly

meeting or a bi-weekly B monthly meeting yeah it was every two weeks I think it still is yeah and that's where I at least I started to see a lot of action into like first of all that entire Community Learning how C cake like works at all like how could you put it in the kind of base chain but then I think would you say that those initiatives you're talking about kind of spawned out of there I would actually say no the the ZK and the Bas layer working group so far has only talked about snark accounts which is one initiative that the community wants to add to Celestia okay but there's other places where Z could fit into the bass layer and then there's not the Bas layer applications of ZK as well okay let's start covering them so

you sort of mentioned the ZK accounts coming out of this Bas layer working group let's start there so what are ZK accounts ZK accounts it will be a a way for Celestia to do more than just be a pet rock so right now it's Celestia only has transferring tokens and posting blobs it has no virtual machine for smart contracts but there is a interest in adding more functionality in a way that won't give us the state bloat that would come with having an evm or something M so the thought is what if Celestia had a way for developers to add a custom circuit that Tia can be moved based on the results of or like some

computation that could move around Tia without us needing a VM so how would that work can like can you walk me through what this looks like yeah so you could make an app as a circuit okay and you could then where does it live the circuit would live in the Celestia State okay so kind of like deploying a smart contract you would deploy a circuit and funds could move in and out of it based on proofs H snark subur complete so you can do anything with that the use case that we tend to think of is settling rollups so kind of the way that ethereum has Bridges to its l2s we could have Bridges to rollups using the snark accounts where tokens can move in and out and be locked in there and you know

State transition according to cryptography Etc could they move from one to another or would it always be like one rollup one ZK account and you're only interfacing with your own ZK account as a rollup I think anything's possible I think you could have verifying other of these rollups be part of the rollup State transition and why not like a rollup can read the state of the L1 so it can read trustless read the state rout of other rollups so I think it's possible for generally and with snark accounts for l2s to be able to bridge to each other without going through the base layer that seems possible yeah so I think the first time that I spoke to Mustafa I think the first time I had him on the show we

talked about like Sovereign rollups I think we talked about the settlement layer and how there was no settlement layer in Celesta whereas like in ethereum as a base chain to roll ups it also functions as a settlement layer here it's almost like a very unique it's like a a strip down version of a settlement layer I guess you don't have to do the whole writing of the of the state machine you you're not like updating State on the base chain and then moving it to a new smart contract and then like putting it you you know what I mean like moving roll up to roll up if you can actually do it yeah so on a regular VM chain like eth you have a giant State database and a VM and it's updating key value pairs in the Merkel tree and you know it can grow that state

and contracts can have state and users can have balance and that's all key value pairs in the tree mhm which is bloats the state we're talking about just proofs and blobs the proof is validated like a transaction and then the blob is posted in celes Blob space and there's no state tree H the state the burden of of proving of storing the state is punted up to the rollups nodes are there anything more than just settlements that ZK accounts could be used for yeah I think you could build any just an app I think you could maybe just build a D5 protocol that way as well interesting could you create a like a swap in that I think so but the only token that Celestia has is Tia yeah we

there is no other base token yeah it's a IBC enabled chain but you can't Bridge osmo or Adam into celesa no it's only only Tia can go in and out through IBC and there the working group has actually talked about changing that because if it does have an ecosystem of rollups then maybe it would want other IBC tokens to go in and out yeah do each of the rollups on Celestia actually also have IBC themselves like does it always have to go through the Celestia base in order to hit the IBC Network or can it just go directly from one of the rollups it's a good question so the IBC is just a spec and there are two or maybe three client implementations there's the tendermint

client and the solo machine client and I guess the wasm client as a third and you could just create a new client that these rollups could fit into and then that client could take the Celestia header and um validate rollups based on some rules that involve checking proofs against the Celestia header so yeah I mean I think the for the rollup for any of these rollups to have finality they have to proof and blob to Celestia MH so there isn't really a way that those things could do IBC without it going to Celestia because Celestia is the finality for those Roll-Ups okay you could do something less secure you could have like it the rollup maybe has it own validator set where you trust them until it gets to Celestia for roll kit we've

done some things like this so we've done at roll kit we had really fast block times with the centralized sequencer faster block times than Celestia and then IBC working that just trusts the sequencer and we got that to work and showed Tia moving up and down to the rollups with a lot of trust and you know the whole rollup Playbook is to ship the thing with trust and then buy yourself time to make it secure that's interesting yeah it's funny I didn't actually know that I didn't realize that IBC wasn't easy to implement into a rollup on Celestia without somehow going through it so like right now the rollups they also can't interact with other tokens unless they're native I guess on those rollups

well anything's possible so you can write an IBC client that's totally insecure right you could write an implementation of IBC between Bitcoin and osmosis where the consensus rule is does it just trust Connor's signature and then you could Bridge Bitcoin to and from osmosis just trusting me as the source of Truth and that would be a valid implementation of the IBC spec we just need osmosis to accept it and then there you go so anything's possible but doing it in actually fully trustless ways then you have to think about these things what other ZK initiatives are there I mean actually one of them I already know about because you gave a

talk at the modular Summit about this which was like ZK light node yeah using ZK I guess on the compression front a bit like what plumo used to do let's talk a bit about that yeah that's a side project is that your project yeah that's just kind of one thing I did in my downtime um a few months ago but I really want to do it cuz it's a really cool thing the the idea there is kind of just the Celestia vision is having trust minimized light clients that are super embeddable and anyone can run and I've been really excited about the idea of this happening effortlessly because I'm a big like client Maxi and I want to see let clients run everywhere and I want every user of blockchains to get the full trustless properties that

blockchains provide and if they take time to sync no one's going to do it no one's going to run these things unless it's spoonfed to them so I became really interested in the way that plumo and Mina do the succinct proofs where they don't even need to SN you just get a proof and then you know you have the head of the chain so me approves everything mean approves um the execution and the consensus and plumo is just the consensus and we don't have a z ZK friendly State machine yet we just have the cosmos SDK so I started with consensus which is tendermint and tendermint uses ed25519 signatures and protuff sterilization and shot 256 Merkel trees which are all

really ZK unfriendly mhm so bad that there was even a proposal a while ago um from polymer called ZK mint which was to change tender to be ZK friendly and use a different hash function use a different serialization use a different signature scheme but what happened was just that proofs got better and now you can just snark ed25519 and shot 256 and even Proto buff pretty easily so the proof time for that using sp1 is minutes wow and it just became practical to not change tender and just have it work so step one was to do that and are you just mentioned sp1 you mean like sp1 succinct

sp1 yeah how are you using that with this like what do you mean uh well there's a little so actually the first time tendermint was snarked was just with plunky 2 okay succinct built blob stream X oh yes this is okay this is at work mhm yeah so the first iteration of of blob stream X that shipped was using plony 2 and that team made a plony 2 circuit to prove tender headers just one though is this almost like just like you take tender you just kind of like put a snark around it yeah it's instead of like trying to work within tender and ZK you're just like well we're just going to make it ZK friendly by just snarking it and then whatever comes out is ZK friendly yeah you just make a circuit

that verifies the headers according to the consensus rules and the proof time was impressive it was good enough to be practical and which uh before was pretty Unthinkable before it was just so unfriendly and The Innovation that there is really just Starks and small fields and plunky 2 and good Hardware what are they doing then are they taking a stark and then snark are is there two steps with that with the first iteration of blob stream X it's plunky 2 which does that anyways right yeah it's a stark with a permutation argument yeah you know it's you've had you've had um the plunky 2 Team come on to talk about plunky 2 mhm it's kind of just you know plunk with fry yeah um plony 3 is doesn't have the permutation argument plony 3 is just

straight up Starks okay and that's what sp1 is and by the way I don't want to snub risk zero I also wrote all the same code with risk zero okay you did for the recursive like client stuff or yeah I've tried it out I mean it's very easy to go between them all you have to do is change the like EnV STD read write stuff and uh they have different pre-compiled they have different accelerators like sp1 has a system call that lets you do shotra 56 on an optimized circuit outside the risk 5 VM and that is what that's the other thing is what makes this so feasible is because most of the proving workload is the unfriendly things like sha 256 so if the VM has an

optimized thing that does that then like the rest of the code is nothing the rest of the code is just like a few if statements and a few checks and very easy basic things I want to go back to what you were saying though about what you were actually doing to create this like client because you're using like a risk zero or an sp1 like a ZK VM to do something but you're actually talking about Celestia but they're not on Celestia they're not connected to Celestia necessarily so like how are you I guess they're just creating proofs because like you can't verify that on Celestia uh oh well this is making proofs about Celestia so that someone can verify Celestia outside of Celestia yeah so maybe just to go back like the goal here is to create a light Cline of Celestia living somewhere else it's not

to like allow for light small ZK light cins on Celestia no yeah that's like that's the snark account work is that and then now I'm talking about a different totally different project which yeah yeah yeah no I understand I just just to clarify it though so this is like if you wanted to verify if you wanted to like check Celestia the entire state or whatever like somewhere else on ethereum or something like that you could use potentially this oh well yeah I I'm not the person who ZK proved tender that was succinct yeah succinct Labs that's what they did yeah first they did it with plony 2 and then they rote it with sp1 mhm which is actually just taking rust and just running it mhm but I think they optimized it as well they did some

optimization work to get it faster and what I did was I made it recursive okay um using just all very easy this took me like a week it was just writing some very easy rust after they made the tools for me to do it so all right all right uh I hackathon project yeah okay uh and what it is is just it's just the tendermint sp1 code and then verifying a proof of itself mhm and if you can do that then you prove one header and you include the proof of the previous header and then you have one proof for the whole chain and then it will always be the same size yep and it will be very small yep and how do you actually this is always my question when it comes to light clients how do you look inside that you'd still need access to the full node somewhere

right oh yeah so how like what does it actually give you to have this little like client on that side so I mean the way that most people use blockchains right now is they just trust a full node and the full node just tells them their balance and the state of the apps they use and everything and you still need that this um light client stuff does not eliminate your need to get the state from somewhere but it does make it untrusted so it makes it so you don't have to trust whoever you get that data from because you can check it or it's like somehow check checking that the node data you're getting is correct yeah with Merkle proof okay yeah so you say like oh what's what's the interest rate on my a position or what is my balance you get a Merkel proof along with the

result of that and then you check that with the like client and if the like client's trust minimized which the one we have isn't yet because it doesn't verify the state transition but it does check consensus okay then you know that the RPC is at least not you know whatever the RPC is telling you is correct according to the consensus rules ideally the consensus and execution rules so this is your week long project yep that took about a week and what do you want to do with it like do you want people to start using it or building on it like and it sounds like there's that part that's missing still so I guess someone has to build that part yeah there's a few things that need to get done I'll tell you the end result the the Utopia of the like client Utopia that I hope this will lead us to is just

every single wallet and app are have the same exact ux is now ux is still really good ux is the same as when we just trust rpcs but you have a little padlock or a check mark next to everything that tells you that the RPC is not lying to you and cannot lie to you so you know just as fast and cheap as the scalable blockchains and rollups we know and love today with the security as if you were running your own node but for the people who don't know how to run nodes or don't want to bother doing that do you feel feel like there should be something like this for all of the different kinds of nodes I mean you did yours in the context of Celestia but like going back

to salana like I don't know if that already exists where you'd have like a tiny light node where it's like recursed I know there's like there are light noes but I don't know if they're created that way uh yeah there's not really anything that fundamentally stops any blockchain from doing this and this was like a pivotal uh moment for me when I was when I used to be in a lot of Twitter arguments with salana people about and ethereum people just trying to get to the bottom of the disagreement and vitalic writes this in the famous endgame blog post where he says a big monolithic chain that adds snarks fraud proofs and data availability sampling is good like that's you know that's gets you to the same end result which is very scalable

and very cheaply verifiable the ethereum rollup Centric road map is kind of just an indirect way of getting to that same outcome where you have really big beefy block producers and very light cheap verifiers uh and there was a team in the salon ecosystem called Tiny Dancer who uh started out by participating in these Twitter discussions and they created this project to make a salon light client and now they work with Sovereign labs and they built a like a DA sampling implementation for salana and kind of a like client and salana is kind of friendly to fraud proofs weirdly like they was not designed to be fraud

approvable but the way they achieve parallelism is sort of isomorphic to the way that fuel does parallelism and so you can kind of do a fuel style fraud proof using the svm and I think I think Sovereign Labs uh did figure out a way to actually do this without even changing salana yeah any chain can have a trust minimized light client are they usually using fraud proofs salana doesn't have anything like that it's it's just full nodes only okay but if you were to create a light client like what you just described where they were using fraud proofs yeah it's possible yeah it's possible to make a fraud prooof light client for salana um and you know maybe you don't believe in like the the everyone runs light no it's kind of idealistic Utopia that I just mentioned but it has a practical there's

a practical reason to do this as well which is maybe you want bridging maybe you want very decentralized and secure bridging M so a lot of the same research gets done for that goal rather than just the me wanting everyone to have more security and realize the blockchain trustless vision I kind of want to ask about wallets and light nodes or light clients like so in the past wallets actually had nodes and actually some some like wallets like zcash wallets you have to run the whole thing y but and this is kind of going back also to like NPC stuff because I know there's a lot of wallets that are also using NPC but like are wallets supposed to have light know it's like would you say like the

that's the ideal thing that they would actually be running a light client I think yes and I are there some that do that yeah um and will ZK make it better yes and yes and yes um yeah yeah the very first Bitcoin wallet on mobile phones from 2011 had a SPV like client in it h so and the idea of not doing that was Unthinkable for a while yeah yeah i' I I it was in the mod my mod Summit talk I showed screenshot of that Android wallet from 2011 where it's has the same ux as any other Bitcoin wallet every time you get a transaction a full node gives you a Merkel proof along with that and then your phone syns headers and verifies proof of work wow it's also way easier

to verify consensus on proof of work that's not a reason not to do proof of stake but yeah yeah yeah um it's just so easy when all you have to do is like follow a chain of hashes and then except the one that has the highest work on it versus with proof of stake when you have 6 6 kilobytes of signature data on every header it's just way heavier and hard and harder on these devices and ZK fixes that so not only can you use ZK to aggregate those signatures you could also use BLS but if it's if it wasn't designed with BLS you can snark it and do the same end result not only can you do that but you can also squash an infinitely long chain of headers into one uh so ZK is definitely going to mix this way more Within Reach interesting

interesting did you ever use zcash wallets have you used them oh yeah yeah I've been a big zcash guy for the longest time I have I have multiple zcash Wallets on my phone right now for the mobile wallets what is happening there are those they're not like clients are they no they are they are like clients they're just heavy light clients they're slow slow slow like clients yeah they um on a shielded blockchain if you go with that architecture you need to scrape all of the encrypted notes out of every block and then do a trial decryption on every one until you find the ones that are meant for you okay you don't really have to do that you could also propagate the notes offchain this is how the pay payments app works that app doesn't sync blocks it just sends the notes to

whoever you're paying huh um but zcash and penumbra they both scrape notes out of the blocks and do trial decryption wow I think this dcash wallet also verifies consensus because it's why wouldn't it it's just so easy to just check proof of work you could I think penumbra doesn't I think pum is it just trusts the BC to give you all the notes which is fine that is within the threat model that most crypto users are okay with yeah yeah that's cool you just explained how pay works though I I didn't realize that let's continue with Celestia and ZK so what other you sort of mentioned there's some other initiatives I don't think I know about this so yeah what else is going on uh so this is not really an initiative that uh celesy Labs is doing but it's something

that we need it's kind of on the wish list is snarking the state machine where would you do this it would be in consensus is this in the chain itself if it's easy enough it would just be something the proposer could do okay if it's like a light enough fast enough cheap enough proof the proposer could just do it is this just to keep like the validators bloat low no it's kind of just because our light node right now oh this is still on light noes this is still on light no so our our light node is supposed to be trust minimized and it has da sampling which is a big part of being trust minimized but there's an attack that validators could do against light nodes which is finalize a block with an invalid State transition but data is available and the light nodes

would be fooled and we kind of need to do consensus execution and da if we actually want a trust minimized like client this could also be done with fraud proofs but um it just seems like ZK is kind of close enough and also part of the reason we don't have a VM is because the state transition being minimal makes it more provable for fraud proofs Orit proofs uh so it's it's a wish list it's an important wish list thing and if it's cheap enough if you know maybe like Starks and modern proof systems can do this in under one of our block times which is currently 12 seconds then it might be easy enough to just have the proposer do it if it is too expensive then we got to mess around with marketplaces and do something like a snark place or something like that but

hopefully we could avoid that complexity or do you think you could use another Marketplace that already exists it's possible there's a lot of those I don't know if you know about the Prov marketplaces On The Rise I know a little bit about them yeah yeah part of the ZK supply chain um anything else you sort of said there was also some things that aren't actually Celestia specific it's sort of like could be on the rollups or yeah I mean we just always want ZK rollups um to use celesti da so there's Sovereign SDK The Sovereign ZK rollup framework and then there's the zkl 2s my main job is actually Integrations with zkl 2s okay so what I've been grinding on mostly for

the last few weeks is an integration with ZK stack which is matter labs's rollup framework based on ZK sync uh and so I learned a little bit about how CK sync works and how it does data availability but this is pretty much just a software engineering Plumbing project more than anything else is ZK sync already using Celestia for the da at all no cuz you're talking about ZK Stacks which is like another level of zking yeah I think these eel 2s are going to use ethereum da for their main net because they are eth scaling projects yeah but for the ones that have their own stack products op stack is the most famous

one they all have stacks though right there's Stacks there's arbitrum hasit orbit yeah and polygon CD CK cdk yeah have you followed like the AG layer stuff I don't know what is going on with that it looks cool I you know using CK to fix to interrupt that sounds good I don't know anything else about it though okay okay is it cool I think it's cool I mean I haven't done an episode on it but I've heard about it a little bit oh nice yeah I mix this up though I mix up a bit like and maybe right F or wrong F but ZK Stacks with ag lay but I guess I don't think it's equivalent right I think ZK stack is more like you just said like it's op stack it's the orbit it's it's

these like how to build new versions of these rollups yeah right it's like it's their sdks it's their roll kit yep yeah yep and op stack is is like the first rollup stack that Celestia had working in production ready so most of the Celestia block space until very recently with the eclipse thing was filled by op stack rollups okay neat anything else on the ZK front um um I could I could talk about like this was my Athens talk was trying to make one circuit to reuse for all these Integrations sure being a Solutions engineer is a fun job because you have to kind of anticipate Partnerships that might happen before we actually get confirmed to be working

together yeah so I had this downtime and I thought oh I might be assigned to work on cdk or ZK stack or maybe even scroll or Aztec or something and so what can I do to get ready for when I may have to start doing doing this so um I just started thinking about like at a high level these things have some blob and they need to put it on Celestia and they need to prove that it got on Celestia somehow and they have proof systems that might commit to the blobs using different schemes based on what fuel element they use or what proof system they use and so like uh scroll could commit to their blob using like a BN 254 Poseidon hash so you need to be able to deal with that somehow yeah and then but

Celestia is a shot 256 Merkel tree so yeah yeah um first I was tasked with make an equivalent data tree to the shot 256 tree that uses a ZK friendly hash so that these rollups can prove inclusion using a friendlier thing for their proof system and I was assigned build an equivalent tree using Poseidon hash and then prove that that tree equals the shot 256 tree that's horrible idea cuz then you're snarking not just the hashes relevant to the blob but the whole tree and the overhead of one shot hash is so high so we quickly pivoted into just prove that the specific blob you want is on Celestia and then prove it's

equivalent to a commitment that the rollup can give you so and they all use different stuff so you know one of them is BN 254 some of them are BLS 377 some of them are Starks with Goldilocks or something uh and so I just took sp1 or and rier this is the thing that I built with both okay and also I'm probably going to have to do it I'm going to have to probably try to do it with jel now as well but it's not that and there's others too there's others coming oh great wonderful as long as they're rust let bring them on um oh and uh also at the same time 444 was rolling out and what's 444 4844 oh 4844 the ethereum EIP yeah Proto Dan sharding yeah yeah and this gave all the l2s a

standard commitment to use so I started making a circuit which is just prove that the blob corresponding to some kcg commitment is on Celestia that's the what the circuit does and the kcg stuff was slow so I it's way easier to just do linear kak hash because risk zero and succinct have accelerators for that okay so like some of the l2s have a pre 4844 version which is just hash The Blob field by field just go one by one throughout each field and then accumulate a k cash that's faster so um going to do that when I ship this oh but then ZK stack didn't want to use this so instead they asked me to just write that

logic and solidity and then ZK prove it with their ZK evm okay which is kind of funny because a ZK evm is a general purpose VM just for a weird clunky language okay so you had to rewrite this so you would have preferred to have just created a proof that they verified but you're instead you're writing the solidity yeah I've been working on this yeah I've been on a three- week long solidity project right now and it's actually weirdly fun why you like solidity no it's terrible but oh no it's not fun you were being sarcastic well no no I mean like solidity is a bad language but it's the it's the fun of implementing all this weird low-level encoding stuff in a low-level language in a constrained environment I don't know it's just kind of so I'm taking

challenging bites to shares Celestia has the notion of shares um a blob is encoded in this way okay and I took that for granted cuz in Russ you just call a function that does it and it was just so easy to just run that in RIS zero and sp1 but solidity was like oh we don't have any implementation for this so I got into the weeds and I had to follow the spec and so it was kind of the first time in my career I ever had to like write code based on a spec and the spec was well written oh good uh and so that was kind of fun that took me a week and then I came up with all these test vectors to try to break it and find places where it diverges from the reference implementation and this is just like feels like the kind of thing

that cryptographers do so uh so that's why it was fun what could you use to do that like are there any languages that are already built to be used in this context like can you use circom uh for this like solidity thing I had no not at all no like uh well like is there anything that already exists could you use existing libraries for anything well the so like I made a circuit which we could just verify alongside the ZK stack proof but the thing is the code is just really really complicated and to surgically insert another proof into that would have been more work than the 3 or 4 weeks it's going to take me to do this okay wild but you are now getting so you're you're applied cryptographer almost yeah I mean I feel like now I'm

ready to like go and Implement Bas in solidity or something whoa more than a hackathon project yeah all right well Connor thanks for coming on the show this has been fun to explore a little bit of the topics that have gotten you excited over the years what led you to work on Celestia and now Celestia is actually doing in the ZK context this is cool yeah thanks for having me on I'm glad we could talk about how to interact and transact on the decentralized web that's what we talk about here nice all right I want to say thank you to the podcast team Henrik Rachel Tanya and yonas and to our listeners thanks for listening