zpedro - Bring your own execution environment (BYOEE)
EthereumZuri.ch 2024 · April 2024 · 16:45
zpedro explains why privacy on a distributed ledger is hard, since it requires a redesign of the system and a new idea of what a wallet is. Instead of only holding keys and signing, a wallet becomes a powerful executor, a database of UTXOs and a server. The talk walks through Aztec's approach to private execution, focusing on its privacy workhorse, the Private Execution Environment (PXE).
Speakers
Topics
From EthereumZuri.ch 2024, hosted by EthereumZuri.ch.
Transcript
how is it going it's it's been great I been enjoying it a lot um a lot of technical technical talks and everything so uh it's for me it's uh pretty cool I like it I'm a de engineer at a clabs and today we're going to be talking a little bit about proving and about wallets and their relationship and why is it thing with astec so a little bit on our agenda so the first thing we're going to be talking is about wallets just as I I told you and signers and everything else that's going on about wallets they're
going to be talking about naming and actually this this talk had a different naming but yeah it was a it was a bit um censor no I'm kidding okay uh and then I'm going to be talking about proving and what this proving mean for rtic and why is such a big deal so talking about wallets first of all like if I see anyone else writing wallets i s I'm going to ask them if they are considering client side execution and this is why is this important and why why do I talk so much about client side why client side why client side why
proving why proving privacy that's why this is important like privacy right like we need to talk about this this is like this is key for us like this is key for blockchain and and hopefully at the end of this talk I'm going to be convincing you why so what's wrong with wallets anyway like why why am I talking about wallets actually they're they're fine right there's no problem with wallets they're necessary you need to St State you need to you need to sign over SCP 256 K1 somehow uh like you need to listen to the network you need to do something uh but yeah oh boy they will change this is they will change a lot in
the next in the next few months because wallets as we know they are really they aren't fit for privacy and and let's let's talk about it let's talk finally let's talk about privacy first of all you have none that's you don't have all you don't have privacy like blockchain is amazing but everything is public like you sign you sign you get transaction requests you sign them broadcast and everyone can actually trace it back to you which is amazing but like everything is is public so there's no privacy that's first one second one that's not acceptable we we think that how can we be happy when we're basically like building some kind of weird or orian
surveillance state where you can see everyone else um that's not something that we we believe it's going to be the future of blockchain so we are building this privacy Focus L2 and everyone is talking about L2 so uh it's not such a big deal that is it is a na to but it's important that it's a privacy Focus so basically it allows you for programmable privacy so you kind of you you code the Privacy you want and some of it can be public some of it can be private but it's totally up to the developer to decide actually you can say even like everything is public on on on ASC like
the protocol is fully transparent it's just that some of that information is encrypted only to you and only you know and so like we use Tech we we develop our own Tech We Roll on our crypto we have our own we we have our own cryptography team we have our own research team and we actually have done this before so we are a company with six years old uh and so we have done ZK money we have done as connect and we know what we are doing so like maybe it will like programmable cryptography it's not this kind of thing that will get you the hottest person in the room but yeah maybe a canr will which is our um which
is our our um smart contract framework work you should try it one day so Merkel trees Merkel trees everywhere we only talk about Merkel trees because if you can prove like ownership of something you can prove something that can be can be Reed by you you can prove signature verification and yeah did I kind of mention private native account obstruction that's that's amazing that's something that again a topic for another another talk if you can do complex arithmetic you can do message passing back to L1 and back to L2 and all kinds of other dark dark magic then like what's
stopping you for committing to anything at all just putting on chain and just do it like that like just work with utxo like you've been doing with Bitcoin and everything so we call it the note and we will happily add it to one of our many Merle trades so this is a trade like if you are used to to rust this is a trade that implements some kind of note it just gets it has an amount it has an owner and and basically you can prove it you can decrypt it you can read it you can change it so like in short like you can prove you can read your notes you can prove your role note is nullified in an
index Markle tree you can prove that the new note is added to the pend Markle tree you can prove that the new state is changed in the intended way you can prove you can prove you can prove you can prove many many many things but why is this such a big deal for wallets why why I haven't yet touched why and let's just give you an example of how things would be if your wallet didn't have approver inside so we visit a website it maybe a shady website you don't know right many many uh legit legitimate websites are actually Shady right so uh it you an Astic address for your private token transfer you send the notes you
want to notify and the ones you created then it tells you well sure let me just like steal immediately steal your info right it doesn't work like that it it can't work like this you just can't put your in private inputs in whatever form on the web the moment you write them you can they can be just bit still and by be be be stolen by someone so it doesn't work like this it just can't work like this and like if you want private execution if you want your private inputs to be uh actually private they need to hop on client's side and what does this even mean well it means that provs people prove their own execution in their own
machine may it be their cell phone it may be their laptop uh asset contracts are just n Zer knowledge circuits and and it means you need to bring a own prover so you can prove stuff about uh your own information and you need to store your own information you need to prove your own information you need to serve your own information in your own wallet so as you can imagine it's not that easy like the contract you are executing doesn't know which notes you want to notify or want to use or want to create it doesn't know your keeper it doesn't know anything
thing like does it sound like a wallet now like it it it looks like a wallet sounds like a wallet swims like a wallet cracks like a wallet but it's actually a private execution environment so let's talk about this name private execution environment like what's in a name we need something that is for privacy we need something that is a wallet it needs to sign transactions it needs to sync with an answer it broadcast things it listens it does everything that the wallet does you need a private Oracle because again if no one on the network knows what are
trying to change it doesn't people don't know what contract are you executing people don't know what notes are you adding it doesn't know anything about you so you need to serve that information in your wallet and then it's aover because if only you know what you are executing then obviously only you know its input so only you can prove and so you are going to have to run that in your phone because that's where people use the internet nowadays and so you can and you can trust it party it everything needs to
run on your phone this is atic something happened to some state in some contract so you need to tell them what happened in what state in what contract only you with your wallet can know this so we had a bit of a discussion about naming like naming right like what is it like it's it's an RPC server right it runs on your machine it acts as an protocol it serves your private input you simulate you prove your execution it's a NCH RPC server like like R okay not good let's let's try another one like it's a private
execution environment okay it's mostly approver right it's approver so it stores your notes it serves your notes it syncs with the network it's it's it's a it's an execution environment it's aover so now we have P instead of ours right like okay it's getting there so like we just bur out of ideas because actually the pxe is just more than this it's a private execution environment let's just take the E and place it within with a with a x now you had to you had to teach people how how to say pixie not to say pixie or say pixie or pxe um but we know it's not the wallet
software we know it's not something it's not actually a wallet it's something that allows you to build your one wallet and this is why I'm here I want you to build the wallet of the future that comes with the pxe with this service that will allow you to execute your notes execute your contracts provide your notes provide your keys and do that in a private manner so that's why I'm here so I prove and proving is p self self sovereignty proving is a Cy cyer Punk
stream your identity your data everything will be protected by strong cryptography this is what they wanted right so web one was mostly about reading stuff web two is about reading and writing stuffff we we all here talking about web 3 which is about earning stuff and this is true you earn stuff and I like to say that web for is about proving so not only you own stuff but you also prove that you own stuff so you don't need to tell everyone what you want you just prove that you w when you needed Actually I don't even understand how can you make a privacy
protocol when you're just handing your private in puts to everyone honestly I don't see I I can I I can I can see so you you you need you need to do it yourself so where do we go from here like this is a like can we commit to some kind of timeline we can't okay we don't know because we're we're breaking through unknowns and knowns everyone here is but yeah we're just some things we know that are possible some some things you don't even know that's why you have a research team and so it's difficult to commit some kind of timeline but you already have a developer sbox which is a local
development Network you can go and try and try your own uh business logic it doesn't prove a lot doesn't do much actually but this is where we are and you can try it we are developing some kind of hard hardcore cryptography um I mean if you're technical you're probably heard of brto Galaxy Goblin plon Ultra honk Zer morph all these Primitives that we're building um but basically we we need what we need is Big recursive proofs in less than 10 seconds this is this on your phone this is this is our goal um this is what what we want then we are like itly building the like kind of the other side of the
atic network the rollup like the sequencer the bridging the Prov Network all these parts that are needed but the pxc you can already already try but these components are still needed to be built and then finally we're going to be decentralized at mainnet so yeah this is will happen somewhere I guess next year so if you heard local development Network this is something I need to tell you about we call it the sandbox and yes you can you can you can try already you can try your business logic it's everything is in so if you if you've written any rust you you are perfectly
capable of of building with Noir uh I I didn't know any any rust before I tried Noir and it was just fine it's a nice language um and yeah you can you can basically um get started with everything that is in there but it's not pro it it doesn't run a proof yet so if you want to get started just follow this meme that's basically the the the uh smallest uh instruction manual but yeah you should definitely check the docs and so some links for you um this is the ASC discore which is a very hidden link uh you can can maybe um zoom in and join uh it's
very technical Discord so if you go there on CGM I'm going to ban you automatically um then we have Aztec docs um this is important if you're trying the the Aztec development uh network but also if you want to know like what is what is uh like the lower level Concepts if you want to learn about index Merle trees and everything that's everything is in Aztec docs this is my ex or Twitter formerly known as Twitter and my telegram if you want to uh talk with me um yeah feel free to just yeah zoom in and scan these QR codes and let's let's talk about your development of um the a wallet an NC
wallet cool I think uh we may have some questions maybe yes zedro thank you very much for such an inspiring nice presentation we learned much from this and now we have time for some questions does anyone have questions we can take you the microphone no questions okay so if you don't have a question right now you can also reach him through those links and we are glad for your attention thank you thank you again Z okay