Episode 325 - Web Proofs with Tracy from Pluto
22 May 2024 · 59:09
Anna Rose talks with Tracy Livengood, co-founder of Pluto, about bringing verifiable web data onchain using zero-knowledge proofs. Livengood describes his move from web2 engineering into the ZK space, explains the concept of web proofs built on the TLSNotary stack, and outlines how Pluto's developer tools let onchain applications verify data pulled directly from the web.
Speakers
Topics
Transcript
[Music] welcome to zero knowledge I'm your host Anna Rose in this podcast we will be exploring the latest in zero knowledge research and the decentralized web as well as new paradigms that promise to change the way we interact and transact online this week I chat with Tracy co-founder of a company that is building Dev tools that add verifiable data from web data to onchain applications using ZK we discuss his move from being an engineer at some well-known web 2 companies what prompted his move into
the decentralized web and how he eventually found his way into the ZK space he shares the concept of web proofs and how Pluto can use and extend some of the TLs notary stack to bring private web data into onchain applications as well as the future tool set that Pluto is aiming to develop now a quick note before we kick off I don't know if I've mentioned this on the show before but I wanted to highlight ZK mesh a monthly newsletter that is produced by ZK hack another project that I'm involved in ZK mesh comes out at the end of every month and in it we compile the latest research articles videos project announcements events and much more from in and around the ZK space it's a substack newsletter it's free and it's a really good way to keep up to date on
all things ZK I've added the link in the show notes be sure to subscribe to to get this in your inbox every month now tanyao will share a little bit about this week's sponsor galot is the first decentralized proving layer with galot users can generate and verify proofs using any proof system for any use case you can use one of the default provs from projects like Aztec starnet and polygon or you can deploy your own galot is on a mission to dramatically decrease the cost of proving by aggregating proving workloads from across the industry to better utilize under lying Hardware while not compromising on performance galot is offering Priority Access to ZK podcast listeners so if you would like
to start using high performance proving infrastructure for free go register on gal.com and write ZK podcasts in the note field of the registration form so thanks again galot and now here's our [Music] episode today I'm here with Tracy the co-founder of Pluto welcome to the show Tracy hey Anna it's great to be here thanks for having me I'm excited to to chat yeah and this has been a long time coming I'm very excited to do this episode we're going to be talking about Pluto we're going to be talking a little bit about your journey to start working on this project quick disclosure I am an investor in the project both personally and through zkv in this case and I'm
kind of especially excited to do this interview because Pluto has gone through a few iterations you know I I'm getting a chance to also check in at where it's at today it's definitely in a space that I feel like myself and maybe members of the audience have been like looking more and more towards kind of connected to but not exactly the ZK email the TLs notary world so I'm looking forward to jumping in given that this is a new project it might make sense for us to First just introduce what is Pluto and then I'm going to want to find out a little bit more about you but let's start there what's Pluto yeah sure so I think our our broad definition of what Pluto is is we want to use applied cryptography to give powerful new tools to application developers so we kind of
found while we were learning about the space that you could do so many cool new things if you just had these easy tools to use as an application developer and it was just very hard to onboard ourselves and teach ourselves all these things and so we want to make that easy for everybody um and the specific thing we're doing we'll talk about a little bit later on but we are building a technology which we call a web proof which is a proof of internet data so we let you add verifiable data from the internet to your application nice all right let's do a step back and and learn a little bit about your background what were you doing before working in this space and maybe you can share what pilled you what got you into it yeah so my background is as an engineer so I did
a computer science undergrad and I was a software engineer for almost 10 years before this that was like you know Junior engineering and Senior and like staff engineering and I did some management I've I've kind of had a long journey as an engineer and most of that was in consumer Tech MH yeah and so what what really kind of like I think pilled me on the space or like got me at least like thinking about the space was well actually there's kind of two stories so one I I had a lot of good friends in like the 2017 era of crypto who were like you know huge Bitcoin fans and I lived in San Francisco at that time and I had these friends oh like you know putting their job to go work on the
Bitcoin protocol one of my good friends like quit the job quit his job and went to work full-time on bitcoin protocol and I also had a friend who was a coinbase working on their security infrastructure from like 2014 to 2017 and he was telling me about how hard it was to secure the key infrastructure for coin base and so that like I had been curious for a long time yeah um I I had a third friend who was like all about ethereum and like going through all these icos that were happening in 2017 it was just like I was like like I was aware of all this and it was like a different era for sure but you didn't dabble you didn't do it I dabbled I did dabble but I didn't get into the technology so like for me personally I didn't like figure out what solidity was
or like how to program an application on a blockchain at that time yeah yeah and then in 2020 I started thinking about it again I think I had I was working at stripe at the time I had started thinking more about like Financial infrastructure it was like a p like it had been my passion for a while i' had been a machine learning engineer and I actually kind of had a specialization which is I worked on pricing specifically so I would help marketplaces price their goods and I worked at Uber for a while and at Uber this is a super interesting problem because Uber prices its inventory in real time um so like depending if there's a city like if there's a car in a city block like the price may go up or
down depending on demand and it was a really interesting problem and I liked working on it and then I kind of moved from that into working on Financial infrastructure and that made me think a little bit more about uh things including the blockchain but I actually had a specific moment that like pushed me fully into it which was while I was at stripe in 2021 when the capital riots happened there was this debate internally about whether or not stripe should ban Trump from the platform W um for his donation collection and it was like a pretty hot debate and like some people said like obviously no we're a neutral platform like this isn't our
responsibility other people said definitely yes you know um there people all over the Spectrum and it was like a hard decision on the founders I think to come to a decision there and ultimately they decided to to ban him and prevent him from collecting donations on the platform wow um and I don't want to get into my politics either way on this but I it did stand out to me as like a notable level of power that the technology that these companies had built um over the last you know 10 or 20 years and I remember like Patrick hon like the founder of stripe being like like we want to be neutral infrastructure we are neutral infrastructure and the cloud flare founder and others have all tried to
claim that they are neutral infrastructure but they've struggled because ultimately they have a kill switch and they have the option to do these things and so external forces can put pressure on them to kind of change their policies and plans um and yeah in this case they banned him it's stood out to me uh just the power of these these platforms and the lack of ability to have neutrality and I think that got me thinking about crypto more seriously cool so when you first jumped in what did you what were you involved in and who were you working with so I actually quit my job in September 2021 um and I have a co-founder his name is Matt and he quit his work at the same time so we met like 5 years ago he was building a startup I was kind of on my own journey
and then we came together to start working crypto and we literally didn't even know solidity when we started so it was just like let's teach ourselves the basic let's learn solidity let's deploy a smart contract on testnet and mainnet right the first project we actually like did that with was this thing called nouns which is like a it's like a kind of clever um Community for purchasing this nft and like building a treasury around it and then using that treasury to fund like nice public goods like they funded a skate park and some of these things and we had a an idea that we did as a proposal for them which was called nouns party which was to like group bu one of these nouns because they were quite expensive at the time so instead
of having to like purchase one yourself you could buy it as a group and that was actually the first thing that we deployed to mainnet we built this little solidity application for that um and did a grant with them and like deployed that on mainnet and that was kind of us getting oriented and learning about the space later they did something like ZK Dow but I'm I'm guessing this is not the same thing you didn't do the ZK da stuff yeah that so we were in nouns kind of very early when they were just just getting started and we did a proposal with them for three or four months it took a little bit of time but then we kind of debated should we do more here or not and we felt like we were kind of at our end of our Arc there and we
wanted to go a little bit broader and think about different problems so by the time that ZK noun stuff had come around we we were still paying attention we saw it we thought like maybe we should submit a proposal but we'd already been through that and we decided against it we were kind of yeah moving forward what got you into ZK at what point did you switch over there so after that we explored like several different application ideas dabbled with building like actual full businesses and products around like some of those ideas and around like mid 2022 we kind of got inspired by um there's this group at the eth foundation called privacy and scaling explorations and PSE and we saw like some cool projects that they were
working on and they really made our like gears Spin and we also saw like some of the work of uh serx Park this like Grant Community inside of the EF and yeah we had done like a full survey of the ecosystem just to try and find like something that kind of like got us really excited about the future of the space and now that we had kind of understood adaps and applications and like how all of that worked we kind of like Dove deeper into the infrastructure and we have we have an engineering background and like those types of problems really draw Us in and we looked across everything like okay what's like how do these rollups work and like how does bridging work and how do state proofs work and like how does the ZK rollup work right how does Private
blockchains and like as we started exploring this space we kind of were like what is the most exciting and interesting thing that like challenges us and we think opens up like what can be built here and that was really what started us down the ZK rabbit hole and the cryptography Rabbit Hole M okay so this was what got you initially into ZK I want to say that like when I met you so this is like a year ago now you shared with me some of your notion notes and your notion notes to me are legendary Tracy you were the person who actually explained co-processors to me for the first time in a way that I understood them even though I had actually heard that description and had like met with those teams before I may
have even had them on the show before but it was I remember it was talking to you where you mapped it out and I was like I get it I see it I know what is happening and from that point on you know any co-processor or co-processor like project that has come my way I like had a much better understanding for it I mean I've seen a little bit of some of that mapping and and the way that you that you put those things down on paper and the way you're thinking about them like where does Pluto start in this story at what point do you start to sort of like I don't know almost like Circle The Wagon on a on an idea that you wanted to commit to I think we started getting more serious about an idea around like December 2022 and like the
beginning of 2023 and that was we we started to understand ZK well enough to realize like oh we can do General programmability in ZK and we also saw the trend that it was getting much faster so we were like okay this this technolog is improving it's improving a pretty rapid clip if you like plot this trend out like it's going to be orders of magnitude faster in just a few years and so our Insight was like we should just make the highest level kind of you devx possible here so that more devs can use it and I think we also realized it was a general purpose tool like it was wasn't just a tool you could use for one problem it was a tool that any Dev in
the space could potentially benefit from from if they wanted like longer running computation or um access to Historic or cross chain or offchain state like there was this really Universal appeal to it we were like oh this looks a lot like something that should be easier to use and could make powerful applications so this is end of 2022 tell me what it sort of initially was and then it's also evolved so I want to like I want to talk through some of those phases because I think even when I met you this was sort of evolving still yeah I think it's changed both like our point of view has changed a lot over the last year and then I think the ecosystems changed a lot in the last year too yeah
when we started focusing on this it was like all right let's make something that every appdev in the space can use so you know there's a bunch of app developers none of them are using ZK right now it's mostly like being used by rollups in like some you know in a settlement capacity can we give this tool to an application developer like what's the benefit of that is there benefits to that and we pretty quickly realized yes we could build a tool that did that for an appdev and so that started to look like this concept that others have called the co-processor but the space now knows is a co-processor which is um sort of offchain computation and we started to build a service for offchain computation in actually using solidity
and that was kind of where we first started getting serious about like I think there's something here and really the idea is a simple interface for programming a snark for long running computation and we think like access to things that aren't currently possible in a solidity programming environment um and so that was I think where our heads were at as we when we met probably that was April 2023 I think at Zulu um and we were just kind of mapping out the space at that time that's probably why I had so any notion docks of like okay what I I kind of do this thing I work like I I work top down
but I also work bottoms up so I try to have like a top down map of the world like what does the world look like today who's exploring the edges of the map like what are they doing right that's sort of my my top down view but I also try to work Bottoms Up like okay I'm going to write some code I'm going to understand how this works I'm going to run it I'm going to see what the performance is and then I try to like meet those two in the middle a little bit like okay here's what the code can do here's what the where it fits in the world right oh that's interesting to think of that yeah I feel like I'm only seeing the top down most of the time like CU I'm not an engineer but that's really cool that you get to also see it
from the other side I think I'm just like I often have to ask people what's happening you know under the hood to get a better sense for it you get to look at it yeah I think a lot of great Engineers I know actually don't do the top down they only do the bottoms up so they just are in the code and they're like they work Bottoms Up to try and understand like what a tool is capable of and they try to experiment Bottoms Up that actually leads to a lot of really great discoveries because you're instead like in your more creative mode and you're sort of like exploring for yourself what can be done top down is also useful because I think it is good to have some perspective on like how others are are looking at these things but it can be
like limiting if you only look that way because you might just try to fit yourself into a box that are exists there was a point where we checked in and you had sort of described Pluto as a little bit of a like solidity extension I want to understand if the project today still has that aspect and maybe you can share a little bit about what you meant by that being a solidity extension back then yeah yeah so what I meant by that is like if you think about solidity today it's a multi-entry point program so you can like call a program and start from many points and each sort of entry point in that program has a certain capacity of logic you can run
like 250 to 500k gas something like this there's like a fixed amount of compute you can do and it's a really bounded box and we experienced this when we were trying to make daps it's like oh like there's a very limited amount of things that we can do inside of this box and I think that's a barrier that anybody who tries to build an application like runs into pretty quickly it's like okay this is what I can do this is what I cannot do and we started to view cryptography and also ZK as like tools that can grow this box and the first idea we really had because I think we had some background applications was like What if I could just like Run 10 million gas or 50 million gas like would that be a useful addition to the toolbox here and
I think we got kind of inspired like oh that would be cool like that'd be really powerful and we were we thought about some infrastructure use cases like oh if I could do 50 million gas and it just like is programmable like solidity I could verify sign like hundreds of signatures and then make a succinct commitment to hundreds of correct signatures and that would probably be useful for like a validator set checking valid validator set is correct but there's also non-infrastructure things like maybe I just want to like compute a Merkel route like to generate a snapshot like who owns this token and I want to add them all to a Merkel tree and then get the Merkel route at the end and we're like well that could be cool too because then you can you could snapshot
something trustless and uh a lot of other things like started to feel interesting there we also thought down the Privacy Rabbit Hole a little bit like oh you could add privacy and like you know a utxo tree with notes in into solidity and how if you had a like unbounded gas you could encode this note tree um and uh access it and nullify it while saving gas costs yeah and each of these just started to look like tools that I would want if I were building an application and so our head was like if I'm building an application these tools can exist like why don't I have these tools available to me right now yeah and I think that that was what got us excited like let's bundle this up in a
way that everybody in the space has these tools readily available would you say that's still what Pluto is today or has it changed from that because yeah I feel like at least the focus from speaking to you more recently seems to have narrowed at least cuz what originally was with this solidity extension the way I understood it was almost like in a co-processor like environment you had these extra things you could do in solidity it would kind of go offchain something would happen it would come back on chain but it would extend it somehow but that it was quite general purpose what happens after that yeah we we went down that path a good amount and I think we still have a lot of interesting ideas to eventually bring to bear but we started feeling kind of
like we didn't want to go in a hole and just like try and invent a vision for a better future and then come out like two years with like here's the new execution environment for crypto you know like we wanted to kind of like inch inch our way into it a little bit more partly I think it's just like about how we learned to build products it's like if you're not shipping product at like a rapid clip like you're not learning and you're probably like detached from what people actually want so we kind of used that initial North Star to help us learn about cryptography and so we we really we like we grabbed this ZK evm off the shelf that psse had built and we grabbed
this like snark compressor uh that axium had built we kind of like started tinkering with these things and seeing how they fit together and we did build a system that roughly does what we described not with the best performance um and we were kind of like running into some per performance issues and then we started building a better version with like uh plony 2 which is the polygon stack which is much more performant than Halo 2 for these things and we were seeing good performance and we were like I think we could ship this but it was just it was just such a grand vision and like so many Big Ideas baked into that I think we started to think like I you know I had a few conversations with people about this sort of like Grand
idea and we were like it's just it's too General it's too Grand like what is a very specific thing that people instead of having to like learn our new way of thinking can like benefit from this one specific technology and uh maybe get the most interesting bit of what we're trying to add and then we can maybe work our way into the grander view over time so now sounds like a really good time to talk about that specific case and I guess this will also share with our audience kind of what Pluto is today what are you focused on what is Pluto yeah so we are about to launch what is called a web proof and this is like a term that we kind of invented but we
think it like captures the idea which is a proof of arbitrary internet data so we kind of started focusing our thinking toward like areas that were underexplored but powerful and that included bringing data from Elsewhere on the internet into blockchains and we do this already today like oracles um but they're in a pretty fixed and static structure they they're not very programmable and they're not very flexible and they also can't collect personal data we can dive into some of the limitations of them but we kind of started getting excited about like a bit of a smooth brain kind of like idea that
you get when you first come into crypto as a developer you're like I'm building an application okay I want to get the weather in my solidity contract like how do I curl the weather API and then you it like doesn't make sense and you're like why can't I get the weather in a blockchain like that doesn't make sense obviously it's a bit of a like Smooth brain way of thinking because okay you start thinking about blockchains and then eventually like for us after we like had learned all about this we like kind of went back to that like why can't I get the weather in and uh yeah I think that we were like well maybe that is interesting like maybe that actually opens up some cool things that that um aren't possible and I think we took some inspiration from
like a few teams who were starting to think in this way like we saw ZK P2P for example and they had built this really cool application that lets you use your email to verify a venmo transaction and it was kind of like starting to merge these two worlds of like you know blockchains as they exist today and the internet and its usefulness as well and that really I think scratched our itch especially given our our background yeah here we'll put this in the show notes we actually did an episode with zkp top but also like zkp top is built on ZK Emil and that's also coming out of psse but what you're describing also sounds a little bit like the TLs notary project but I I actually have never dug that deep into that so I might not be like
fully following that can you tell me if there if it is like first what is TLS notary and then if it is similar or if you're like extending it or yeah if there's some connection there yeah so TLS notary I I believe it's got a long long history I think it's like a 10-year-old project or um I haven't fully dived into the history but I think this started back in the Bitcoin era in the last few years PSE has rebuilt uh TLS notary in Rust with more modern cryptography techniques nice um and really what it is it's in the name it's a TLS and so what TLS is is uh secure Communication channel between computers
over the network so which exists already like on the internet yes yeah we use it all day every day right you see the little green lock like you're using TLS or SSL you're essentially initiating a connection with the server and that traffic is encrypted so when you send your credit card or your password like nobody else on the internet can see it you're just in like an encrypted relationship with the server um so that's TLS and then the second part of the name is notary and a notary is somebody that sort of authorizes a document right and in this case this software is acting as an authorizer of that connection so it's sitting external to it and it's sort of putting its stamp of approval on it that like oh this
connection between these two parties the server and my laptop did play out and it it actually transmitted this data over the connection and what that does is it lets you verify the the actual cont contents of that connection so then is Pluto also playing in that world because you mentioned web proof and this sounds similar to what at least TLS notary might be used for yeah definitely I think we are trying to generalize the in we're actually actively using TLS notary and making some modifications to it um and I think we're trying to generalize it and make it easier to use inside of an application that might actually live
on Main net um the current code Bas isn't audited um there's performance issues in the current structure so I think the team building it is actively working on that but we're also starting to think about some of how we like contribute publicly and like help level up that infrastructure um but it also comes with challenges productionizing it in many ways so one way is just to audit and security but another way is you're actually communicating with this notary in real time while you're connected to like say Amazon server which I was using as an example and so latency becomes an issue like how far are you from the notary and you actually want to have like a notary hosted close to where
you're connected uh to Amazon so that you can minimize the latency for it to sign these transactions um there's a bunch of little details about how that works that make it difficult to use in like an application today and we're trying to sort of like fix those issues and make that easier for application developers so to understand this I I think we should kind of try to imagine from like an end user perspective and I realize that you're building tools that maybe a developer would use but I still want to understand like how someone could use something like Pluto or something like what you're building to actually create these web proofs and
what those web proofs would even enable yeah so there's a couple different ways that this can be used so I think the easiest way to think about it is just similar to an oracle today so let's imagine I want to just get a price from coin gecko like what is the price of ethereum today now an oracle network does this by having a collection of parties all go get the price at the same time and they compare they make sure they agree and then they they spit out you know with some variance this is the price of eth from coin gecko how you could do this in a web proof or with TLS notary you can actually have just one party retrieve the information and then use a process that verifies that that
one party got it correctly from coin gecko's server um and in doing this it becomes essentially like a more powerful Oracle that doesn't require multiple parties to retrieve the data you can just retrieve the data yourself um and that's sort of the standard public Oracle data example but this actually because you are the only party having to retrieve the data it can actually go a bit further than that so it can also be used for retrieving personal or private information so instead of an oracle Network which can only get public data this could retrieve things about yourself so it could retrieve um your bank balance or your place of employment or um maybe the fact that you own a Taylor Swift ticket on Ticket Master
facts that you would have to share your API keys or your password with the Oracle Network in order for them to get uh and so this becomes pretty powerful for a wider range of internet data than what oracles can do today what is this is this the TLs notary or is this Pluto this is enabled by TLS notary and we depend on TLS notary all right and what TLS notary does is it lets you verifiably retrieve internet data so it it takes standard internet data I'm going to get data from coin Gecko and it makes it signed internet data so I'm going to get data from coin gecko which has a signature on it that says this data is correct cool um this actually
does not use zkps it it's just transforming the internet into something that emits signed data instead of unsigned data got it okay and then what Pluto is doing let's go from there so it changes it because it allows you to go into like private or like owned like things that are not public data yes the the things that we add on top of this are we make it easier to use in an application so that it's deployed in a bunch of different places it has lower latency it scales a bit better but we also add a zkp on top of this so in the notary example it's just emitting signed data so it has you know the back and
forth between the server and the client so hey chase.com give me my bank balance yes here's your bank balance it's $10,000 okay thank you and it it's got this transcript that has been signed by the TLs notary process yeah but this is just signed data you have the plane data and you have a signature over it um now there's a little bit of details I'm not going to get into about how TLS notary conceals some of the facts in there so it actually has what's called selective disclosure um so you can selectively disclose some of the data but all of that is non ZK like it's it's using a technique called garbled circuits um and key sharding in order to to do this and where we come in is we actually encapsulate that proof into ZK to make a
ZK proof um which makes it more succinct but we are also adding some capabilities on top like the ability to do some computation and we also make an SDK that lets you collect user data as well so if I need to collect my personal data say my bank balance in order to do that I have to be logged into my bank I can't just like say Pluto collect my bank balance because Pluto doesn't have access to your bank balance so there's actually a user experience here of like I log into my bank so that I can retrieve that bank balance in a verifiable way and you're when you say log you're just like you're talking about like logging in on the web in a portal like you have to be on the page and then on the page you can like create
this proof and then privacy of the underlying proof in a way or what what the proof is proving yeah yeah that's exactly it okay yeah so you actually have to like pop up a a panel that you input your data into and it all lives on on the device it never goes to our server interes and we collect that data and then ultimately get a proof and then we build a ZK proof over that now day one we're actually building the ZK proof on our server um but we actually think we'll start by the time we get to Main net we think we'll be doing it on the device itself I want to kind of bring this back though to the solidity extensions because it feels very far away from that now and like I also
didn't even know where there's a blockchain in here like this seems more like a a web technique with a zkp but you sort of said that the solidity extension idea and those tools like you had narrowed it so what do the tools even look like how are they working yeah so right now this is this is just an SDK for adding internet data to a blockchain application okay it's it's a very specific thing for just adding internet data that you maybe otherwise couldn't add to your application to your application in a few lines of code um and this to us this is narrower because I think when we were thinking about the solidity co-processor we had started to think of it in a very expansive way as
like a new developer experience for crypto it's like and if if you think if you start from first principles and you try to imagine like what is a better devx for crypto given we have cryptography and a bunch of tools available to us what is that devx and where our heads we're at is well it has long running computation meaning I can like write a script that runs for a very long time and still get a succinct commitment to it it has potentially privacy preservation so maybe I I can store state in a privacy preserving way um it has State proofs probably so like I can access historic State and it also probably has what we're calling web
proofs which is access to internet data or sources of data that I normally can't retrieve in a blockchain and so in our broadest vision of what that solidity thing was it included all these different tools for being like a a you know a super power blockchain developer like no longer was I just writing 200 to 500k gas of solidity code now I like I had all these tools at my disposal and I could write these really rich programs uh that composed across all these tools that maybe is like part of our grander vision for how the devx of crypto becomes this more evolved thing but the narrow point of it is well what about
just Oracle data for the internet and just the web proof side of things so that okay so you're not doing computation on these in this current state like you just focused on the bringing of these personal information from a web browser directly to an application running on a blockchain yep exactly okay and this is all on ethereum I guess so it's still like is it still solidity like you're still formatting it to be used in solidity yeah you would still verify the web proof in solidity and you would use it you know in in a Dap that is written in solidity and you would verify it on eth or on an L2 um any of the traditional places but right now it's sort of just
an attestation it's just like a fact one piece of information and you can contextualize that on chain but right now there's no way to contextualize it in a co-processor or to do like you know I'm going to get my bank balance from Chase and I'm going to get my bank balance from or my 401k balance from Fidelity and my brokerage account and add them like that you can't do that right now um and so that's where we're starting okay but that's like where you'd like to go I guess is that you could add them I think we it's technically possible to do that and I think we are starting to figure out uh if that's where we want to go got it would you say that just doing this web
proof though would you still kind of put yourselves in the category of a co-processor but just a very narrowly focused one or do you think it's something else now I yeah I don't I haven't actually used the co-processor term a lot to describe us because I I found it confused people a lot when I would use it so I don't know if people know what a co-processor is like I don't I don't know if there's like an agreed upon definition of a co-processor I think one way you could think of it is like you know something that does uh computation prior to the transaction being settled on chain and so and it does it in a zkp probably right and because it's a zkp you can maybe do this like on demand sort of
like while the application is needing its data it can compute a co-processor proof as well but I think the ecosystem is still trying to digest like what that means and there's like some you know thought pieces on like well a co-processor can only do um synchronous data and like they can't be ordered and like there's a bunch of like brain damage around how to do this and what this means and I think I don't really want to like try and categorize us into this it's like we're we just make these proofs we make these proofs of internet data you can use them in your application that's what we do um and I think we will probably think more generally about that over time and like how does making these proofs of internet
data become a more General system for programming in blockchains we are thinking down that path yeah but I don't know that we're going to try and like categorize it as a co-processor or there any of these things we're still trying to figure out how we categorize that how we communicate that because I think developers will need to understand this thing very clearly and what benefits it gives them um and so we want to try and do a good job of describing that when it comes time it sounds a little bit like the proposal that Mina or the 01 Labs folks make which is around this like ZK app and I remember them using language and they didn't say web proof but they
would have said something like they said like ZK oracles or something yeah it definitely had sort of that connotation of like taking web information and using ZK so I just wondered if you'd if you'd looked at that or if you're familiar with it if it is similar or if it's actually something else yeah I actually I think this idea has been around for a while I I'm not sure exactly who invented it but like I I was saying I think TLS notary has been around for years and Mina I think has talked about CK oracles is I think what they've called them for a long time um I'm not super in-depth on Mina's approach but I I believe they are also um considering a notary approach so this would notarize
the connection in the same way that TS notary does I don't think that they have a custom implementation of this so um maybe they do and I'm just not familiar with it but yeah I think for the Mina ecosystem they also believe that like access to arbitrary web to information is useful for their applications and so I think they are either working on building or want someone to build this ZK Oracle which would let you retrieve things like your bank balance and use it in an application I mean we are focused on ethereum first and foremost so and we're kind of a general purpose tool for developers kind of decou from any specific programming language um or any specific uh blockchain I think we also
add the user experience side of this as well so uh there's well we had a couple things on top we had the user experience side of actually being able to collect this information and we had the developer experience side of actually being able to link it into a smart contract application um and we act we add like proofs on top of it that verify and retain the privacy of this whole process so we kind of bring it from like an idea in concept that people understand to like you're going to actually be able to use it in a smart contract application on Main do you think the proofs that are being generated are they going to require some sort of proof of marketplace this is a term that's obviously been floated around a lot but like who are generating these proofs do you imagine you guys doing it for now or
would this be something decentralized like are you going to work with one of the existing prover networks or proposed Prov networks I don't know actually if there's any like really live ones yet yeah so I think for our test net we are going to generate these on our server mhm and we're still coming up with the strategy for like the plan for main net my expectation is these are largely client side proofs so they'll be generated on a user's device and you know the device will emit a proof uh text that can be verified on chain um but there it you could be in a scenario where you have a lot of these proofs and they kind of go into a holding pin and you want to Agate them before going on chain so that you can lower the costs of
everybody um that could potentially be done in aover network or it could be done on a central server I think my general stance on prover marketplaces and impr networks I think they're exciting and they're interesting to think about I do think we're a little bit early to that I could be wrong I'm open to being wrong on this but I kind of plot the trajectory of rollups and their journey to decentralization right and if you look at rollups kind of coming to test net main net in 2021 it's taken years for them to like work their way towards decentralizing the sequencer and even having fraud mechanisms right and here two two years later we just barely have a fraud mechanism on testnet
in optimism's case and you know it's going to take another six months maybe another year before that's on mainnet and then I think the journey to decentralized sequencing is even further out and the journey to decentralized proving I think is even further out so I just I think it's a long journey and we are kind of setting up the proving infrastructure for this already and it just it feels we're a little ahead of where the the system is but I do think over a longer time Horizon these things are probably important so you sort of mentioned a little bit of the zkp stuff and it's plony to is there anything else under the hood that might be interesting to our listeners in how you in like kind of the systems that you used or how you built it yeah so we didn't want to
reinvent the wheel so when we first started working on this we worked in Halo 2 well I guess one thing I'll add is all these systems aren't audited necessarily right so there's a lot of like Frontier things being built like you've probably heard of of jolt and plony 3 right and there's even like lurk which people I think underestimate I think lurk is really cool um but a lot of these systems are still in active development they're not ready to go to main net right and really the few systems that we have that are really ready for main net are like Halo 2 maybe planky 2 maybe narc and circom and like those are the set of tools that you can use and have some confidence in main net that they've been audited and then I guess more generally how we've kind of
worked on zkps up to this point is grabbing other people's tools off the shelf and trying to like Leverage Halo 2 plony 2 and benefit from some of the existing technology there but I think as we start to pursue more performance um for these client side proofs we might find ourselves doing some sort of custom uh app specific snarks in order to get us the most performance I also wonder if you're doing it client side like does the proving system sort of I guess you need performant in a certain way but maybe all of the things you listed I think are pretty like snarky um and not starky like would you ever go more on the starky side actually well are they maybe they're these are
mix like plony to might be like a bit of like a weird mix nowadays it's it's a bit complicated like uh we used to have maybe a clear line between the two but plony 2 plony 3 these use Starks for part of their proof and they use snarks for other part of the proof and these things are getting mixed and matched a little bit more um yeah we in terms of like pure Stark Stacks like maybe Cairo we've dabbled with it but we haven't been serious about using that things are evolving really rapidly I would say like one dictum like one one way you could make this decision in the past was about performance and proof size and privacy like these are the sort of the like
criteria you could try to make a decision and so if you plot these things on a performance scale some create like a performance by size scale some are very fast but create very large proofs and that's typically like Starks but that's also say jolt and plunky 3 they're like large proofs they're made very efficiently and uh other tools like circom uh and Halo 2 can create very small proofs like Groth 16 or or single column or a few column plon proofs that are very com compact they can be 4 kilobytes or down to 200 bytes in the absolute most extreme case and there's a trade-off in terms of performance and
and the size that you get out of these things so it ends up being a pretty complicated tradeoff space to try and choose the right tool tool for the job and then if you add a third axis which is privacy like some of these tools are privacy preserving some of them are not privacy preserving so you kind of end up with a somewhat complicated trade-off space in addition to that like the trade-off space is changing so in the past it maybe made sense to only verify a proof that cost up to 500k gas but now we're starting to see a world where maybe large proof verification without compression is doable and we might have contracts that can verify millions of gas of these larger proofs and so that
trade-off point is also moving as well why is that is that the hardware is the answer it's not necessarily Hardware it's it's more about uh gas costs in l2s and with blobs coming online right gas costs are going down in L2 just like there's no it's not a limitation yeah there's still some limits but the the ceiling is lifting a little bit and so we could end up in a world where it's not so crazy to verify a proof that is you know costs 4 million gas to verify um and in that world you may make a different architectural decision about which types of proofs you use because that cost has gone down I see I see yeah and on that performance axis there's
both compute time but there's also memory budget so like if I'm on a server which has a ton of memory running a you know a plonky three proof that uses a lot of memory is to totally acceptable but if I'm on a mobile device then I have a memory ceiling and so I think a lot of the space is sort of like navigating this sort of three-dimensional trade-off space and trying to figure out like what is the exact tool for the exact problem that is optimal and gets me all the things I need right for sure and it's like which environment is it working in is there going to be a hardware element or is it going to be on one of these l2s uh yeah how fast how expensive that's interesting we've kind of gone
down the rabbit hole on all these things as well and I think you know we're keeping up to date and we're trying to kind of like navigate it correctly and make the right decisions along the way how hard is it for in your system to switch these things out like I know that right now it's still kind of being built so you have flexibility but yeah is there a is there a moment where it freezes or can you create something where you can like switch these things out later yeah I think if preserving optionality is super important you could technically architect a system where like you know you can generate proofs in many different ways and have a verifier that's you have different verifiers that are sort of flexible over the proof system like these things are technically possible but it's not obvious to me that
like you're going to want that system in production I think probably what happens is you get to a good enough proving system to solve the needs of your stack and then you kind of commit and like it becomes your proving system for a year or two in production and only after like the space has dramatically changed the unit economics of proof generation would you like build a new version and iterate forward to it and I think this is what we've seen rollups do as well right rollups start on one proof system and now if you look at most of the ZK rollup guys they're like in the process of working on their V2 or their V3 which has a newer more performant and less expensive proof system yeah yeah yeah
what stage are you at that's kind of like now I'm now I'm kind of curious like how far are you from potentially choosing one of these things or yeah are you on test net are you what like what can people already play with yeah we aren't public yet but I would say we internally have a testnet um we're going to like launch that over the next few weeks here um so I think we'll have a demo in public before the end of this month people will be able to go play with it and shortly thereafter we'll have a test that people can actually start building into their applications we have a lot more to come after that this will be our first launch and we're sort of like building a bunch of really cool things that can come after that very nice so it sounds like this is you
know I I'm just going back to your background and those first 4as into the space and finding the tools kind of lacking and and you've stayed sort of on that tool tooling front it sounds like this is kind of like one narrow but potentially power powerful tool or tool set that you've developed there are also other teams building tools I I'm sort of curious like kind of just yeah throwing back to that larger like what's out there how possible is it that we get closer to that like actual decentralized transfer thing I'm assuming there's other tool Builders as well how far along do you think we are how long do we have to go like do you
now see momentum do you think that like we are getting closer to that future that you sort of envisioned or do you think we're like still very much at the beginning and I guess the question actually goes to both like General blockchain applications but also and maybe separately we should look at like ZK but let's start with the blockchain application side of things yeah to be honest I think we're a little bit stuck in a rut like um with the current set of capabilities like if I look at when I did this survey of the ecosystem and I tried to think about like what comes next a lot of what people were thinking about was how do we take the 250k gas Unis swap swap and make it lower cost cheaper
put it in more places higher throughput like that was all about taking what the like one great application that we all were excited about was right and like and just making it cheap and Global and Universal right yeah and now it's like all right so we've we've got all these roll up and like all these approaches to decentralizing them like we are going to get like one Unis swap swaps right and I think that's cool but like and I think it's important but for me like when I think about what excites me it's not lowering the costs like if if we just lower the costs like that's not Innovation lowering the costs is about unit economics right and it doesn't bring novel creative experimentation and
new applications into the space and so I think when I look at a lot of what's Happening in blockchain infrastructure it's really great work on lowering the costs of Unis swap swaps wow but what is like what is the thing that expands that design space right yeah wow and I think that that's kind of where I've tried to orient my mind is like okay everyone else is is going to lower these costs these costs are going to come down over the next few years like I can bet on that and then like what does it look like to expand that design space beyond Unis swap swap right what does it look like to add web data add historic State add long running computation add privacy and like what does it look like to build
a developer experience that has all those things baked in so you have a much richer design space for building these applications and so yeah I've tried to keep us focused on like open the design Space versus lower the costs yeah I mean I think what you're saying makes a lot of sense here and I and I sort of appreciate you sharing this perspective because I think I I also would like to see us just really expanding our thinking and and how far we can go with what we're doing I like I think you the way you just put it like the you know the one use case and then like just optimizing for that thing is really well said I hope we can do better and bigger and more yeah and and I don't want to like criticize I'm not trying to criticize I think people are doing great
work but yeah like 80% or something of the investment dollars in in infrastructure are going into lowering Unis swap swap costs almost and like that is a useful thing um but just cheaper transactions I don't think are going to like 100x um the space I think you need to solve like Cil resistance right like anti-il techniques and you need to solve identity and you need to solve privacy and you need to solve access to web 2 data right like all of those open up the design space and I can tell you've been hanging out with DC Builder because you just mentioned I mentioned identity like I but I actually I I think it's one of the most important
threads actually um I kind of I gave a talk at eth Denver sort of about this topic which was like how llms and sort of like AI in general generative AI like changes the internet and the implications for the internet for sure and I'm I have become pretty convinced that like kyc mechanisms and capture mechanisms like they're going to struggle and like we're going to end up with a Twitter feed that is full of generated content and is that what people want how much will you value a stamp that says this is human when like the whole feed is generated I think it it's going to be very important to to you as a user of the internet because you like there's something about just knowing it's not just generated text
sure I mean maybe we end up in a world where we all have just purely generated feeds and we're just okay with it but um yeah so I I think that digital identity string is really interesting but I also think like merging web 2 Data into blockchains is also like um one analogy I use is like if you look at blockchains as like a percent of valuable State on the internet how much of our valuable State lives in blockchains today and it's just a drop in the bucket right a tiny amount and if you look at how much valuable State lives in other databases owned by Google or your bank right almost all of it we have this tremendous wealth of information and like if we can Bridge these two worlds together I think you get a more creative uh set of
applications that's cool yeah maybe I'll add one last thing which is we've kind of like been thinking about this idea which is what we call Gray markets and a gray Market to us is it's like not a black market it's not like a white Market it's like in between right mhm and if you can kind of like Bridge these two worlds of data you can start to make these marketplaces on top of the existing infrastructure and so I think ZK P2P kind of did this with venmo they made this peer-to-peer off and on ramp on transaction capability but you could also do that say with Ticket Master where you use ticket Master's API to create a Marketplace for ticket repurchasing but you can do it on video game assets too
so I could like have Counterstrike skins and maybe trade them for World of Warcraft gold and like build a marketplace around that there's a bunch of like these marketplaces you can make for digital assets that aren't blockchain native digital assets and we think that like starts to get really exciting and it crosses these like databases it crosses companies and whereas like I think it like a third-party company would have a really hard time doing that primarily because you'd need to get like licensing and agreements and all of this stuff because this is sort of like so internet native it's dependent on it just like existing in your browser you start to be able to do more stuff maybe yeah you I hope they don't try to block everybody that's the
only thing as I say this I'm like or those companies will still try to lock this stuff down but yeah yeah yeah maybe it creates the conduit toward like a new kind of protocol for that type of marketplace it helps kind of bridge the gap in the short term and then the long term uh it grows a new network that can flourish on its own wow that's really cool nice Tracy thanks so much for coming on the show sharing with us a little bit about your journey from you know being a web to engineer to the web 3 world to like getting into ZK to exploring well teaching me co-processors developing Pluto first it's this like
solidity extension or like you kind of like a a generalized tool set narrowing it down to this web proof story and yeah thanks for sharing what that could then enable it's very exciting yeah thank you it's been a journey I'm excited to continue cool I want to say thank you to the podcast team Rachel Henrik and Tanya and listeners thanks for listening