Installing Ethereum's ZK Coprocessor w/ Yi Sun (Axiom)
28 Sept 2023 · 1:03:49
Strange Water host Rex Kirshner talks with Yi Sun, co-founder of Axiom, about building a ZK coprocessor for the Ethereum Virtual Machine. They discuss how Axiom offloads complex computation off-chain and returns it with a zero-knowledge proof, making it easier for application developers without a deep cryptography background to bring verifiable data into smart contracts.
Speakers
Topics
Transcript
foreign [Music] hello and welcome back to the strangewater podcast thank you for joining us for another exciting episode right now is a very good time to be interested in cryptography not only are we seeing some incredibly powerful and important products that are being built directly on cryptography long thought to be academic or impractical the research is moving so quickly and in lockstep with industry that every few months we end up solving problems that
we previously thought insurmountable to be a cryptographer in 2023 is one of the most exciting positions to be in and yet we have a problem our industry is based on some of the most abstract complicated and difficult math to have ever been invented it's incredible and so fortunate how cryptography and Industry have fused so closely and began racing forward together but the result is that all of us mid-curve brains or application devs or really all Builders who don't care that much about math they're lost in a debris field of
intelligible Moon math to put it more bluntly it's one thing to discover the tools but it's just as important to make the tools actually usable we are very good at the former but I think that we need a lot of help on the latter and the problem is actually even worse in our specific industry because developing for blockchain or within the evm is such a new specialized and poorly understood understood skill that is almost impossible to have a full grasp on Smart contracts and ZK cryptography at least for now today's guest is Yi Sun co-founder of
Axiom Axiom is developing a ZK co-processor for the evm the idea behind Axiom is simple instead of implementing incredibly delicate and complicated ZK cryptography directly into your smart contracts you can offload the task to Axiom who can process the requests off chain and then deliver the result with a ZK proof fully verifiable on chain it's clear to me that ZK will eventually become a critically important technology that underpins life in the modern world but to get from here to there we need the axioms of the world to build the developer tools experience and the
knowledge to make ZK actually usable to obstruct away the PHD level number Theory so that developers can focus on what they are here to do create applications for real human users this is an incredibly fun and interesting conversation covering everything from Yee's background in the origin story of Axiom to the role or the purpose of ZK cryptography and even some ideas on how ZK will interact with the world once the vision has been fully realized one more thing before we begin please do not take Financial advice from this or any podcast ethereum will change the world one day
but you can easily lose all of your money between now and then all right time to start the conversation for having me Rex looking forward to it yeah man I am super excited and I'm super excited to talk about Axiom and like how you guys are bringing ZK to um you know like the evm but before we get there like I'm a huge huge believer in you know the important part of every conversation or the people involved so uh before we get to Axiom like can you tell me a little bit about who you are um how you found you know let's if not crypto then cryptography and uh yeah
just like get us you know to understand ye that uh founded Axiom yeah definitely uh until pretty recently actually it took a pretty traditional academic path so as a statistics professor at East Chicago and before that did a PhD in math and during math PhD dabbled a bit in traditional trading uh hfd equities and futures um and I got interested in crypto in 2017 um actually through the market side I was really interested in the fact that you could trade all these coins globally but very quickly I got drawn into the fact that you could actually achieve consensus on a global basis and all the possibilities for what that could enable so since then I've been poking around the space trying to understand all the
new developments so in 2018 I was thinking a lot about what type of consensus algorithms could make sense uh went pretty hard into T5 in 2020 just trying to understand what new market structures can be enabled and then in 2021 I realized that all of the you know Magic Properties that ZK had promised in since 2018 could actually be realized because I remember in 2018 running a z cash transaction thinking it was really cool but realizing that 15 minutes was probably a pretty challenging wait time and so in 2021 when I realized that's the tooling and performance had just gotten substantial started doing a bunch of Open Source work in ZK and actually eventually got drawn into the space full-time nice and
so when you say that you were like really excited by and interested in consensus like can you just unpack that a little more and help us you know was it about this like uh permissionlessness was it you you brought up Z cash was it about privacy like when when you realize that consensus was like basically like a academic concept that like all had applications and like a huge amount of research like what what got you so excited that you're willing to dabble and like let's say hey Technologies and assets that are in you know like a legal or regulatory gray area yeah it's just this idea that you could establish some sort of global source of truth that wasn't really enforced by any entity even a government and I felt like that
was something fundamentally new to the world and of course one of the first applications of that would be the list of uh account balances of everyone but I I got pretty interested in what else that could enable and so the precise uh technical underpinning is also were kind of fascinating to me I think people that are in ZK world and especially building in ZK world you know it's just like part of our daily conversation that you know ethereum or crypto is about so much more than D5 and finance because of really the technologies that people like you are building but um I think for a lot of people who aren't like living and breathing ZK it really feels like this is a about
finance and I guess like do you have a moment where you realize that like what ethereum what cryptography enables is about more than just you know like trading assets back and forth that's a good question when I made that leap um I think yeah I was definitely first drawn into Bitcoin and the whole idea that you could have any source of value that wasn't governmental was quite interesting um I I want to say when I I saw like crypto kitties way back in the day and okay that's the most non-financial thing you could really get and it was just really interesting me that that was possible to build and I don't know if you remember it actually took down
ethereum essentially for about a week you could still transact but it was pretty expensive and so it really extended my mind as to what this thing could be good for and honestly before D5 got really big I don't think when I thought of ethereum I was thinking too much about uh Financial transactions or anything really more about payments and then other wacky things on top of it cool so let's let's go to like you know we you went full time or you entered crypto in the 2017 cycle but it sounds like 2021 is where you really like stood up as a builder and realized like there's an opportunity here can you talk a little bit about um you know like starting to ingest the
ZK research and realizing that like this is the promised land that um basically like we were talking about but couldn't really perceive in like definitely in like the 2008 era but even in the 2015 era like what was going on in 2021 yeah definitely so from 2017 to maybe 2020 I've been studying just the CK research papers just learning like the various algorithms uh but the problem is just that the performance concretely was pretty bad um and in 2021 two things happened for me one is that I was helping out a friend who's designing a D5 protocol called anti-finance and there what they want to do is settle different markets
on whether certain on-chain invariants hold or do not hold and one aspect of that settlement is to actually access whether an invariant held in the past or not and so it was at that point I realized wow actually on ethereum you can't access historic data from a smart contract in any sort of native way and so I thought a little bit and realized that maybe ZK could be used to solve this problem and that actually triggered me to try to figure out what the state of ZK was in late 2021 so just looked at all the tooling that existed realize things have really come quite a ways even since the start of covid and then I went to a Xerox Park Learning group to actually learn how to
concretely write ZK circuits and so just dive down the rabbit hole so yeah it started off from very fundamental things did a bunch of Open Source work on writing ZK circuits for cryptographic Primitives like elliptic curve operations and then moved on to reading from uh ethereum data structures which it turns out is what's necessary to access the history of ethereum so at that point I honestly hadn't thought too deeply about the evm about you know the actual Merkle trees underlying ethereum and so it's kind of a wild learning experience yeah well so like let's kind of continue down this path I mean what your your building ZK circuit I'm sure In This Moment you're
realizing that while the math and the theory is done the actual implementation in the tools are like so far from being done that it's actually pretty shocking when they exist in the first place um so I'm sure this is like the the area you're entering and you're starting to realize like a very useful thing that has been untouched is like ingesting and then dealing with data from the evm like can you talk us through like what was your aha moment that there's a company to be built here yeah actually for a very long time I actually wasn't sure whether it was just some sort of exploratory project uh in the beginning I wasn't sure if you could do it at all and so I I thought that surely people
have tried to do this but I I did a very quick search I didn't really find anyone and so I just set out to try to do it myself I'm using a pretty uh one of the more classical per systems called Circle and so it's very easy to use but uh not so powerful and so after about two months I had some prototype they could access one contract variable from an ethereum Block in about one minute so while I thought it was like kind of cool that I could do this it certainly was not going to be scalable to you know anything that anyone was going to use and so over the summer last summer I spent some time learning about more advanced crew systems and eventually settled on Halo 2 which is the proof
system that the ethereum foundation zkvm uses and was originally developed by zcash and so there it felt like performance could get much better and also with my co-founder we started writing some open source libraries in Halo 2 and we found that the performance we could achieve uh just with our learning projects was pretty competitive with state of the art and so that gave us some confidence that we could really do something here and also got to a performance level where it might be useful in practice and so that's when we decided to really go for it and try to build it out into a real product yeah awesome man so let's uh using these like kind of experiments let's like really talk through what was
possible what wasn't possible before or what you need to do to access ethereum State data and then talk about how your experiments solved that and then we'll transition to how to build a company on that but before when you started this whole um I say explore phase um let's first talk about the problem statement so you're you know that you want to do something in a smart contract and that action is predicated on let's say the historical variables within that smart contract like since it's been deployed on ethereum and without um without ZK or without any extra tooling like can you first thought talk
through today like how you might let's say like go get the historical price of eth from the chain link contract just using ethereum yeah yeah so if you want to access let's say what chain link said that each price was uh one year ago um today you're kind of out of luck you basically have two options as a developer so there's one option which is in principle trustless which is that every block of ethereum commits to the entire history of ethereum that's the definition of a blockchain and so if you had infinite computational power what you could do is exhibit to your smart contract let's say every one of the past 1 million block headers uh check that the hash of each block header is in the
next block header so that would establish that a block header one million blocks ago is what you say this and then check that the commitment to the contract storage variable of chain link a million blocks ago is what you say it is via multiple proof now cryptographically that's all fine and if you use an ethereum like client today that is kind of what happens the light client will send you this sort of this proof now the problem is that you definitely can't do that on chain first of all you can't put a million block headers on chain that would exceed the size of a block and secondly even if you could it'd be pretty expensive to check the Merkel proof so what developers did it do today uh to work around this is they basically have
two choices one is that they can keep additional data around in their smart contract so imagine if chain link instead of overwriting uh their previous prices just kept a complete record of all prices that went through the system that would incur just a greater cost every single time that they update but the you'd have more access the challenge with that is that even if you don't care about the cost it means when you first deploy your contract you kind of have to anticipate all future uses of data in your contract and you have to cache data in anticipation of that if you look at uniswap V2 and unisoft V3 they did some caching for specific
purposes for example unisoft V3 caches some variables specifically to allow liquidity buying um but the challenge with that is it's quite specific it only works for one type of liquidity Mining and that turns out to not be the pervasive type that's used today uh now of course you have another option as a developer which is that instead of having a trustless on-chain solution you can kind of just put the number on chain yourself and maybe you call it an oracle maybe maybe you don't but that obviously has a challenge that your users now have to trust you to accurately put that up around you and to secure your system so that no one else can put bad data on your behalf yeah that's exactly right
like maybe you have the best of intentions I think most developing teams that make gets any sort of scale definitely do but uh yeah hacks are kind of scary and you have seen some of these multi-sig oracles uh you know two out of the Eight Keys get hacked and that's definitely very sobering so okay so before you're experimenting just to be clear like your choice was essentially to try to do this in the evm directly and like maybe you could hack your way through or maybe with proper caching it could happen but the reality is is that it is prohibitively in every sense of the word expensive and then your other choice is that you can calculate verify do whatever you need to do off chain
where computation and memory and bandwidth are super super cheap and then put that answer into the evm but you really really are you're breaking you're creating a trust assumption in that explicitly and so that that's the state of play before you started so let's talk about like when you start experimenting with ZK like what is your thought like how do you think you can change this and how do you think that ZK is like the secret sauce in order to make this happen yeah so I guess my starting point was I realized this fact about uh cryptographic commitments and actually initially I thought oh great well just like check this D commitment in the evm so then I went through the calculations that we just talked through and I
realized okay but we're definitely not going to do that and so then I realized okay like ZK is supposed to be able to take this expensive computation and compress it and make the verification much cheaper and so that seemed to me like a pretty good fit for this computation which would be verifying the chain of block headers and also verifying the Merkel proof into the ethereum state route uh so that sounded pretty good and as I was experimenting I was like oh like I know how to write like a Merkel proof verification and that's pretty simple and even at ZK surely that's quite simple so at that point that's what I learned about the Merkel Patricia try that actually underlies ethereum which is definitely substantially more complex
so then I went and read about the actual data structures and realized like hey this is definitely a whole other level of complexity there's you know a hex theory try there's this custom serialization scheme called rlp and all these things are extremely expensive to actually do in ZK um so so yeah like I I went ahead and wrote an initial implementation not thinking too hard about performance just trying to get things to work and okay the runtime for proving one storage slot was something like one hour and so at that point I was like okay this is maybe not so practical and I went and did quite a bit of performance optimization to bring it down to the submitted level very cool and so like
that so you bring it down to sub minute level and you realize like okay even if this isn't uh production ready yet it's clear that like me hacking around without any resources or like a Clear Vision or a clear customer can get this far like I'm assuming that this is the moment that you realize like here's the problem statement of like look how complicated and look at how many phds it took to just hack together a solution but also a solution was possible and performance as possible is this the moment where you realize like we need to build a company around it still not actually I was still I I felt like I was kind of a a novice in the space like I just started playing around I I didn't
really like I I wouldn't say I had too much formal training into K or anything um and also I I felt like the performance still wasn't quite good enough to deliver a lot of value like crypto users are extremely impatient and you know if if one if one data access costs you a minute you know it might be a little tough so my co-founder and I started exploring this proof system called Halo 2 and The Way We Were exploring was that we knew in principle it was pretty performant but we honestly couldn't figure out like how to use it and the reason is that the existing circuit libraries were extremely complicated and frankly we just weren't able to read the code so we set out to write our own Library just for learning so because we didn't really
understand things we chose probably the simplest possible settings in Halo 2 you have to decide to find certain objects called custom Gates and we chose frankly the simplest possible gate of all and we went out and we built a elliptic curve library for elliptic curve arithmetic eventually enabling uh what's called proof aggregation and recursion and after about a month we had something working and to our substantial surprise we were outperforming like the existing library and actually enabling a much faster aggregation time and so that really gave us the confidence that we'd be able to scale the system and also deliver just
lower latency for the same storage proofs so this is the moment you are ready to start a company yeah well this is the moment where we feel like there's something there like hey like there's this new primitive of accessing historic data on chain and like we feel like we have the tools to make it scalable uh and so we definitely had some core conviction that this primitive was going to be useful um but I can't say that initially the markets felt the same way so we went and talked to a bunch of identity startups and we were met with the resounding reception that they would rather just put the user's identity on chain themselves and so that was a little bit
discouraging but ultimately we felt like we're providing just this huge new tool and we felt like the market would eventually shift to demanding a trust minimized solution if it were possible and easy to use enough and so it really was that sort of conviction that we were actually able to build it and that we were adding something net new that made us go for it yeah it makes a lot of sense and it will return to like the story of Axiom and really what Axiom is in a moment but just in this like entrepreneurial moment of creating a ZK company um I think now in retrospect it's pretty obvious but
at the time when you were creating this company it really wasn't but like it is so easy for us nerds who have spent way too much time like digging into it to like think ahead to what are the what does this enable like what types of problems is this solving like even if we're still at the infrastructure level like if we can scale it here then we know that new use cases will be opened up like that's super super easy for us but like the hard part for everybody else is like what the hell are these guys even talking about like I have I don't know what number Theory even is I don't know what cryptography is like how am I supposed to understand how to implement any of this stuff let alone understand
why I'm implementing it and you know I think all the companies that are like the most exciting right now including Axiom can almost entirely be boiled down to ZK is impossible to use nobody knows how to use it like we want to abstract away the ZK so that developers can focus on building applications and not PhD level math and so um does that kind of resonate with what you think I'd Axiom yeah definitely we think ZK is super powerful but our audience is really the normal solidity developer who you know as you say doesn't want to learn number Theory maybe doesn't want to learn Russ even just wants to use tools that
they're familiar with and enhance their smart contracts and do more so in all of our communication with developers we never try to reference ZK as some fancy tool that's good we really only talk about hey here's what it's doing for you here are the trust benefits and we do try to educate around you know why does ZK have those benefits and if developers want to learn more we run a bunch of educational programs for that but ultimately the uh the end user is just focused on writing their own smart contracts and their application and so we have to meet them where they are for sure I mean I think like a great analogy for this is SSL right like nobody knows how SSL actually works and
how like the data that is encrypted whether it's between you and Gmail or us over this call or even like just like the most mundane like going to the Weather Channel right is encrypted with like military-grade encryption but nobody knows how this stuff actually works they just know like okay I need a certificate from somewhere else and I need these lines of code in here and as long as I have those two things which are very well understood and auditable and like whatever like if that's in then my website's secure and I think like that's the future we need to skate towards with ZK which is there's always an opportunity to like fall down the rabbit hole and become uh like as anti-social as the rest of us right but like we shouldn't want that for people
what we should want is them to experience um you know the ZK the same way they experience like a react component or a python library or just like modern computer science yeah completely agree with that and I think part of making that happen is getting developers motivated to learn at least a little bit about CK not not the math but just the how ZK can be applied namely what is the API of CK and I think for that that's why we focus a lot on enabling new applications with CK I think developers are pretty motivated by making more expressive like on-chain
applications and our experience is that if you tell a developer that they can do a pretty cool new thing they are willing to meet you in the middle and at least figure out a little bit about you know how could they use EK what are the differences in application architecture that are necessary but of course we can't ask them to learn math that's that's as Rich too far yeah yeah I mean I barely can do math and like I enjoy this space so yeah I can only imagine people who um don't anyway so let's go back to Axiom and um you know I I'll just to put a little context in for the listener's head like the thing that I find like really cool
and really special about Axiom is that there are a lot of ZK projects right now and as we just talked about like basically the only ones that are like moving forward are the ones that are about like just creating developer tools creating abstractions and like making ZK more performant but like what what's very special and unique about Axiom is as far as I'm aware you guys are the only ones that are thinking about how do we focus on the experience within the like purposely poor computational and like extremely low resourced environment that is the evm and um I think you know again it I on this
podcast I've had um you know folks from ingoyama from risk zero who are building these incredible tools that are really for developers that are outside of the evm and then just kind of want to send a commitment or trustlessness down to ethereum so um with like the ultimate question being what is uh Axiom and can you just give the brief elevator pitch like can you talk really about um why the evm and the evm experience is like the right opportunity for um you guys and what you're building yeah so Axiom allows developers on ethereum and evm compatible rollups to access the entirety of historic data of
ethereum and do verified compute over it so developers can use Axiom in a completely self-serve way uh you don't have to talk to us although maybe you want to and we let you query into the history of ethereum do your own computation on top of it and get to a result and we verify all results on chain with a zero knowledge proof that checks that all the data you accessed really was in the history of ethereum and that the compute you wanted to do is valid so our starting point really was to serve some more contract applications and enable them to just do richer things and our observation was basically you know there's definitely a compute
bottleneck on on chain but what a lot of people don't realize is there's more of a data bottleneck so first of all if you do any sort of solidity or evm engineering you'll realize like s store and sload are some of the more expensive op codes and frankly if you don't have access to a lot of data it's very hard to do any type of interesting computation and that's what motivated us to start with the data first uh plus you know we have a problem ourselves uh but once I dug into the problem we really realized that the data I think is bottlenecking a lot of interesting applications that could be developed today uh even more so than compute for example on layer twos uh the compute
actually drops in terms of relative pricing quite a bit whereas data's pass through as call data and ends up being still somewhat expensive uh yes in the broader space of Decay our feeling is actually that crypto is going to be a market leader here where only within crypto is the price of trust high enough that users are willing to deal with you know frankly the pretty bad developer experience of using CK today like the latency are kind of high cost is kind of high and it's generally although we're working hard on it still relatively difficult to use when you compare to something like react but within crypto you know the whole
premise of the space is as much activity should be on chain and trustless as possible and we think that can really catalyze the development of the underlying technology until we get you know two or three more orders of magnitude and performance and frankly in the last couple years we've already seen that I think the first use case of ZK was ZK Roll-Ups and when the concept of ZK roll-up was invented in you know 2018. I remember reading about it and then looking at the existing case systems and thinking like well we're like 1000x off like I don't see how anyone's ever going to make a CK roll up uh but you know like two years later somewhat people really did and so I think that feedback loop between the
active on-chain applications and the technology development is really critical yeah I mean man so much to say here um and yeah so I guess before we go like just to meta about it let's just really drill in on like what Axiom is so um it's definitely a set of smart contracts um correct me if I'm wrong do you also like provide a uh you know centralized archive node that's querying all this data and figuring it out and then through the power of ZK is um then turned into trustlessness or how does the system actually work yeah today users can send us queries either by sending a transaction to our smart
contract or hitting our off-chain API then our centralized prover hits an archive node to find the answer and then generates a zero knowledge proof and verifies it on chain uh so we're permissioning proving to start uh just for safety if there's any sort of bug in our ZK circuits we certainly won't exploit it so we just think it offers an extra layer of protection for users uh but the crucial property is that once we've actually verified the proof on chain uh as a downstream user you don't need to trust us or really anyone all you need to trust is that the on-chain verifier of the xero launch proof is accurately implemented and really does enforce that your query is being
answered correctly yeah well one of the things that I really am thinking hard about uh in the ZK space is so what you said is that you don't have to trust anything except that the smart contract is implemented correctly and can according to the math Theory verify a proof right and that's something that like especially you who's much smarter than me can like understand for yourself on first principles why that's happening somebody like me who is like much much less Technical and much less mathematical can like understand the theory enough that like even though I
don't really know what it means to like multiply a polynomial by an elliptic curve point I can understand the analogy enough to to build confidence and trustlessness but like lets the ladder down all the way to like the end users of applications that are going to be enabled by ZK middleware how important do you think that it is that people in that whole stack trust the um the ZK cryptography and how do you think about educating the layers that are Beyond like the direct developers implementing this yeah I think important that anyone who wants to get more transparency always can and that there's a very clear and auditable chain
of trust both from theoretical algorithms to their implementation and then the fact that the circuits you're writing actually correspond to the algorithms that you care about now as you mentioned definitely only a pretty small fraction in the world will be interested in checking this stuff um but I think the story there is that you hope at every level of abstraction there are enough people who are curious and demand transparency that you have a quasi-automated system to verify things I think if you think about the translation between solidity code and evm byte code it's pretty similar story I think probably most people have not
really tried to check whether a verified contract on etherscan really does correspond to the byte code and frankly it's not that easy to check you have to make sure you're in facility compiled version is all correct and all the settings are the same but I think just having that green check mark on etherscan and having the reputation of ether CM behind it does a lot to help users understand what the contracts they're interacting with do and I think at ZK it's going to be very similar it's probably a little bit harder to create that transparency but it's something as a space we need to work on yeah and I think like really the Insight at the like the molten core of this conversation is that for all human Endeavors like trust is
involved right and like we're trying to build systems where there are pillars that hold up the entire system that are not based on trust and so people can verify and see that there's actually structurally something there but like what makes us different from animals or from like rocks or anything is our ability to coordinate and our ability to build relationships and like trust is that magic and I think that there's something so hard but important for us to understand that like trustlessness is still built on a foundation of humans trusting humans yeah there's always a social layer in crypto even if you take away any sort of Decay you know how do you know that the
latest block of ethereum is actually valid now you could say that hey I checked all the signatures I I run a beacon node but you know how do you know that those are the rules that everyone else is coordinating on and ultimately I think crypto and ZK just offer some automated tools to let us scale that trust a little bit and scale that social layer but you know at the end of the day why it why do people even care about what happens on ethereum it's only because these numbers have been compelling enough to provide some type of cryptographic evidence that everyone in the world actually accepts yeah and I think I think there's two layers right one is about the um
the builders and the mathematicians and the people that are going to actually understand it and implement it and like we can achieve systems that are actually trustlessness at that level right but in order to scale it like to Mankind we need to get the rest of humanity to trust that these systems have valuable properties and so like there's always going to be a moment where it's like hey this system works it's verifiable but like now it's not time to like basically masturbate over how trustless it is it is time to like get people to use it yeah I I kind of feel like we're on the front lines of that uh frankly the
biggest pushback we get from developers is like hey why do I need this proof like I could just put this number on chain myself and I have to say in some cases that's totally valid if you're trying to bootstrap some sort of social app you know does anyone really care that you've trustlessly computed their reputation before the reputation itself is valuable like probably not on the other other end of the spectrum if you're doing governance for a dow that controls substantial assets well hey then it's maybe economically pretty valuable for that governance to be trust minimized and we didn't see all sorts of reasons why people actually might prefer a trust minimized solution that the connection whose connection to trust is
not so obvious one is that you can dramatically modularize your smart contracts by having this type of design essentially if you want to keep additional States on chain in your app you kind of have to have your core business logic and your side effects of your application just together in the same contract if you upgrade your logging you're upgrading now your core business logic and that's a pretty fragile situation whereas using CK to do the whole thing lets you completely decouple that and paradoxically that's been a pretty big selling point that you know it doesn't ostensibly have anything to do with trust yeah I mean I it's interesting right because we're in a
phase of crypto where like we're all kind and by we I mean crypto Twitter which is never a good group but like um we're like kind of saying it's really bad to have upgradable contracts and proxy contracts because like they're really important hack vectors and like in a certain senses I think that's really true but um when architected correctly like ZK is the solution to that and like for anyone who's ever touched computer science or programming ever like literally nothing is more powerful than just simply like simple modularity and abstraction and so like that that's not something we should want to throw away
yeah but obviously you totally understand smart contract developers will be as inventive as necessary to build the applications they want for sure okay so let's um while we're still talking about how the Axiom system is constructed I want to zero in on a point that you said about how today and during launch or during the launch phases um the pro correct me if the terminology is wrong but the prover group is like centralized information and it at least today is like just you guys can you talk well let's talk through like how important is it that that becomes like a permissionless open set of
um people that are willing to do proofs and stuff and um how and and maybe like the power of ZK cryptography is that like it always can be like a single company or single institution that is like running the computers and it's not like this wide decentralized group but because of ZK cryptography we've solved um basically all of the trust problems except for censorship so can you talk through a little bit about like how important you see the decentralization outside of the ethereum layer for these kinds of systems yeah I think the driving concern there is censorship so in terms of soundness if the proofs are implemented correctly there's not really
any type of concern uh but you know there's censorship and also liveness you know maybe our servers you know the data center holding our servers you know catches on fire then obviously we wouldn't be able to fulfill queries for a period now our approach to this is that we think first of all the whole point of ZK is that you can execute one computation once and prove it so that everyone else doesn't have to re-execute it so the level of redundancy that really makes sense we think it's definitely lower than let's say validating ethereum which is how the highest level of redundancy we're not really sure where it's going to land I think it might be something like block building or the number of
players frankly it's not that high it's a pretty Capital intensive I'm hopeful it can be a little bit higher than that maybe somewhere in the hundred to thousand range but it does get a little bit complex since as a user you're paying for that redundancy if two people try to generate a proof for you only one of them gets paid so you know your price probably has to be two x's large um in terms of applications today uh frankly we feel like this is a pretty new space people honestly prefer that we generate the proofs uh we ask if they want to generate the proofs no one has ever asked us to generate a proof themselves uh our approach is going to be to progressively open up this Set uh
most likely initially it'll be a smaller group and then we try to go bigger and one thing that a lot of people probably have have not thought about is that there's some mechanism design questions surrounding having a decentralized proofer having some of the ZK Roll-Ups are hitting this uh earlier than we are but there's definitely some considerations around Mev if you don't assign proofs to provers and then if you do then there's a question of whether that could cause some liveness concern yeah no and I just uh I guess it's been two weeks now but just got back from Stanford SBC which I would like to rename is the ZK conference but um they it was really clear that um every
roll-up company the thing that they're focused on is decentralizing sequencers and I think um it yeah it's shocking to me how much of a engineering problem that is I mean you'd think like I don't know like we figured out consensus we figured out ZK like modularize it put it together what's the problem right but um I don't I don't know if there's any is there any interesting conversation we should have around like the challenges behind descent decentralizing um I guess ZK proven yes the analogy does to uh sequencer is actually quite apt uh maybe one thing to say is that the problem has an additional dimension in the ZK proving space and
the reason is that sequencers almost by definition have a pretty regular and fixed workload if you're constructing blocks you know those blocks on a roll-up are typically going to be very similar size but with ZK that's not really the case uh if you're not on a ZK roll-up but instead just doing arbitrary computation the previously generate might be highly variable in size and also demand and so that makes the problem of uh actually assigning the perverse to jobs much more complex if you think about it from a purely set perspective it's basically a job scheduling problem which already can get pretty complicated even without any type of decentralization yeah and especially
in the early days um while your organic um I guess like transaction flow or like customer needs is like relatively low and uh maybe enter into it has gaps um like you're basically need to dedicate a super super powerful machine to be waiting on standby and um you know like computation isn't free and if nothing else like there's opportunity cost by like not having that running on something else so it gets weird when you like can do cloud services and spun up just in time but like it the the point I like just very much take your point that um the difference between sequencers and
ZK proving is you just by definition Roll-Ups like have to do something every block interval whereas you guys only have to do something when there's a real customer need yeah and so far it hasn't been too bad we're hopeful that some of the serverless GPU solutions that are coming online will be really helpful in this regard very cool so um I think with the the remaining 15 or so minutes of this like I would really just love to to maybe like take you through your sales pitch to developers or really help like the audience understand like what are the types of applications and what's the type of world that is enabled when um first like your uh you know initial
product is like being able to trustlessly access historical um ethereum State data but like come on like we can all read the tea leaves here like you're building expertise in ZK both on the smart contract side and on the like proving side on both sides are going to need more proving in the future and so like you'll be able to service those needs and in particular for cryptography that may not have ethereum as a direct touch point um but today it's tough right it's tough to see like what new like categories of applications or new ideas are going to be possible and so with like the big big asterisks that like today things are slow and not
that performant and pretty expensive but like by the definition of Technology you make order of magnitude's improvements on those things and new use cases that like were actually not conceivable before open up so with that asterisk like how do you sell to developers like the types of capabilities that this technology enables yeah definitely today we're looking for evangelist developers where we're providing them valuable enough information that they're willing to deal with you know a lot of costs and latency and things like that so we're starting off in governance where you know the ability to prove how many votes you have that's potentially Priceless or
maybe in some cases it's Priceless in some cases it's literally price is zero so yeah like I think that's a pretty obvious use case where users can prove just their historic balances um another direction that we're really interested in is continuous incentivization on chain the basic idea there is we'd be able to prove that a user has performed some type of activity let's say they did a thousand dollars of volume on uniswap and we envision a world where they can prove that to a Smart contract and autonomously claim some sort of incentive or airdrop using that so if you look at uniswap you know everyone pays the same fee but if you
look at any Exchange in the normal world you know on binance there's like volunteers NASDAQ there's a fee rebate and so we think it's just a lot of economic reality that uniswap should have this and the core reason it hasn't happened yet is frankly it costs more for uniswap to compute how much rebate you should get than for you to get the rebates so you might imagine through Axiom we could prove the volume and then through some criteria set on chain users could claim their reward and so can you talk through like why it's important in this specific case to have that be a ZK proof and not let's just say like why couldn't uniswap Labs the company just run that calculation off chain and then
tell the unit swap contract what um where to distribute yeah it's sort of two answers to that one is that if unisoft Labs is actively Distributing you know the new soft token or whatever it definitely hurts the decentralization of unisoft as a whole um I think you know philosophically really wants to be a fully on chain protocol and I think even if this is sort of sort of an auxiliary loyalty system I actually think it makes more sense for it to be on chain the second is just that when you have extremely complex off-chain computations that go into determining these rewards uh sometimes it becomes a bit there's a
bit of trust from the user to this entity that they're actually Computing it correctly if it's very simple like obviously no issue like total volume but if it's some sort of complex hidden formula I think it users might have similar questions uh and I actually think that this matters most not for someone like uniswap Labs like if unisoft lab said they were going to do a computation I definitely believe that they're going to do it but I think if you're a Dev team that's Anonymous or less well-known or maybe you're a meme coin Creator maybe users are going to trust you a little bit less and so I think it's these little niches of low trust environments where we think this is going to start but ultimately our feeling is that once
it becomes easy enough to do this on chain users are going to start demanding it yeah no I mean I I definitely believe that again the laws of Technology are if you make tools that are like performant and easy to use like people will find interesting ways to use them and so um you're exactly right to to look at how real exchanges work realize there's a huge gap between how real exchanges work and how uniswap works and like not think okay that that's going to be fixed long term right because otherwise like uniswap just can't compete like why would anyone with real money trade there or you know like Market make there I guess
so yeah um okay so that that makes a lot of sense um again like I I see so many applications around um everything from like loyalty to go like basically anything that has to do with on-chain reputation um are you thinking about or working with any companies yet that are uh working in either like I'll just I'll just say the nft space um or like anything interesting and kind of the more creative land and then are you working with anyone that are thinking of uh what I think that ZK is really going to unlock which is um like real world assets or off-chain assets yeah definitely talking to a number of creators in the nft space one
thing we found is that actually people in the more creative areas of crypto might even care more about being on chain than people on the super high stakes you know lots of money on the line parts of crypto which is definitely a learning for us um yeah we think it's really exciting you can imagine nfts that evolve based on proven user activity um and as you say just different different fine-grained areas of your identity you might even imagine gaining access to some sort of uh D5 applications or on-chain social applications based on you know your activity or even just the age of your account if you want to shut out civil
attacks um curious to hear your thoughts on the off-chain assets um definitely not an area we support uh explored too much yeah well I think it's going to be I think we're gonna have to wait for the next like bull narrative bull run to like hit the masses on that one because it's just it's too big a leap to like be interested in Sam bankman Freed's world right now if you're not already in it so like um don't want to get anyone's hopes up too much but it's just like when I look at the long long term like road map of ethereum and like the direction of ZK like for me and and just how much the world has
changed and become connected in the last 20 years like to me what a huge part of the ethereum story is is about giving the Internet of Things the ability to like really exist on the internet and like what what it means is like that these things without governments or you know these human ideas like can have an identity online and therefore like actually create a system and so you know like I I Envision a world where it's like um you know like sensors in the Arctic are monitoring climate change and like trustlessly sending down that data so that you know like uh cross-national agencies can allocate funding or like
that kind of stuff or I imagine a world where driverless cars like each have the identity and can like you know get into your house pick up your kid and like take them to school all with like trust us without worrying that it's a kidnapping right or I see a world where cargo containers or even like things within a cargo container have like an individual identity and so can be like traded or um like in some way receive like economic activity while it's crossing the Pacific right like the use for insurance or used as collateral right um that to me is what ethereum is and like the second you start seeing the
world that way it's like oh well ZK is how it happens no I I definitely agree I sort of see ethereum as ultimately becoming the root of trust for all data in the world and like you say that could be sensor data from you know from ships that could be data that's already on chain today that could be data from you know a social media site like Twitter and yeah yeah we feel like on-chain data is just the start and you know it doesn't have to be data that's literally on chain it could just be committed to on-chain and our feeling is that what we can do today to build towards that future is to actually enable developers to build applications in a
way that has to be tailored to that type of root of trust for data yeah and one of my favorite games to play is like how can how do you describe ethereum in the most like reductive way possible and I just steal mine from uh some talk I heard that vitalik was giving that was about like okay what is this machine look like in a posting sharding like with State expiry with um you know like clients with all of this look like and he said something to the effect of ethereum will just be a bulletin board that anyone can go put something up in and then like a month later it falls off and it's like and so like I just I'm like totally with
you that like the idea that maybe what all this means is just like committing to stuff on chain as just like a record of it or um basically like ethereum itself all it needs to be is identity and like all the interesting stuff can happen off chain or in the real world but like as long as we use ethereum and it's like extra layers as like identity and settlement then we're just entering a world that's more um trustless like and I guess that means different things to different people but um yeah I don't know I mean I think and I think that's what's hard that's what's really hard about building ZK tools and especially like a ZK Vision
right now is that even more so than ethereum you have to have already drinking the Kool-Aid to like really get excited about it and then it's just like you've lost your ability to talk to regular people like you can only preach to the choir yeah I will say one thing that's happened recently that's really helped for that is the rise of generative AI and and really it's the only time I've ever heard regular people ask like Hey how do I know this thing is real like can I have some evidence that this image I'm seeing is real and I think as uh these AI models get better and better you know we're going to start asking like hey do I really know who I'm
calling or does when my bank calls me for verification is is this really me and I think the end point of those thoughts really does land on cryptographic verification since that's really the only type of verification that a model won't be able to spoof and so I think that's a very interesting like macro Trend in the world yeah no I mean yeah I I am like so confident that crypto and AI are part of the same story and like not in like a really annoying VC way but just like when you're in the computation it's like like especially like when you get down to the hardware level you're like I don't I'm pretty sure we're just doing the same math like different amounts of
times you know and across like different size matrices essentially but um I I what I really believe is that like AI is about abundance and about like creation and just like imagination and all this stuff and like what crypto is really about scarcity like basically everything that we're building is built on a principal Foundation that scarcity creates value and through value like we're just gonna embrace the rampant capitalism and then mold it to create outcomes that we want and so you know like when I see chai gbt or or mid-journey or whatever like my thought
is like okay today right now like you and me let's do a startup literally right now let's just start taking every image that's on the internet and making a commitment and then just like putting it on immutable X or like whatever the cheapest like place we can put call data is right because eventually like that's how we're gonna solve this stuff is like oh when was the first time it was verifiably seen on chain and like you can't say that this image of like let's say like Biden um you know like doing something like horrific like could possibly be real when like it's never been seen on chain before and so um amen like Axiom clearly has a huge
part in that in that story to play and so I guess like fun little way to go out on like where do you see any interesting intersections with crypto and AI or really crypto and any other technology that makes you really excited about what you're building yeah we've I've done some research work on zkml before basically using ZK to prove the correct execution of machine learning models uh even relatively large neural networks but really what makes me interested in that intersection is this notion of data provenance I really like your idea of you know checkpointing images on chain and I do think that the demand for provenance is going to be what brings
more data Maybe not fully on chain but committed on chain and yeah at Axiom we feel like ZK has a lot to do to build tools to allow applications to be built around that today we use the blockchain as just sort of naive database but you might imagine a less naive ZK database you might imagine a database that even an application like Twitter could use and so we're pretty interested in building the infrastructure that can actually enable all of this yeah for sure and and the most exciting thing about ZK is that unlike almost anywhere else other than machine learning like the industry and the academics like walk hand in hand and
it's just so cool that like you are ingesting the stuff coming out of universities and putting into action like months after like brand new mathematics is created and on the flip side yeah definitely scary but on the flip side like research in cryptography is not becoming it's changing from like how do we make things harder and harder to crack literally the same problem we've been working on since Alan Turing and Enigma and like just like uh like Vibes wise like what is this specific 10-year Professor think is like a good idea and transforming it into these are real world problems and real world needs and like direct your research into things that actually matter and like
man it's just so exciting and so cool and um man I just wish you all the luck so with that um how do people get involved if people are excited by this conversation or just like want to learn more about how to add ZK into their applications but more importantly why they might want to add ZK into their applications what should they do yeah we're live on mainnet as of July you can check us out at axiom.xyz and you can follow our Twitter at Axiom underscore XYZ for updates uh we're gonna have a bunch of news to share there quite soon so do check us out man yay this is incredible thank you so much
and um yeah man I hope you reach out if you have anything interesting about Axiom to share and I'd love to talk to you about it again awesome thanks so much for having me Rex really enjoyed it thank you