New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Getting Started with Aleo Building ZK powered Applications Using Leo Alex Pruden

Ethereum DenverSun, Oct 9, 2022, 12:00 AM

Speaker

Alex Pruden

Transcript

all right hey everybody um we're still working i think maybe to get the slides going but um in the interest of not sitting here for my entire talk time to just wind down i'm just gonna go ahead and get started uh and we'll figure it out so this will be a little bit of a different format than i prepared but let's see what the technical team can come up with and i apologize uh for for kind of this inconvenience um i'm alex i'm the ceo of a project called elio aylio is a platform for private applications that's powered by zero knowledge cryptography i'm actually really excited that i get to follow the last speaker who talked a lot about minor extractable value and front running i think this that problem in particular is one that i think really will require privacy uh enabled technologies powered i think by zero knowledge proofs to solve and that's actually one of the use cases that we see for our new platform so um in a little more detail so alio is a layer one blockchain but in addition to that you know there's there's kind of a whole stack to this platform that we've built the base layer is what we call snark os which itself is a blockchain this blockchain is a proof of work based chain and one of the interesting interesting things about it is miners themselves have to compute zero knowledge proofs and they do that as part of the mining process we we built it that's in this way so as to hopefully encourage uh acceleration of this you know of of zero knowledge proofs just in the same way we've seen progress in bitcoin mining where you know satoshi was mining bitcoin on his cpu uh you know 10 years ago and now it's of course you know it's whole asic farms right so you've had you've got advancements on the algorithm level on the software level and on the hardware level so we're trying to make that into our layer one as well because ultimately you know this new technology is very exciting but you know it does still unfortunately has a way to go in terms of accelerated you know acceleration so we're hoping we can we can incentivize that through our consensus algorithm um above this so this is now that's the base layer blockchain unlike some other blockchains specifically ethereum and kind of ethereums can alio does not have an on-chain execution model so we use an off-chain execution model called snarkvm and it's actually kind of similar to how a zk rollup works where it's basically you're you're generating a zero knowledge proof off chain about a certain computation and you're submitting the result of that on chain for anyone to be able to verify the advantages of this are a few one of one of them is privacy which i mentioned a minute ago right so as as the last presenter you know uh very convincingly pointed out um the fact that miners can see exactly what you're doing through every step of the process as your transaction gets executed has positives and also negatives in this model you're the only one who sees the inputs to your computation and then out of it you submit a proof with potentially an output you know that others can verify um and then that that's basically the way in which you interact with programs so in that model a minor looks at the transaction or the proof they're they don't see anything that they can use other than you know just the fact that it's right that there's a fee associated with it and there's a transaction so there's no minor extractable value um it's very so it's very similar to how zcash works like a nice heuristic to think about alio is you know ethereum and z cash kind of combined and had a baby because z cash does have as a very similar model where you submit a proof as a transaction and and then miners can verify the other the last thing i'll touch on here is the the other advantage of this is efficiency right so re recomputing every transaction every state transition through all of time for every transaction is very expensive right this is why gas exists and this is why there's various you know features it's why you know it's why arguably you know ethereum is a little bit slow is because of this requirement so by having a system where only one party proves and everyone else verifies means you can get much greater efficiency um and then what i was going to talk about today which i don't think i'm going to be able to talk about since i'm having technical issues um is the leo programming language so we created our own programming language and compiler architecture to make it easy for developers to write zero-knowledge proof-powered applications we just see a show of hands who in here has a master's or phd in cryptography that's what i thought so this so that you know it's it's very i mean in my opinion it's the most exciting technology coming up you know it's most exciting and probably most underrated technology that's out there today and the reality is it's very inaccessible to almost every dev out in the ecosystem and so what we're trying to do at elio with leo specifically is make this something to put that power in your hands to enable you to use this technology without having to like again be a phd in cryptography um and right now the way the the language works is very rust-like there's some javascript-like elements but so it should feel very familiar to anyone who's you know written in certainly in the blockchain ecosystem but but in addition we also have a compiler which takes programs compiles them down to kind of a low level proof format called r1cs and one important thing i want to mention about this compiler is that we've done a lot of work to formally verify it and i don't think there's any programming language that has been formally verified in a couple decades if i recall we feel this is really important because as you know i don't need to tell anyone in this audience bugs happen and you know it's bad enough when they're introduced by potentially programmers or you know missed by by auditors but you know they can also happen in the compilation step when programs become compiled and those are almost the worst kind of bugs because no one knows they're there until you just trip on them and even worse in this context when you're talking about private programs either in an l2 context in a zk roll up or on a leo's platform you might there might be a bug and you might never even know it's it's it exists or has been exploited there was a there was a bug in zcash actually a few years back for those of you who might remember where um it was an infinite minting bug so someone could have minted an infinite number of zcash tokens and i use the term could have because we actually have no idea if it was ever exploited um and obviously that's bad when you're talking about systems that are theoretically designed to move around lots of value so anyway we built this formally verified compiler architecture so that you know i can't stop i can't help if you write a bug but the compiler mathematically will be unable to deviate basically from the intent that the programmer kind of inputs in the program um so that's leo and then on top of leo we have you know basically kind of some developer experience stuff it's been amazing i've been in the space now for seven years and it's just it's been incredible to watch particularly the ethereum ecosystem develop but i do remember the early days of trying to write solidity programs and there's a lot of things that you know didn't exist then that people have built over time good explorers for example um like little little things like truffle ganache things to make it easier for you to write deploy test your applications so we're trying to build all that up front to kind of make it very user friendly or end developer friendly um yeah so that's that and then i guess maybe the last thing that i'll uh i'll take some time let's see we might have a little bit of time for questions but um yeah like maybe the last thing i'll talk about is some use cases since you know i've already touched on a couple again one i think is a one i think really important use case that we're aiming to tackle is the problem of minor extractable value in front running which um you know again i think in some cases may not be that bad if you're talking about low value trades but if you're talking about for example like if you try to put an otc desk on chain uh becomes much more difficult and we think you can do that on a platform like alias to have like on chain otc liquidity that so it solves the problem of minor tractor value it also actually building using this architecture does something else it makes regulatory compliance actually easier i think this is kind of a counter-intuitive thing when a lot of people think about privacy enhancing technologies is that zero knowledge cryptography specifically is interesting because it lets you prove a fact without verifying why it's true but by doing that you could create for example like a regulated stablecoin that says hey only the only people who are able to transact with this stablecoin are not you know are not blacklisted by you know by any government agency right now of course you have to manage the identity part of that that's i'm leaving that aside but the point being is you can basically encode the logic just like you encode logic into solidity programs but here that logic is entirely private so i don't have to know who i'm transacting with or rather the regulator doesn't have to know who's transacting with who but they can be convinced that um that it's not with a person that you know they for whatever reason don't want you to transact with and not only is that good from a regulatory compliance standpoint it's actually way cheaper this is why many banks around the world like ey for example is investigating this technology to use you know for compliance reasons because the way compliance works today is people generally just there's like entire departments of people whose job it is to just go through transactions and be like that looks suspect that one looks suspect ah that one's fine so you know this this potentially represents a huge kind of cost saving uh cost saving measure um yeah another application that i'm really excited about um is gaming uh i don't have how many people in here have played dark forest oh man okay all of you need to just stop what you're doing and go go check that out i think the new round is running so dark forest is a game on ethereum actually and uh it's a it's what's called a hidden information game it's kind of a like a space strategy style game but it's really cool because for one specific reason it uses zero knowledge cryptography to disguise or hide the positions of the individual players um which if you think about playing a game on a platform like ethereum where everything is public by default you know it's kind of like playing chess right where you have chess you know you can i can see your pieces you can see my pieces and we just move and we have the same information but you know there's many many categories of games out there which are very interesting where that rely upon this concept of hidden information and it's very difficult to do that on a platform like ethereum at the base layer because of the transparency of it right but using something like a leo you can build like a dark forest like app or like you know if anyone's ever played the game werewolf which is a fantastic game by the way um or among us um you know you could build things like that uh or battleship and even simpler example on aliens so it's a category that we don't think has been explored and we're really excited about uh and the last one that i'll talk about is identity um a lot of a lot of chains out there a lot of applications targeting the problem of decentralized identity uh it's a really hard problem but in the world with that we live in what that is increasingly digital um you know it's increasingly important that we that we solve this problem and figure out and no matter what use case or no matter no matter what way it gets solved whether you go with the w3c self-sovereign identity standards all of them effectively require privacy on some level right because you don't want to reveal you know it's like think about if i if you send me something to my ethereum wallet not only do you know what i have right now you can see what i've done for all of time right if you apply that to like identity you know if i show you my driver's license you shouldn't be able to know like every you know all of my financial transactions so identity's another use case that that we're very interested to look at um i'm almost i'm going to conclude a little bit early but i did want to just tell you guys about one other thing that um actually it's a new initiative so i guess maybe to close out some stuff about alias so we're launching maynet and q3 we just wrapped up our incentivized test net today um we're excited to have a lot of great backers and we just raised the series b of 200 million led by cora capital and softbank um so we're really excited to uh to bring this technology out to the world and uh in q3 but let me tell you about one other thing that's that we're working on actually not not just elio but that we're trying to organize uh industry wide is a collaboration to bring about acceleration for zero knowledge cryptography so as i mentioned earlier you know these algorithms and this technology is really exciting but it's very nascent in its early days and building in an economic incentive to make things faster i think is really ultimately what's going to be important to make it practical a lot of people forget actually i'm kind of old probably older than a lot of people in this audience but i remember when you know the internet things weren't always https by default and one of the reasons that they became https by default is intel and other chip companies started baking in cryptographic instructions into hardware and it made it hundred times at least faster so you have orders of magnitude improvement for those basic algorithms so we want to make the same thing happen for zero knowledge cryptography we want to make these essential algorithms that that enable the provers and verifiers to kind of do this magic of verifiable computation to uh be baked in at as low level and hardware as possible and this it's such an exciting early domain and uh and so we're organizing this event called the z prize which we're going to be doing in collaboration with the youth foundation um and a few others uh we're going to announce a little bit more next week but the idea is basically to run a competition in the model of like the x prize or the darpa grand challenge if you guys are familiar with that and we're gonna put so i just said we raised a bunch of money we're gonna put two uh 10 million dollars worth of money that we have to incentivizing teams to come and build optimized provers and verifiers to make this technology practical for everyone and the only requirement for us is that everything gets open sourced and um you know personally as someone who's been at the space you know i've been at alia for almost two years but i've been around longer than that i think one of the most exciting things about this industry that we're all in this ecosystem is that it's all about a community it's all about open source and it's all about collaboration to build something that never could have been built before i mean just look at look at this conference is a perfect example right like everybody coming together around the ethereum ecosystem which started as an open source project you know in the metaphorical garage right and uh so yeah so i think you know hopefully in five or ten years there's a whole swath of new projects alio related non-alien related that can use this technology that will hopefully come out of the z prize competition and it can enable entirely new applications that no one has seen of or even dreamed of up to that point thanks very much alex we actually have two minutes left if you want to take one question quickly who's the lucky questioner um fascinating stuff can you explain a bit on the alia programming semantics what what can be made private and what is public for example if you want to build a private decks is the exchange rate public or can it be made private or public depending on the programmer yeah it's a great question so you have a you have a lot of flexibility as a programmer with what you choose to make private and make public and you can do this by this concept of something called a view key which lets you it's basically like you can use a view key so the way alia works and maybe a little more detail for the for the purpose of answering this question is there's actually a couple of zero knowledge proofs that are wrapped in almost like an onion structure and you can use this view key to basically you can publish this as part of the transaction then people can then take the view key decode effectively part of the transaction and then use that to you know ascertain what the current state of the program is or ascertain your how you you know what your state transitions effect on that state was and then through that you can have these kind of multiplayer applications like a dex um yeah so there's and so you kind of have a lot of flexibility in terms of like what you make public and what you don't um you know of course the easy thing to do if you want it to be fully public you just publish a view key for everything right and you're like okay then you're kind of just the same as ethereum but nonetheless you kind of can choose what you want to share so it's private by default not public by default and i can if you've got more questions that are in detail i think i'm out of time but i can answer them outside thanks everybody [Applause]

Automatic transcript — names and jargon may be misspelled.