Episode 307 - The Evolution of Aleo with Howard Wu & Alex Pruden
17 Jan 2024 · 1:25:18
Zero Knowledge host Anna Rose catches up with Aleo co-founder Howard Wu and Alex Pruden, executive director of the Aleo Foundation, on how the privacy-focused zero-knowledge network has evolved since Howard's last appearance on the show in 2020. They cover lessons learned building Aleo, key technical decisions and detours along the way, and how his zk-creds identity credentials research has grown into products like zPass.
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 [Music] online this week I catch up with Howard woo co-founder of the Alo Network and Alex Pruden executive director of the Alo Foundation we do a long overdue revisit of the Alo project on the show The last time we covered all this was at the beginning of the project very early on back in 2020 and in this interview I
get a chance to learn about all of the Lessons Learned technical decisions shifts and breakthroughs that they've experienced as they build out their system we also revisit the initial goals of the project that is to deliver a safe and private experience to end users of this decentralized system it was really fun to to catch up with both of them and I do want to quickly mention my connection to the project the company is a sometimes sponsor of our events like ZK Summit as well as a sponsor of this show although just to note they are not a sponsor of this episode as this is not a sponsored interview I don't do those but if you are a listener to the show you've probably heard them mentioned at the beginning of other episodes I'm also an investor through the ZK validator I was personally an early contributor so
yeah I feel like I've been around this project for a long time um I've also gotten a chance to see it through its many iterations it was very fun to explore with them the status of the project as it gets closer to launch now before we kick off I just want to let you know about ZK hack 4 the event just kicked off yesterday on January 16th and it runs until February 6th this is not a hackathon but more like a crash course in ZK it's pretty unique as an event in that it combines three things over the span of four weeks that is it's a live virtual Workshop series with workshops running every Tuesday it's a CTF like puzzle hacking competition and it's a job fair I've added a link to our next sessions in the show notes I want to say a big thank you to the ZK hack for
Workshop Partners risk zero and polygon Labs as well as geometry research who have built puzzles for this Edition as you may know the ZK hack is actually a separate project from the podcast but I'm involved in both of them and I wanted to let you know about it our next Workshop is on January 23rd followed by one on the 30th and on February 6th hope to see you there hope if you're already hacking on the puzzles that you're having fun and we can see you over on the Discord I've added all links in the show notes now Tanya will share a little bit about this week's sponsor launching soon nada's a proof of stake L1 blockchain focused on multi-chain asset agnostic privacy via a unified set namada is natively
interoperable with fast finality chains via IBC and with ethereum using a trust minimize Bridge any compatible assets from these ecosystems whether fungible or non-fungible can join nada's unified shielded set effectively erasing the fragmentation of privacy sets that has limited multi-chain privacy guarantees in the past by remaining within the shielded set users can utilize shielded actions to engage privately with applications on various chains including ethereum osmosis and Celestia that are not natively private nada's unique incentivization is embodied in a shielded set rewards these rewards function as a bootstrapping tool rewarding multi-chain users who enhance the overall privacy of nada participants follow namada on Twitter @ namada for
more information and join the community on Discord discord.gg NADA and now here's our [Music] episode today I'm here with Howard woo co-founder of the Alo project and Alex Pruden executive director of the newly founded Alo Network Foundation welcome to the show both of you thanks it's great to be here thanks for having me again Anna yeah I should say welcome back both of you have been on the show before it's been a long time since we've had an episode on Alo and I think it's a really good moment for us to do a catchup so let's kick it off Howard I sort of want to start with you because the last time you were on the show was August 2020 and this was right at the beginning
of Alo but actually I want to throw back to an even earlier episode you were on episode 38 you were the first person to come on the show and Define snarks to our audience which is kind of cool so that was all the way back in 20 18 I think it was like July or August something like that yeah it was a long long time ago actually that was like within the first year of the show yeah it's really interesting listening to you describe snarks today as well like I will add that link to the show notes something that I noticed though back then I don't know if the breakdown of the IOP and the polinomial commitment scheme had been like properly communicated yet or even thought of yeah yeah I think a lot of the formative work
back then was still early in terms of like reaching practical maturity there was also that era where people started realizing hey there's like different ways we can construct Merkel trees like polom based and there's the now veral trees as a concept uh there's been a lot of New Primitives that have been invented since that time which have accelerated um The Proving aspect of snarks um I feel like you know on the verifying side pairings remained like the fastest and people continued to kind of use those like where it's necessary and this even is also even a call out to Georgio where you know he he had this presentation several years ago at ZK Summit saying Groth is not dead and you know Groth is still not dead to this day like I still see it out in the wild I
still see research papers reference it I still see projects that are trying to kinding of generate you know their initial pcc's use it like it is very much still a viable proof system and and I think that is a testament to just like you know there's a lot of work that has gone into this space but there's also a clear demon demonstration of history and lineage that has remained even since the original episode that we did totally it's a time capsule but it's actually really fascinating one to give some context at the time Starks were brand new and kind of unusable I think and this is before plon too like this is long before plon or Halo or any of the systems that kind of came after that we
are very familiar with now I I think even at the time rollups were still A New Concept if at all did actually yeah I don't I remember when Barry put out that blog post about it I don't even think rollups were around back then so yeah yeah I mean Starks are are a great example of a technology that emerged since that have been very applicable for rollups it's a great use for that because you're talking about these massive bulk transactions that you know you you're willing to pay the verifier time for and the storage size of it's reasonable for for so many transactions to amortise across it's a clear demonstration of where people have gone with that technology and now recently you see it with folding and zkl these are entirely New Primitives entirely New
Concepts that are only a year or two old them so it's it's it's really fresh totally a few years after that you came on to basically introduce Alo I want to later on in this episode talk about the evolution of the Alo stack but let's start more with the evolution of the Alo company or project and sort of your position in it what you learned over the last few years where do I begin what did you learn I will say that uh even though the journey in my mind is still beginning um I've learned a lot and I feel like it's forced me to teach myself a lot of things along the way and most of it being non-technical things uh you know certainly I've never built a business
before this uh and doing that with Alex has been both a pleasure um and quite a journey it's tested a lot of our skills yeah I guess overall I have found that it's incredibly important who you bring on to a team and it's incredibly important how you interact with those team members everything that you build as a project really emerges out of the skills that that the people around you bring to the table um and without those skill sets uh you don't have a team I I think that that was probably the biggest kind of Journey or kind of lesson that that I have taken away from this just on a human level and then I'd say like double clicking into it I've also realize just the importance of setting
the right mission and vision to guide a group um and I think that this also touches into the point about why we think a foundation is so important um it's that in order for at least for my view in order for this technology to really really take rise and and I mean ZK to take rise like I think you need to have both an ecosystem and a product driven Focus for this technology and this is where I think Alex and I are in a really unique position to take this to the next step um and make this happen um but it was something that was really emergent over the past two years that really helped me to start to see this and come around to it and you know this
this does touch a bit into the stack I would say that like on a high level a lot of the existing code that we had with when we started Alo was based off of lib snark and based off of zi very early software designs at the time and we learned the hard way admittedly that a lot of those design choices weren't the right ones um not only because it was difficult as a developer to use that stack but also from a feature set it was either incomplete or it it kind of optimized in the wrong directions and we had to go back and rebuild a lot of that and so this was something that with the engineering team I would say was a really big shift in our Focus was moving
from that research domain into that product domain yeah um and then I'd say on the other side which was on the community front that I felt like we really had to figure out a good Cadence and a good way to get feedback from the community I I mean now we're starting to really formalize this concept around arcs which are our kind of Alo request for comments I think that that's going to become an emergent aspect of the foundation and I'll let Alex kind of chat on that side of things but I think that just having a feedback loop that is iterative rather than kind of Master planning was something that was much more hard learned over time we had these Grand plans about how we wanted to evolve the language and how we wanted to evolve the the feature sets and we realized actually it's better to look at
what applications grantees are building and figure out what are the missing op codes and pieces there and just plug it in iteratively and that was that was something that at least for me has been an important part of this process is just you know as if one is finding the right team members and then two figuring out a good feedback loop with them um interesting yeah yeah those arcs that you just mentioned are those the equivalent of like the EIP yeah it it's effectively mirroring the the kind of bips process or the EIP ERC process um it's something that I think we still need to formalize more so like as you know governance is an unsolved problem um but I think that especially when it comes to to ZK Tech you know you have
even more on the line now but you know it's something that I think is also an opportunity because the fact that you have these lightweight ver fire so you could also design things that are much more formalized than before and it's it's an open question whether onchain or offchain governance is going to be the right thing I think it's going to be a bit of a hybrid you probably want some form of voting with stake on chain but you probably want some some human process to make sure people are adhering to the protocol of arcs in this case but yeah I think that's probably something best Touch by Alex yeah yeah so let's let's shift to Alex Alex last time you were on the show was last year where you came on to talk about Z prize we actually did a two-parter you were kind
of like the co-host leading us through the Z prize world I think you've also been on another time I did an episode on funding a long time ago you also the host of the ZK Study Club which folks might be familiar with that's over on the YouTube channel for the zero knowledge podcast but why don't you share with us kind of what you're up to today because last time you came on you were the CEO of alos systems now you have a new role so share a little bit about that yeah so first off it's been amazing to collaborate in many ways over the years and it's a pleasure to be back today yeah and as you mentioned in the introduction I am now the executive director of the Alo Network Foundation
which we just formed it's new as of like a week ago and we did this uh very intentionally as Howard mentioned because both Howard and I are really committed to you know we want to walk the walk of decentralized network not just talk the talk I think there's a lot of there's a lot of excitement about blockchain and cryptocurrency and decentralized Technology but you know there's not a lot of teams or projects that are very far along that road map you know and of course we're also at the beginning but we want to make sure that we set things up so we can actually achieve what I think makes Bitcoin for example really special I mean the thing that started this entire space right Bitcoins like the guy that founded it literally just disappeared off the face of the Earth and it still works you know
this concept of a per mission lless network uh kind of really deserves its own organization that's nonprofit that's focused on the hard problem that Howard just mentioned the hard problem which I'm convinced will always be an unsolved problem which is governance and social consensus right because now that you know we're imminently about to launch the network you know it's not just Howard's anymore it's not just mine anymore it's going to be owned by all of the users all the community members all the validators all the provs and you know the hope and the mission of the alien Network Foundation is to be the steward of that right and guide it in a direction that promotes use and usage and relevance right and I that to me is I think another really important piece
so in addition to ensuring we Hue to the principles that motivated the founders of the entire industry we also try and do our best to guide things in a direction where this is about technology but it's also about technology enabling real world applications I mean that's such a critically important part for me right because I think you know I got motivated to join the space because of what I saw as like fundamental problems specifically with remittances and payments in third world countries and you know I think still to this day crypto has not quite realized its potential there's still a lot of hype but there's still precious few applications right and of course Alo is pre-launched so there's not really any real applications here either but it is definitely My Hope and my goal to take
the Alo Network Foundation and use its resources to promote real applications and I think you know obviously for many reasons I'm bullish about privacy being a big part of like you know enabling real applications and decentralization and also the programmability that Alo provides but yep I'm very excited for this new journey and it was awesome to work with Howard uh throughout my time I think for context for everyone else on the show I joined a was the first employee was the chief strategy officer then became the Chief Operating Officer then was the chief executive officer and now I'm now the executive director so I've kind of been on like running all around and the last thing I'll say is maybe just I I tweeted recently like leadership is two parts knowing what to do and knowing what not to do right and a big part of what not to do is not to
get in people's way if I have any accomplishment that I'm proud of as being the CEO it was enabling Howard to do what he was best at which was be a technologist and to get us to this point that we're at today and so I'm incredibly thankful to have been part of the journey so far and excited for what's next I like that Alex also you are the person in the community who consistently brings up the we need applications comments I know I am I am a broken record in our chat on the stage of the ZK Summit but I I think it's a really important one I feel like every time I see you say that I'm sort of reminded to take my head a bit out of the sand I feel like I get very excited about these technological tweaks and the cool implementations and these
theoretical ideas but I think we are still on the look out for something real and something Beyond maybe just private transfers because I don't even know if that's really successfully done yet but beyond that like something where people use zkps every single day and they use it for something key and yeah I don't know if we've fully got that yet although there are some ideas I would argue we haven't but yeah definitely there's some really exciting ideas and that's like look it's great to be excited about the technology I mean we're all excited about it it's super cool stuff right every I'm sure all the listeners of your show uh are as excited as we are about the potential that it can provide but it's just potential until it's realized in the form of an application and that's its own journey
and I think it's just it's it it's important not to forget that at least to me as everyone now knows because I bring it up all the time yes to be honest I feel like Alex's repetition around this concept is important because people in the current news cycle lose track of these motivations of why we're doing what we're doing here so quickly um like you see like on the one side there is the the kind of crypto price narrative which tends to drive the short-term hype cycles and to me that can be frustrating because it's a big distraction a lot of the time when you're trying to build something that's long-term sustainable and meaningful but then there's also the other side of things which is the research side of things where you're always trying to optimize for a new theoretical proof system and sometimes
that's specializing in one domain or specializing into a general purpose domain but it's touching on a different pain Point than what the user cares about there needs to be kind of this third leg to this whole story which is really touching on the end product and the end user and the end goals of this technology and I don't think that that's been adequately represented in this space you know I I'll Echo Alex on every one of the points he makes again and call us a broken record it I I just feel like it's very much missing like there's no one out there that's really focused on like everyone talks to talk but very few are willing to put in the the time and hours from from my perspective and and really walk it certainly in terms of the fundamental developments in terms of
the messaging in terms of the actual Outreach that's being done a lot of it is driven by some of the two other verticals not so much this one and and I think that it's something that continues to be missing in this space well I will just add maybe a little bit of a counter to this which is I think in the past year with the hackathons that we've been doing with like my other hat ZK hack we actually were seeing people pretty genuinely experimenting with the tools that exist on the application front trying to build out you know all these different ways that we can start using this cool thing and when I look at that I don't think people aren't trying I just think we're just at the point where people can start experimenting because
the tools are just getting onto the market I'm somewhat optimistic I guess yeah no for sure and these are this a long Arc right if you look at the history of the internet or actually just read a great article about the history of video games I mean it's like literally decades long right so this this is a long Arc it's early and experiments are important and so you know but it's yeah I think we we're all committed to the the long-term goal of having this Tech be relevant we all share that yeah I think there's like two aspects that people have finally started to reach group consensus around one one is after many years realizing that it's better to decentralize the verifier than to decentralize the prover um and that's something that I think has been a hard topic for people to recognize and even
in the rollup arguments and the co-processor discussions I think some people still haven't fully come around but I think as a group we've reached a form of consensus that hey like you should check the proofs on chain and you should do all the proving work off chain I think that's one aspect that that has helped to matze a lot of discuss because early on there was so much efforts to try to put the prover on chain and I think that that really hurt the progress of this kind of discussion and then I say to the second point which you've made a call out for Anna is that the stacks of these various platforms has improved enormously to the point that we're finally starting to be able to have developers write stuff that looks and feels a lot like JavaScript or rust um they can write applications in a
Humane kind of way it's not like Computing pols by hand although some proof systems still require that and stacks Define around that for performance reasons but nonetheless we've reached a point where the average developer could come in you know Sans the performance optimizations write a basic application and deploy it and see it happen I think that that's a big accomplishment to have made but yeah like I think without those two things we wouldn't be here today and and I really do think that we're still so ear like this is like JavaScript V1 type of stuff that we're doing right now it's just like limited poc's I want to ask one more thing on the application front before we move on because I actually want to talk about the tech stack evolution of Alo 2 but what is the
coolest thing that has been built or proposed to be built on alos so far and I realized it's early but I just want I'm curious what are you excited about is it zass I'll get my answer yeah so my answer is zass which is an implementation of a paper called ZK creds which is is a form of decentralized identity and I think there's a lot of discussion around ZK powered ident but I think the cool thing about ZK creds and zass in particular is that it requires both a decentralized network and privacy to work and I guess a programmable blockchain it requires this combination of programmability privacy and permissionless like without any one of those things it's kind of redundant right so sometimes I'm critical of projects that only focus on the ZK part
because oftentimes there's like a database where identity information is stored that then a centralized party is just proving there's use cases where centralized Pro makes sense but I think in the case of identity like if you're okay with someone vouching for you like why do you need a zero knowledge proof for that right it's like just like oath like the oath protocol works this way like I log into your site and and you just query Google and you're like hey does Alex have an account yes he does you know and then that that's all you need there doesn't need to be a zero knowledge proof there right it's just redundant but zpass it enables you to have a form of self- sovereign identity where like the identity information based on a physically issued document in the case of zpass a pass passport like lets you upload that information on
chain with an attached proof that it is a valid identity document using some of the same techniques that like for example if you people familiar with TLS notary you know non-native signature verification a proof of that and then you have this digital version of your physical document that is tied to that physical document by this proof and then you can make claims about what's on that document without revealing it what's true and what's not and you are the only one that can do that there's not a requirement for anyone else right and that's where the where the blockchain comes in is like it's permissionless so just like I can pull out my physical passport whenever I want I can use this whenever I want I don't need to be tied to some kind of API that's online or maybe not I don't need to worry about
someone hacking a database you know or not you know and so I think to me the identity is the obvious and most near-term example of how I think applications you know for ZK and permissionless and privacy uh or sorry programmability are going to be kind of form around and then from that I think you get to payments right because I think like the first concept that comes up whenever you talk about private payments people like North Korea Iran terrorists and that so the obvious answer to that is like do some form of like onchain kyc or onchain checking so there's some protocol that you do but you don't want to reveal everything about yourself because obviously no one like publishes their bank account information so you have this like ZK version of this where you say hey I'm not a bad person and now I can pay Anna
or something right and like I so I think those are the two things that I see as immediate term applications that I'm really excited about that's interesting because ZK and ID we just recently did our predictions look forward episode and I think all of us these were the co-hosts the sort of guest co-hosts of the ZK pod we all had ZK ID on our list of like dream application for 2024 and there are some amazing experiments I think zass being one of them actually ZK cred was even mentioned there and I think it's going to be very cool to see them in action tot to actually see them being used and then we see what flavor of zkid works for which use case totally and the cool thing about this is it's novel I guess the last thing I'll say is
like this is novel you cannot replicate this with a centralized system like defi okay it's like novel in the sense that I guess it's permission list but it's not like an exchange is an exchange right this is a truly novel thing like age like I think some D5 people might disagree with you there actually well sure but take the mechanism of moving money I guess if you care about it trustless that's fine but like think take age verification online there is not a protocol to cryptographically verify your age online for any online content this is actually the whole point of the paper ZK cred it's been an unsolved problem for the internet for decades and ZK creds and zpass and these various identity Solutions using ZK actually can solve that and they like the cool part about that is you can abstract the blockchain away it's
required for it to work but you can abstract it away and it solves a real problem that people outside of web 3 can appreciate and that's the other reason I think it's really exciting cool identity is definitely one that I would strongly Echo with Alex is an important use case I think it's also one of the closest to being practical and ready to use off the shelf I think going one step further I'm looking at ZK apis or zkl being the area that's most interesting to me from there and the reasoning around that really is like a big part of what excites me about using ZK on the web is this ability to unlock data and access data that simply is there but simply can't be used for
you know any sort of either business or protective or privacy reasons and I think that that this is an opportunity to actually take advantage of these types of systems and give it open access give it access to anyone for their purposes to probe to inspect to to use to to learn from and this is where even in Alex's example of identity to payments like today to do payments think about the statistical checks that are happening under the hood when you're using PayPal like just to click by the number of systems that have to parallel process your request to Au you through it's numerous and most of these systems need some form of authentication and
this is I think an opportunity to leverage existing credentials turn them into verifiable credentials and then take that information that data and actually give a statistically interesting proof about it um so that you can you can get from point A to point B with with your assets um I think like this is an area that is also going to motivate a big part of Hardware acceleration uh because when you start reasoning about data at scale with ZK you're suddenly going to need dedicated chips dedicated machinery and I think that that is going to be a massive unlock for ZK proving times and ZK verification times so we haven't seen that emerge yet but I think that we're just a year or two away from seeing the
first examples of that really really bring it on and as much as I think you know the zkm idea it's probably more of a intellectual exercise to me um than a practical one I do think that the motivation for that is well formed it's coming from the right place and I think that it's going to be applied to this General offchain use case um of just unlocking data for ZK I do think like the rollup idea created the ideas that led to the co-process or I feel like there's been sort of a trajectory that you can follow in terms of thinking and people sort of realized once you could do that or you could do more maybe you don't have to have it be always fully attached to the main chain you can do more on the Chain you just mentioned
sort of this web 2 to web 3 and I know there's been some very cool experiments around that we did an episode just one of the last episodes of the year which was ZK login and ZK email these two projects that are very similar but one's onu and one's on ethereum which is about taking web 2 credentials using zkp to sort of bring them into the web 3 context on the ZK you know logins and authentication front I think that ZK is probably going to be most useful for time together different forms of authentication because at the end of the day like authentication it's all about root of trust it's all about Providence that's why you need a chain that's why you need this type of ZK Tech a lot of the times you can't do that type of native authentication in time in a
browser with a server and often times you don't want to reveal all of that to the server recently we've we've seen a lot of the industry shift towards pass Keys you know we're we're getting smarter I I think as web 2 emerges and Hardware emerges for cryptographic elements and secure elements to actually reason about these types of U these types of algorithms but uh I think over time we're going to start to realize hey there's so many of these types of like cryptographic pieces that I could actually combine them to give a stronger attestation I think that's where ZK is probably going to really jump in um and become like the actual Center of mass that that route that everyone uses I mean even to this day like I still think the Privacy pass example from cloud flare is a great example of a piece of
ZK Tech that is out there and used in the wild to basically you know forgo the trouble of redoing captures over and over again um I think like that's a that's a clear example of using the tech as a root of trust Cloud FL is obviously the one that's issuing this um that could easily be decentralized so that you have kind of General Providence for anyone to verify and I think that if more people start using Tech like that then you're going to start tying this stuff together and it's going to end up creating a much more secure web yeah totally and I I was just going to Echo the point that Howard made which is that in combination these things are more powerful and I think actually some work that you've you know kind of focused on in the past and as some attested sensor
stuff right this idea of combining like a secure element or some kind of chip that signs a you know a photo or whatever and then you can use ZK and prove the photo was edited only in certain ways or something like that right so basically proving that you know things are authentic I guess in from kind of a different definition of authentic right and then there's there's some really interesting work around combining other cryptographic Primitives like MPC multi-party computation in ZK so we talked about hey centralized decentralized pre with NPC you can kind of get the benefit of a centralized prover but still have like privacy from multiple parties you know this is probably something we're going to touch on as we talk about the tech of Alo and the other pieces you mentioned like ZK rollups led to you know leads to these other ideas and I I actually think Alo I
would pause it I'll let Howard you know maybe give his own take but I would posit Alo and the way we've architected this the way we've come to it is the natural logical conclusion and I think you see whether or not people say it the engineering direction that all of these projects have gone over the past couple years is basically where we are more or less is you have separate a separate system for data availability offchain proving and a bespoke language stack it's much more similar to what we are probably than many people would probably have first thought of when they started on the Journey of doing the zkm Bold statement there Alex your endgame I I'll add that I have a hot take that I've kept off Twitter for
months now o there's been all this discussion about we're going to decentralize the prover we're going to decentralize the prover with these with these rollups or these ekk evvms or these co-processor arguments from my point of view I don't think it'll ever be economically viable to decentralize the prover um just think about you know name your rollup of choice and the amount of demand that is going to induce the proving Hardware of that one provider now think of spinning up the second Hardware provider that's going to be doing proving on that Network and consider the need to split that pie up like the actual rewards that are being issued the fees that are being paid out
to financially keep two of these companies in business it's going to be so difficult let alone add the third company or the fourth company there's a reason why most people use Google there's a there's and and it's you know Google has this you know majority Market your dominance because they have enough mass and enough Network effects as as a company to actually financially sustain this operation at scale if you had a second one come in and decentralize Google and do the same thing Google's doing for Google I don't think that you'd have enough pie for it to go around for for that and and I think that this is the point that you've touched on a little bit Anna and this the one Alex is touching on is that people have started to recognize it's better to decentralize the verifier rather than
the Prov and it's better to have an ecosystem of decentralized verifiers where you can have this kind of kind of information and state available but being proven offchain and I think increasingly the story is going to become like ZK proving will be offchain and I think that the story of ZK the next chapter is going to be a lot of development in that offchain Universe um because of the fact that the verifiers are going to be the cheapest and most commodity piece to really put on chain it's also the thing that's stateless and small that you can leave on chain but I think that a lot of that state needs to be proven off chain and I think that the statements that people are going to be making are going to be so large that it won't make sense to host it the ethereum
way meaning in a smart contract onchain executing on chain is this like the bare case for those prover marketplaces that have been proposed because there is this decentralized prover Marketplace concept that's been floated around I mean I give my take on that I mean look I guess like we're making a prediction here it could prove to be there could be some application that's wildly profitable for to be appr and maybe that would incentivize a Marketplace but I think what Howard's point is which I strongly agree with is like everyone usually handwaves the economics point right but the reality even of a rollup today and you can just look at fees of most of the ZK rollups and you can just add up the fees in a week paid on the L2 and add up the fees that that rollup pays to the L1
in many cases they're negative in some cases they're positive but not by much and so the actual economics of a rollup specifically a ZK rollup where remember compared to an optimistic I the biggest cost for rollups is the onchain data right so blobbing the data and there's eips to address that but are still not in right so the biggest cost is the data but then ZK rollups particularly have the additional cost that optimistic rollups don't which is the proof has to be verified and that that gas gun however frequently you want to do that that is a cost and you know to really be Apples to Apples to ethereum or the L1 transactions you have to consider like the time to finality right because I can pay you on a ZK rollup but I haven't really paid you until it's settled right
and and so the longer you make that the cheaper it is for the prover but it's less applicable depending on the use case so I think it's not that prover Market places in my mind won't be viable but I think it is important to note that they'll only be viable if it economically makes sense people take that for granted that they will but I I don't think we know that yet without the applications and without thinking through because some applications would definitely favor a single party depending on what you want to look at and in this case like the provs would be like Hardware running a right like and you guys do a lot of work in this Hardware Direction I think people in crypto take for granted um magic money being printed um and people don't recognize the cost of doing
business is far more complicated uh than what meets the eye like we take for granted in web 3 that like tokens just magically come out um and that we can just start to use them and I think that that has been a big part of what's boots strapped existing examples of marketplaces however limited they may be like I think Mina is an example of where proving marketplaces is emergent but it's really based on the steady supply and steady rate of an emission curve um and without that emission curve like these marketplaces today like don't have enough subsidy to really exist and to be honest like even in web 2 most of these marketplaces needed some form of subsidy meaning Venture money here to really
bootstrap themselves too and so I don't think that this is you know this is not to really pin negativity around marketplaces I I just think that it's a far harder equation than people make it out to be because Uber today is still trying to be profitable on this exact concept on this exact business model 10 years later um and they're realizing how difficult it is to be just a Marketplace I think you need much more unit of economics in order to do that correctly and and a big part of that is also recognizing that you don't want to just be this thin horizontal stack you want to be a vertically integrated layer if you really want to make this economically viable for yourself and this is where I think you know Google with you know wh has has taken an interesting stab at saying hey let's go
autonomous you know let's own the fleet because then we can vertically integrate this market and possibly actually take on far more of the economics for ourselves so that this thing actually is viable and I think this is the same this is the same thing that's probably going to happen with these proving marketplaces that these proving marketplaces will likely be offchain with a provider that's going to run Hardware themselves they're going to go and develop Hardware that makes this economically viable for themselves and I think that that is going to be how you make this emergent kind of field actually practical for real business use cases um but without that I think a lot of today it's just subsidized by emission curves of these chains and it's a great demonstration but I I don't
think we're there yet I now want to shift gears a little bit and talk about the big changes under the hood of the Alo system I want to sort of again throw back to that episode that we did in August 2020 I was just thinking about it as we were talking it's like I really got a chance to take a snapshot at the beginning of Alo and I know we're not at the end of Alo but we are at the point where the system is about to go live so it's it's at least fully formed to the point where it can work I'm super curious to hear what has changed and I'll bring up a few of the things I want to cover so I want to talk about the original idea of proof of necessary work or proof of useful work I want to talk a
little bit about the libraries you sort of hinted at this the libraries that you were working with back then how those have evolved languages and all of that but let's start with that system so back when we talked I think you had said the system would be based on Marlin I would love to hear if you've made sort of adjustments to Marlin or Marlin as it existed and then you had this proof of necessary work tell me what's happened there yeah so before I dive into it also I'm going to forget many facets so just please help me by double clicking on certain things or probing questions because like there's there's a ton of changes here so anyways I I'll jump into that yeah so on the Marin front we've continued to use this exact lineage of proof system and for the techies in the
room we've added two major components to Marlin hence a Rebrand to what we're now calling veruna as our proof system veruna itself is now a proof system that mimics Marlin it's or well it is Marlin um but it adds the ability to support multiple proofs of the same circuit so multiple instances of the same circuit as well as multiple circuits at the same time and so you can do in two Dimensions like multiple instances of the same circuit and multiple instances of different circuits all in one go and this type of generality for what we call a batch proof um allows us to actually craft an architect a much better
compiler than existing language TXS that we've seen at least you know there's the recursion kind of approach and then there's this aggregation approach that we've taken these are kind of the two notable you know avenues that I think have emerged I think a lot of like the recent IOP based work is starting to shift people in our Direction and they're starting to realize hey these Primitives make a lot of sense uh because you basically get to prove more General statements for free for example I can prove like let's just say as a simple payment circuit call it 1 second proving two of those payment circuits in a batch proof only takes 1 and 1/2 seconds it doesn't take you 2 seconds and if you prove 10 of those it only takes you 1.8 seconds and if you if you prove a hundred of those only takes you
2.5 seconds like it's it grows super sublinearly it's very very flat and and it's that that type of flatness that lets you scale in a way that recursion currently doesn't so from a proof system standpoint we've doubled down on the Marlin side we've expanded it and we've rebranded it as veruna you just mentioned the term aggregation is it related to the folding work or are you thinking of aggregation at a different point in that stack is it more like finished proofs being batched or is it like within the proofs themselves some sort of like aggregation yeah so it's actually a good it's a good call out I guess I should clarify that this is separate from the folding work both use Primitives that come from similar
lineages um but one of the big advantages about the design which is also a tradeoff for from the folding scheme side is that um you do you do get full Z K in this design um whereas a lot of the folding schemes like the folding schemes are are very interesting for massive computations that have a lot of reusability in them and this is where like zkl is is a classic example of that um neuronet architectures are just highly large and repetitive I think that this is an example of expressivity of statements and so what this allows you to do is to have more generality in terms of saying I want to do a payment circuit I want to do a proof uh around an identity verification I want to do a hash function I want to do a miracle path check I want to do XYZ things and
batch them all into one go and you can aggregate these types of statements all in into one solution into one proof you know this takes it in a slightly different direction from the folding approach I I think that people are going to land on this as well longer term uh but it's probably a few years away from from really reaching that generality statement where where people are just going to use this out of the box I mean we're still experimenting with the best architecture for it and this kind of gets into the compiler side of Chang is you know when when we last came on we just released zexi the the library which is now kind of forked into two universes there's artworks which is the general open- Source research library and then there's snark VM which is the special
purpose built library for for Alo both use the exact same architecture under the hood in fact if you check our trade types they're virtually identical because we all came from this zi work um and and and the original zi Library snark VM over time has actually changed a lot we used to use the gadgets lib concept from lib snark in order to compile and compose our circuits I made a really painful decision two years ago um to scrap that and restart from scratch because we were working with our formal team um to try to verify those circuits and the compiled out circuits and it was an impossible task you know it the gadgets zip idea was right is and
it's still right for lot of research domain work but we recognized at the time that we actually needed an additional layer of abstraction a layer of abstraction that doesn't exist in research stacks and that's that's the op code layer that the op code layer that traditional language and and pl folks are familiar with we realized that unless we had an OP code layer it would be impossible for us to upgrade the system meaning once you've deployed on chain that was it and if there's a vulnerability in one of the circuits you wouldn't know which programs to turn off and which to leave on that is a big challenge that I think we're only starting to like realize the benefits or the merits of so what we did two years ago was say scrap the existing design
let's rebuild every single operation as its own function um and have every function be an OP code once we have every function be its own op code so now every op code synthesizes one R1 CS Gadget um and it's clean on this level then from there Leo was rebuilt such that it no longer reasons about R1 CS or any circuit architecture framework of its form and it just reasons over op codes and so now Leo is a very thin language it's a compiler down to a set of op codes okay um and because of that we now have two quote unquote instruction sets we have the Alo instruction set and we have Leo the language um which are the two layers
with which developers can actually build an application on us um that did not exist four years ago can you say that first one again so it's Leo and Alo instructions Alo instructions okay I want to sort of map the lineage here a little bit because yeah back on that episode you talked about lib snark and at the time I think it was the deao library you were this was what you were working from there was a ZXI I think almost just like test implementation maybe at the time I don't know from lib snark there is no transition to artworks is there it's you throw it out in a way and start again yeah we we we ported a handful of the foundational like core algorithms over but it because it was a complete
language change from C++ to rust we had to rewrite the thing from scratch and that was prou and I spending a lot of our nights uh uh in in the lab doing this together so okay yeah it was it was quite a journey I did do an episode on artworks a few years ago as well so maybe we'll try to dig that up but so arcworks and snark VM sort of split but coming from the same Source this is the porting certain things from lib snark but discarding a lot of it from snark VM so we'll go on the Alo track here you mentioned the Alo instructions and then Leo like how do those things connect exactly yeah so we used to have in snark VM like a gadget lib okay um and we
threw out the gadgets folder all together and we implemented a new synthesizer folder the syn Sizer folder introduces the concept around op codes which are what we call alien instructions so it's it's assembly like it's an assembly like language and the idea there is that every op Code maps to an R1 CS circuit so you have op codes like ad sub moldiv um like an ad circuit for a field is its own circuit you know an ad for an integer is its own circuit and we basically write specific circuits for every single op code so we've mapped it from the language side down to rncs rather than from the rncs site up to to the language which was how we used to do it yeah and where does Leo go from there
so like does Leo then talk to Alo instruction set like is it compiling down or is it directly interfacing with it yeah so when when Leo first started we actually mapped the highle language straight down to RN Cs and actually I think a lot of languages today from from various teams actually still do this approach and it wasn't until 2 years into that Journey that we realized that there was a big upgradability problem with this um if any part of that compiler's circuits had a bug in it and we learned it the hard way because our formal verification team did find bugs um it was impossible for us to trace and identify and resynthesize just the pieces of that circuit that were needed
to be fixed and so we said let's let's change the architecture let's switch it to this op code based design and and Leo now is just a thin layer on top that just compiles from a highle language down to op codes okay so the op code layer being Alo instructions Alo instructions yeah okay both of them is sort of Leo then like together yeah so the benefit is that Leo is no longer like you know some special language that has to be the one in the ecosystem it's it's a lot like in ethereum um you have like in the evm you have bite code right um and as long as you target that b code and the op codes of the evm itself like you can use language you want solidity being the predominant one but you know for those who are still around like from
way back like I remember writing serpent was there something called Z as well uh Viper Viper is the other one yeah Viper is the pythonic version of of solidity and so you know people have realized that this this kind of abstraction layer makes sense generally to Target different domains and we've done the same like Leo is one very clear example of a language that can Target alien instructions but at the same time like these op codes and the VM don't have to be limited by Leo we can also expand it out to other forms and actually people in the community have if you look at the zkl use cases people have written Python transpilers and so you can compile python code straight into Alo instructions into these op codes um and it's much more useful because the ml
folks don't know rust the ml folks don't use JavaScript they primarily base their work in Python and so they can easily write python Frameworks to do zkl um and so they'll come up with some pytorch model they'll then synthe size the equivalent verifier for zkl here in Python and then we'll compile it down into op codes that are then verified in Al instructions can somebody use rust somehow because I remember I mean actually at our last ZK hack we did sort of a run through of ZK dsls I hope rightly but we kind of classified Leo as a rust like language so yet can rust be used directly with Alo instructions yeah so rust can be used directly uh we tend not to use it just because it can be
complex to manage State yourself in Rust like Leo manages a lot of State for the user so that they don't have to reason about all the various abstraction layers that come with the system it's the same as like you could write your your solidity contract you know in JavaScript and piece it all together if you want but you probably use solidity at that point it's the same idea here so you can write it in Rust but Leo continues to be kind of the preferred choice because it's stateful and it understands what it's reasoning over and it can understand the inputs you're giving it and the outputs you're getting from it so that's an abstraction that kind of emerges from there I guess I hit pause but there's one other feature in in Leo that I think is really worth touching on as well well actually I was just about
to say would you also say then you're building a lot of the tooling for like Leo then and actually who is building the tooling that's a great question would it be coming from you guys or is that a community project so Leo at least in its current form has been and it will always be an open source project the company is continuing to focus around Leo and and its efforts around proving using Leo I think that there's going to be a very interesting collab with the foundation around how you design the uiux journey for Leo programs in general because we've you know when we first introduced Leo it was a pure offchain computation language you you would write
this code that would just execute offchain you'd send it onchain and get verified we then realized with a lot of applications actually you know you still want some of that peer-to-peer interactivity and so we introduced onchain executions with Leo and so now you have onchain offchain programming as a paradigm and the challenge there was to actually design an interface for Leo that was intuitive for the developer to use and we actually struggled with this for for I'd say over a year and a half like we we we had kind of this function scope and this finalize scope I think we even still do have a little bit of this function and finalize scope in the language and it wasn't until about 6 months ago that we realized actually wait a second this is just as single weight syntax uh and and we we've
started the transition in Alo instructions towards async O8 and Leo will also be getting the same update this year so that we can fully switch over from this old function finalized scope approach into this new asyn weight concept and the idea around this is really to say I have this offchain execution which is really where the root of my computation is running and then I'm going to send off this computation to finish on the network and when it finishes on the network it's going to send the results back and I'm just awaiting locally for that result to come back so that I can continue my execution flow so like instead of thinking about transactions as these kind of discreet oneoff computations we're thinking more
about like computations as a flow of execution that's happening across transactions across blocks across time um and it's it's a it's a more General programming Paradigm that Maps into the traditional offchain world and that's something that I think is going to be very very novel for Leo and certainly for ZK as a whole that we're just starting to really hit on with these last 6 months um it wasn't until I think 3 or four months ago that we even realized what the right syntax was for this and we we started to realize for a lot of the functional programming folks that that we can actually just take this Asing thing a future wrap the Futures we can Nest Futures and all these calls to the chain are just Futures that are just native to asyn weight like Concepts and
JavaScript and go and rust and uh it kind of completes this life cycle when you say Futures in this context though is this like future actions yeah in the language exactly nothing related to like Futures like trading terms or anything n yeah future it's a it's it's a language it's a PL concept that that has been around for uh for for web web use cases and so often when you're in a web app uh and you call out to some other either service on your or thread on your machine or to a service remotely you'll use a future in order to await and parallel process something else on your machine in the meantime so that it doesn't block yeah exactly so it doesn't block yeah that's a great call out cool and if I could just add on to this like
so the implication there's a couple things there one thing I want to go back to so first is that what Howard said I think to State it another way is that you know you have a program and that program you know you can create transactions from the program but really because of what Howard is saying with the async await kind of Paradigm your program becomes a process in the same way that programs on your computer are processes when they're running and those continuously can go right and I think it opens up a whole new world where people in you know traditional smart contract blockchains are not really used to that right where it's a single transaction affects a single state transtion right so now you can potentially have a long running process which is cool unlocks new things the other thing is that going back to public and private state right
this is something like Howard glossed over briefly but like this was a huge effort for us to try and figure out how to do you know both things a disadvantage of ethereum is that everything is public right but an advantage is that there's a lot of shared State and kind of you know contracts reference contracts transactions can reference other contracts and have it you know a contract can call a contract whatever and this is like the classic question people always asked about ZK was like how do you do Unis swap right and this was always the thing that you know if you wanted to see people turn themselves in knots what you would ask like EK researcher 10 you know five four maybe three years ago but now like this concept maybe two years ago maybe less maybe not 2021 yeah that was when they
started to be like coming out yeah right exactly but you now you have a paradigm which mixes both public like a public State and a VM that processes public state with this offchain processing right in the same Paradigm so now you can do Unis swap but in a privacy preserving way in fact penumbra is this exact idea right and actually Alia like the model that we have is effectively enables pum and other things right so we generalize the model of penumbra I would say and that you can in addition to just like focusing on Exchange use cases you can any kind of private State manipulation and any kind of public State manipulation you want to have governed by a single program you can do that in this model that's just the one thing I wanted to call out interesting and that's that is sort of dawning on me
that like smart contracts as we understand them do not have that concept of Futures and so I'm just wondering do you know of any smart contract platforms that are trying to incorporate something like this because it seems kind of powerful yeah so I I think that people haven't really double clicked on it on the smart contract level today um okay people do use this concept in JavaScript with solidity programs so like when you use web3.js for example you'll compose like multiple you know State transitions uh for let's say some defi app this way um but they haven't gone to that layer of saying what if I did my you know know call it like my defi swap or something
across multiple blocks in multiple transactions as kind of a step Journey that has not that has not been formalized as a concept and I think a big part of that is that you know the evm is pretty aifi at this point that it's it's really hard to introduce such a foundational change yeah to the architecture although could the could the co-processors do it cuz they get that offchain element correct could they time it then to like happen correct yeah okay so so this is this is where ZK really shines right like you you start to see this technology become a bridge so that you can take advantage of whatever stack you want under the hood to actually go and weave together multiple statements or arguments across time or or across space um and I think that we are only just starting to touch
on this with Leo and certainly other people are I think like the risk zero folks also start are starting to see the opportunity of using this for this use case um and this works across recursion also works across this kind of batch agregation approach it's something that I think is going to become more emergent once larger scale applications and multi-step Journeys become a common concept with these types of web 3 apps but today because most of the use cases are dii based and they're you know oneoff like instant swaps or transactions they don't have these crazy user Journeys or these really complex or powerful statements that require multiactor or multi-step computations to arise from them and so this is where you know we we discover this process in our goals and design of trying to build
larger scale applications and needing to actually chunk a basically um uh these applications into multiple steps and realizing hey this is an opportunity to actually introduce a traditional language concept for web developers so that they can easily bootstrap in without having to learn new Concepts for their own programming purposes that is so cool and if I could just say something super quickly so we talked about ethereum it's traditional smart contract languages don't have this kind of feature and I think this is actually something I wanted to go back to a comment I made earlier about how like there's converging convergence around kind of a set of ideas right and this is I think you know the E the concept of evm compatibility right huge talking point in all many rollups certainly right and I think what people have learned is that being compatible with
the evm gives you all the limitations of the existing evm right and in fact the way that people are building the ZK co-processor direction is an exact evidence of this is people are not building to be compatible with the evm on all layers they're building around it right and they're building a layer cake around it right which is exactly what Howard is describing right so this is like you know the the evm narrative I think was important for many of these folks to kind of bootstrap but I think increasingly people are seeing it for its limitations which you know again the evm was groundbreaking and that it was the first example of a distributed you know the the world computer right and now of course there's a million smart contract platforms but like so it was groundbreaking that form but it it had all these drawbacks that now you can use
ZK and the unique strengths of ZK to enable all kinds of new cool things so cool correct me if I'm wrong but wasn't Alo originally just proof of work fully or did it always have a proof of State component okay tell me a little bit about what changed there yeah so when we first started we started with a proof of work system and we launched this on test net one as well as test net 2 and we realized during that Journey a handful of things we actually wrote a postmortem about uh some of the learnings from testnet 2 some of which included the realization that building a new novel L1 with a novel proof of work algorithm is one incredibly difficult but also too a form of chain security uh risk and and we we took a very conscientious decision
to look back at what the right construct is for this and so we ended up going towards more of a hybrid consensus where now we have proof of stake alongside this work puzzle the rationale around this honestly is to enable the security to be stake based while also bootstrapping a new ecosystem with work if you look at big Bitcoin or ethereum any like the benefit of using the proof of work system honestly is to have stochastic distribution of tokens it's one of the biggest challenges with stake um is that the only way for new users to acquire tokens is to buy tokens from existing holders and and that's one of the biggest limitations in my opinion for decentralization using the proof of stake approach by having this work
puzzle here this puzzle enables people to actually go and yeah frankly earn their own tokens just by the organic work process and you know there is also the argument from people well you know work has a lot of uh you know concerns around around the environmental aspect environmental responsibility and environmental sustainability and this is why in our design we've designed this puzzle to linearly Decay over a decade so that its intended purpose day one which is to give an a way for Network participants to earn tokens without having to buy it but by actually demonstrating and doing work to over time have this mechanism fade out slowly um so that we can transition fully into proof of stake by 10 years from now
interesting has anyone done that the hybrid is this the is this sort of like a a novel thing so there there are example chains that do a form of hybrid so I think uh if I remember right like decred is an example of a chain that does something like this where they have some proof of stake blocks and proof of work blocks we've taken it a different direction and saying every block if is proof of stake alongside this puzzle um and so you know architecturally I think we are very unique in our design but people have touched on this point in the past because they've recognized the opportunity of the two different solutions at play here okay I want to shift a little bit and talk about privacy something that is obviously at the heart of the Alo project Howard when
we first spoke on this podcast privacy was kind of like your main theme topic goal at the start of Alo there was always this focus on privacy and you're one of the teams I know in our space in the ZK space there's there been a lot of teams that maybe started with privacy and landed with scaling in the case of Alo you've stuck to privacy and I want to talk a little bit about your personal and maybe the company's perspective on privacy if that's evolved a little bit especially because now we have had a few ZK products out in the world one in particular tornado being held up as a dangerous form of privacy at least by the US government I wonder if that had any impact on the way you think about
privacy so yeah tell me about the evolution maybe of the Alo perspective on privacy yeah so when we first chatted about Alo in 2020 you know the idea really was to make the entire system fully private and we've learned through that Journey that actually it's more about a spectrum of privacy that you want to offer a developer platform that can offer everything from fully public to fully private based on your needs and developers want that because some information you absolutely want to be public and others you you want absolutely to be private like you know I think the classic example is in governance that you want to you want to keep your vote private but you want to make the tally public right and so there's key information that's relevant
to all parties to be able to publicly see and we've really double down on the flexibility of that so in early days of Alo every application's state was entirely private like there was no concept of public State and there was no concept of Hosting public State on chain and even with some of the new platforms like ZK apps I think on on the New Mina platform like it's still taking that model of saying you just have full full privacy in this domain and we realized that like this was a big challenge because a lot of applications need some form of public verification and so we introduced this concept of public and private State into the programming language into the stack and into the chain so that we could host that there I would say that from the tornado side of things I really think this is a moment
for people to recognize that ZK can be used for good and it can be used for bad and this is exactly the same point that past technologies have shown us too like no no new technology is able to escape this argument I mean if you look at Napster versus Spotify same end goal very different approach to getting there right one was saying let's Sid step let's circumvent the other said let's go compliant let's integrate and I think that the story about what Alo was trying to do is very much the Spotify story it's saying let's take this approach of using the technology for compliance and showing you how to integrate this into a stack that can be used in real world applications I think like tornado went the fast way it was the first way and it
it was that early wave that showed you how not to do it but I think this is a real opportunity to actually give you much stronger attestations much stronger credentials than existing Web Two Stacks can offer you and and Alex's Point around identity is a great one that we can actually use this technology for good and there's almost a need to offer this I mean I mentioned in in the last podcast that you know one of the big challenges with payments in web 3 today is the fact that you know you reveal all of your information including your identity every time you transact and if you're going to use this for real world payments I guarantee you this will not stand the test of banking privacy laws or any type of compliance on the web like gdpr or CCPA there's no way to wipe that information and so this is a
classic example of you know the uiux journe is broken if I'm if I'm just trying to buy an anniversary gift for my spouse the fact that're married means that I probably know my spouse's wallet address right and I can just go and look up like when did you remember our anniversaries come coming up uh how much did you spend on my anniversary gift and where did you buy this gift from and and like it just shows you like this like this uiux is broken like if if this is how we're using usdc in 5 years from now and 10 years from now in the real world I'm sorry I can't use this technology like I I think I would rather stick with traditional banking rails you know for what it's worth it it's just it's not the right user journey and and I think this is what privacy really opens the
door to and unlocks for us it's the ability for developers to offer privacy where it's needed and where it's necessary and I think it's a fundamental part of the programming stack that's missing yeah exactly and I think the usdc example is great because my favorite question asked in every panel I'm ever on for cryptocom how many people here get paid in crypto and inevitably there's a couple people that like raise their hand and they get little contracts but the vast majority of people that work in this industry get paid via the traditional banking system why is that the case because publicizing your salary is just socially most places not something people do right so even the people that are building this technology by and large don't use it because it is not private in this way right this it's an example of like where privacy is just taken for granted I
think there's people out there that're like oh no one cares about privacy absolutely they do if they didn't they would just publicize their salaries everywhere and they don't right but of course there has to be a balance and this is what I think the important thing that I just wanted to pull out of what Howard said is like this technology technology itself can be used for bad or good but I think the advantage of having a very rich or technology that can enable a lot of different things is you can find a right balance right where you can both protect kids online by having like you know robust age verification framework and you can prevent terrorists from like using this for money laundering right by by using the same technology ZK can basically use for onchain kyc to do payments right for each stage of the payment process for
payments above or below certain amount to be defined however you want as the regulator or as the issuer right and so I think this opens up the door to in fact I would argue more robust regulation in some ways right because it gives not only individuals more privacy and therefore more protection but it also gives like potentially regulators and lawmakers and you know existing institutions the ability to kind of Define hey what do we think is legal or compliant and then you can just write a program basically that says prove that you're compliant and so you could kind of achieve The Best of Both Worlds which is something unique about ZK do you did you see that article from metallic about the return to the cipher Punk how do you sort of match that with sort of the
origin story of crypto also your origin story Howard I just remember years ago you being very adamant privacy first do you feel like that shifts somehow here from my perspective I'm doubling down on privacy I think that this is a massively underutilized feature in crypto we have not realized how how bad it is because we've been living in a bubble where real world applications don't exist and when you don't have real world applications you don't have real world implications and without real world implications people don't realize that privacy is still a necessary function and it's a necessary feature this is the exact point that I think Alex is making when it comes to the identity case use case and the payments use case that we need
to have a form of privacy a concept of privacy if we actually want to use this Tech with real people in the real world and that is something that I continue to Echo and I continue to feel very strongly about and I think the example with tornado cach is honestly it's a good example of what goes wrong when you don't respect the technology um this is an an opportunity for us to take it the other direction and actually show people and and policy makers especially that this is a very enabling technology that I can start to do checks that previously could only be done in an audit and post factum that I can now enable you to do things for compliance purposes before the action is taken and that the action
can be gatee kept and can be guarded using these types of rails and I think that that is a massive massive opportunity that once Regulators going to come around and see this this emergent property about this I think that this will take off like wildfire let's kind of continue on that regulation concept so you know I just felt when tornado happened there was this kind of self- evaluation in the ZK space a lot of teams had to make certain decisions I think you've described Regulators being able to almost use an alol like system but how do you as a network talk and think about your relationship to Regulators have you had those kinds of conversations yeah I can
take this because this is a big focus of the Alo Network Foundation is to be a steward of the network and to encourage its use in ways that are positive right and you know I using it for bad you know breaking laws for examp Le is not anything that we would ever encourage in fact will actively disincentivize with all the power that we have at our disposal but I want to be clear here going back to the very first thing we said this is a decentralized network there's not a server in the closet that's running it all right like this is a this is like Bitcoin right like so this is not just our Network it has to be the the collective community that has to work together to ensure this right so we as a foundation are absolutely committed to doing it and of course you
know we in many ways have influence just by virtue of the fact fact that many of us worked on the protocol and you know and you know we have great minds like Howard you know who's going to continue even though he's the CEO of the company's continuing to serve on the technical Advisory Board of the foundation so I think we have influence but at the end of the day you know our relationship with the network is as stewards not as owners and that's just to me I think a really really critical part A because I think you know I don't want anyone to misconstrue that like we can do anything unilaterally right because that's not the case um and B because I think you know that's actually what we want this to be I think the promise of blockchain technology is you have these Community it's Community
ownership right it's kind of it's it's like the the uh optimistic the Techno Optimist vision of like open- Source software right but instead where everyone who owns it you know can basically realize and the value of of it as as it grows so yeah so I I you know we are constantly thinking of ways for engaging all communities including Regulators policymakers everybody because I I think exactly what Howard said is true right there's huge value in this for Regulators for example I think you know if you were designing a cbdc you obviously don't want to like reveal all the bank account information of every person in your country right you kind of do actually need to think about this right and then maybe you would issue it I don't know maybe this is overly optimistic but maybe in five years someone will issue a cbdc on Alo I
think it could be a good use case so yeah so that's my view of it on the foundation the last thing I'll say though is you know people get scared frankly around this concept of privacy they see people go to jail and I think it just goes to show that this is serious technology I don't think people should be afraid to build this Tech but also people should take it seriously because the implications to how I love the quote like no applications no implications I mean these there is real applications of privacy Tech and there's real implications right and I think we just have to take that seriously as a space you know it's important Tech that's worth spending time and worth building I have sort of a last question which is given that you guys are about to launch a is about to come online
security you sort of talk about that responsib ility aspect I just remember when privacy systems were first proposed one of the challenges of auditing these systems is can you see what's happening inside these private zones and I think we have the example of like the zcash bug you know from a few years ago where like there was basically a bug that would have allowed people to Mint infinite tokens in a shielded environment in a private environment and there was almost no way to check I feel like Security in ZK is so fascinating because you you know obviously need to check and make sure that things are running correctly but if you have these private environments how do you see it now it sounds like the Alo system is
more nuanced now but I am curious what you're thinking on the security front yeah how you're addressing it I just want to start by saying we are all humans and I think as humans we are all doing our best and we are trying our best and I want to say like we've done an immense amount of work on the security front um we've invested heavily on formal verification um not only internally in in-house but also externally with Partners to build out tooling to formally verify every circuit that's going to mainnet so that we can confirm that the R1 CS is well formed there in addition we've also carried out extensive audits uh six I believe over
the course of yeah the past year year and a half to cover every folder every Library in snark VM and snark Osos to the best of our a ability um to certify that hey this has gone undergone multiple independent reviews um and we found everything that we humanely could and lastly I'd say a big investment on the companies and and the foundations front is this bug Bounty program to get the entire ecosystem involved in helping us triage and identify vulnerabilities on a software level on a programming level on a developer level and we found a long list of bugs and we we actually just published I think it was two weeks ago um a blog post detailing our most
recent round of audits uh from three firms uh trail of bits NCC and also ZK security and you know there were some very interesting findings in there we fixed all of those uh and I I feel very good going into mainnet that we have a system been battle tested with the testnets to the best of our abilities I think that going forward there's going to be a major e effort that needs to go in towards formally verifying Leo even further from where it's at today especially if we add in these you know concentr on async and away it's going to take time but also with every new arc that's proposed we will also need to come up with a great audit process a great bug Bounty process around that and I think there's much more we can do in
terms of that now as you've mentioned with like the zcash security bug with some of these cryptographic bugs this is always a persistent concern and I think one of the big facets that I that I that I'm proud about is the fact that we've open sourced the proof system and the prover from day one we've never kept it closed Source we've always let it be open we've also used it in various domains Beyond just this network we've used it in Z prise for example we've seen a ton of Hardware developers provs in the in the ecosystem build dedicated chips around this and so this has been inspected by multiple teams various teams um to vet for its correctness and its Integrity I would be very surprised if missed something on the proof system
level there because of that yeah what happens though like say you did miss something how do you find out about it and how does the system actually deal with it well I think this comes into into multiple factors as Alex pointed out you know we are standing up a technical Advisory Board that's going to be going through all future changes uh especially uh feature changes for the system where you know this is this is a classic concern that ethereum core developers have as well with introduc producing new OP codes and new new capabilities is the fact that it opens the door to to a larger attx surface Vector right and so I think that coming up with a proper process to check that is going to be Paramount and then secondly that if there are
vulnerabilities that are discovered we come up with a process in governance to transition everyone to new software and this is something that Bitcoin and ethereum have done multiple times numerous times is just you know emergency upgrades so that validators are updated in a timely fashion we've also contemplated on the programming level this is where the opcodes really start to kick in that you know we we introduced alien instructions as a layer of abstraction so if we do find vulnerabilities in a specific circuit even after verification Audits and Bug bounties that we can still go flag those exact programs and detect them instantly which programs have the vulnerability and disable transactions for those programs as a steward of the network that's something that I think is
going to be a key piece of you know technology that no other language stack in ZK has built out to date and I do think that we are probably at The Cutting Edge if not the Leading Edge of this type of Paradigm for for ensuring security and safety here um it's something that I can't understate enough or overstate is it overstate anyway overstate enough it's something that I can't overstate [Laughter] enough I I want to ask though when it comes to projects that are deployed on Alo because it has that smart contract this kind of goes back to the tooling and like are you conceiving of ways are you thinking about ways that people could almost like do checks in private environments and would you need to build those tools for the app developers yeah
so we've we've really prioritized security by Design um for example there will be no need to deploy a safe math contract on Alo every op code is safe by default um we've introduced additional subcomponents of op codes uh that can be quote unquote unsafe Behavior if you want overflows or underflows that those are the secondary Choice the default choices are always safe by Design and so we've tried to make it so that what developers intentionally write out the box is safe and I'd say that the second piece which is a really big composability narrative is the fact that programs here are truly interoperable in ethereum
they're interoperable in the sense that I can redeploy the same contracts over and over again and I can call out in that regards but here every program can actually truly reference existing programs that are on chain and reference their state and use it in a way that does not require you to redeploy the same logic over and over if you don't want to and that's where the concept around a program registry really arises here program Registries are critical for security because it means that the people who originally wrote the code are the ones who are best to service it they're the ones to best upgrade it and they're they're the best to address the issues when they arise God forbid there's a issue in safe math you know in ethereum and you know you deploy the thing and you deploy the wrong copy this actually happened with the icon token if
people aren't aware uh they had a copy of of safe math where the arithmetic was off by one character and it actually yeah created a big software vulnerability for the token that forced them to do a migration and so there are examples of this type of concern where we think that you know just by creating a programming Paradigm where you have you know rails that safeguarded by and an environment that you're operating in using each other's safe code that this is going to be a much better outcome for all of us crazy do you have the entire governance kind of plan mapped out or is that something still in the works I just know this as a validator on different networks like on Cosmos or what have you
like or versus polka dot or something like that like the way that the network is governed is very different totally is this something that's coming or is this something that's already planned yeah there's already planned so H mentioned the AR process there's a repository there's been people who've already submitted arcs to change various things already to this point uh some of them have already been implemented and accepted and merge in and you know I think so that's that exists and then I think the plan going forward is to extend and expand that the one thing that at least in the short term we don't plan to integrate is an explicit onchain governance where it's like we all vote with our tokens I in general I find that to be very extraneous and not that helpful and so I think our focus is really to make the best possible
offchain governance process and by best possible I mean inclusive of all voices of all stakeholders right and having and and transparent and fair in how things get discussed and how they get merged in um so and you know even though we have something it will 100% evolve and will continuously evolve over the course of this thing I I think it's worth calling out that technology is made by people for people and I think that this concept that code is law is not at odds with the concept around Community governance um I think that these are both actually forms of cod's law just on two different levels one is on the smart contract level and the other is on the actual node software level I think that at the end of the day like if the technology
isn't serving the purpose of the people who are collectively using it then there is no point to using that piece of technology and so like at the end of the day like the Dow attack is a classic example of like what was best for the community and and for the ecosystems long-term growth grow was to do the fork and that was the right decision there just as when tornado cash happened and the OAC sanction occurred that as controversial as it was it was the right decision as a form of social consensus to block usage of that application and and I think that this is reflective of the reality of why we build technology it's to enable the majority of people to use it for the benefit of others and if that is being abused it needs to be
fixed it needs to be corrected and I think that that is by definition you know the intention for me at least of what this code of law should be doing and I think that that's frankly on a human level what technologies is meant to serve as well wow so that's a really good point maybe to wrap up this episode but I just have one last question which is what's next I think we kind of know what's coming up soon but yeah what's Alo looking forward mayet mayet launch very cool well this episode comes out before the mainnet launch but we'll be watching and very excited to see it all come to life Howard I've seen you through this journey for a very long time congrats on getting to this point thank you it's uh it's been a team
effort and wouldn't be here without Alex and uh I appreciate the kind words I definitely look forward to the next podcast where we dive even further into this journey and see where we've gone um but yeah for my view and Alex's view I think we we both can conclude that this is like reaching base camp for us and the journey ahead is is just beginning yeah thank you so much for having us this has been fun yeah thank you Anna for having me again it's always been a pleasure yeah thanks for being on I want to say thank you to the podcast team Henrik Rachel yonas and Tanya and to our listeners thanks for [Music] listening