Evan's in-depth explanations of how Leo Wallet works and the features of the Aleo blockchain.

Ihar Redin
8 min readApr 14, 2023

The most valuable quotes from the most recent Aleo Community Call (April 12th).

Evan, CTO of Demox Labs

Evan: Something that’s exciting is we are over 5 000 downloads in the first few days of being alive. We actually don’t track analytics, we don’t know you’re using the wallet. And we never collect anything like IP or GeoIP information. It was a super exciting launch we were very happy to share. We kind of have a lot of the features that we’ve talked about before but what we’ve really been focused on is making things simpler to understand.

So two things that are really unique about Aleo are: you actually have to sync with the chain, so because this is a privacy-preserving wallet, we don’t give your view key or any information from your wallet to an RPC. Instead what we do is we’re basically downloading every single record on the chain and then we’re trying to decrypt it in the background to figure out what you own.

The second thing to kind of explain what’s unique about Aleo is when you’re doing a transaction, the way it works in other wallets is it’s kind of like UI as a wrapper around an API. In the case of Aleo, it’s very different. When I do a transaction we pop open a new tab because you’re actually generating a proof and this is a pretty computationally intensive task. Something we’re working on is GPU optimization for everything. I don’t know if you guys saw but there was a major Chrome announcement — WebGPU (link to explanation), which has been in the works for years. It’s like a way for programs and extensions to use the GPU on a user system, whether or not it’s a separate chip or it’s integrated with their CPU like most of the Intel chips are. But it’s going to really speed up proof generation, as well as syncing.

So we’re building what could be described as something as complex as a game engine for finite fields and elliptic curve math within the browser. And we’re re-implementing a lot of SnarkVM to be able to do this and make it a lot faster. That was pretty quick but it’s going to get even faster and the syncing is going to get a lot faster. Because the slowest part of the syncing is trying to decrypt everything onchain — it’s actually sending and receiving the information. We’ve worked really hard to optimize our RPC to be able to provide records for tens of thousands of blocks at a time.

Right now we really want to optimize for developers. Because there aren’t a lot of interesting programs onchain to be able to do anything, to really do stuff with. There are some rumors of exciting incentivization and a really big push from the Aleo team. And on the Leo wallet side, our goal is to make it so that we can create beautiful interfaces for programs and enable anyone to interact with them. The first thing you’d probably want to do is use the faucet again. There isn’t really a limit on the number of credits that are available so we’re making credits out of thin air here. But it’s fun to do. If you’re an ambassador you can come over to our Discord and we’ll give you OG status. If you’re an Aleo ambassador. And we’ll make sure you have plenty of credits to be able to help send credits around, get more people playing with the wallet, and really help people understand how Aleo works. Because it’s a totally new chain. This is the only chain where you’re actually generating a zero-knowledge proof or a custom program within your own wallet.

We are working on kind of the next iteration for really deep functionality in the wallet. Other than optimizing speed with GPUs, is building these proving keys within the wallet. So that means you won’t have to download anything, it will take more time to generate this file in terms it could take like 30 seconds to a minute before we GPU optimize it, and after we GPU optimize it we’re hoping to get it below 10 seconds. So you won’t even have to think about this sort of file management. If you’re a dApp developer right now though you do have to pass this in when you’re requesting a transaction. And we’ve provided examples within the Leo wallet adapter to show: when you build a program you’re going to have some sort of a proving key, you just have to make sure it’s downloadable. The really exciting part about being able to generate these files within the wallet is you’ll also be able to deploy programs from within the wallet. This means if someone creates a standard for NFTs for example, we’re going to make it possible to deploy contracts without coding. So I think that sort of app is really exciting, where right now you have to be a developer. There are a ton of steps to be able to understand, so like ‘how you can integrate the wallet adapter’, ‘how you can deploy a program onchain’…

It’s probably going to take at least about a month, but Aleo is going to get to the point where basically anyone can create a tool without coding experience and go and put it onchain and have a UI for it with minimal coding experience necessary. We think that this is extremely important for making Aleo as accessible as possible. Because these tools exist on other chains we’re going to make sure they exist within Aleo as well.

Q1: Support for other networks…?

Evan: yeah so we really wanted to focus on privacy-preserving smart contracts which is basically just Aleo right now. One issue is we have to open source our RPC and we do have plans to open source our RPC before mainnet. And this will allow people to work with the wallet in a local environment.

Q2: If a mobile version of the wallet already exists and if not when will it be?

Evan: This maybe is a really great thing to have community understanding on. Right now there are two core pieces of infrastructure that need to be built for a mobile wallet. So the first thing is we need some way of doing the scanning privately. And honestly, it may be impossible to do it as privately as we’re doing it within the browser. You would have to use something like Intel SGX, which is really good, it’s used by other tools like Signal uses it for looking up phone numbers and recent messages and that could be kind of something that enables you to delegate someone basically doing the syncing for you. It’s not purely as private as doing it yourself in a browser, but it is something that will probably be necessary for a mobile version.

The other part that’s necessary for a mobile version is the private delegation of proof generation. This is something that is also in the works and I think any sort of insight that the Aleo ambassadors would have for these sorts of questions in terms of ‘what’s okay for a level of privacy’? We could make a mobile wallet pretty much right now, that is confidential. So it’s kind of like a VPN, where the VPN knows what you’re doing. They would know which records belong to you, they would know your account history but they don’t share it with anyone else and it’s not publicly accessible. I call that confidentiality. And right now if we built a mobile wallet it would be confidential but it wouldn’t be fully private. So these two pieces of infrastructure are necessary to make a wallet that’s fully private.

Q3: Is it possible in the future to implement the proof of location, and proof of existence consensus in the wallet for additional access protection?

Evan: Yeah so proof of location. This is something I’ve like looked really deeply at and it’s not purely possible to do until there becomes encrypted GPS which is only available to the military. There’s going to be a spoofing problem until the US government or some privately contracted company, you know maybe SpaceX could do it, they enable you to have encrypted GPS and then you would be able to truly attest to your location and it would solve the spoofing problem.

For proof of existence — there’s going to be more probably proof of attendance, where you tap your phone to someone else’s phone who’s like a trusted party. So that sort of thing can definitely be done a lot sooner. But if you’re interested in talking about that feel free to hit me up I have some ideas for how that will work. And I think it’s going to be a really common pattern in Aleo, that NFTs are actually useful for things sort of like private authentication instead of just a pure status symbol.

Q4: One question above about private stablecoins.

Evan: Yeah if you guys don’t know that’s one of the things I’m most excited about. When we initially came into the Aleo ecosystem we were really excited about a private stable coin, but we wanted to also help build more core infrastructure. We have an outline on our GitHub (link). We call it uszk (link). So if you look at the uszk repo it’s an outline for how something like liquidity would work, which would be collateralized by the Aleo token to mint a stablecoin. I honestly think that’s the most exciting thing. My personal dream for the future of Aleo, and Leo as well, is we release something that’s like a private Venmo and no one has any idea it’s related to crypto. But it uses Aleo in the background and then it just works. So it’s like Signal, a mass-market product. It doesn’t focus so much on the crypto side it just focuses on a true utility which is sending money privately. Basically, that is the whole premise of what digital cash is supposed to be.

We live in an odd world right now where people need to understand what’s happening in the background to use the wallet and sign certain transactions. If we really want crypto to be widely adopted it’s going to have to be convenient to just use the private Venmo for example.

Chrome extensions: https://link.leo.app/download
Github: https://github.com/demox-labs
Site: https://www.demoxlabs.xyz/
Leo Wallet: https://leo.app/

Aleo:
🏡 | Website ~ https://www.aleo.org/
📅 | Community Calendar ~ https://www.aleo.org/community/calendar
🐦 | Twitter ~ @AleoHQ ~ https://twitter.com/AleoHQ
🤝 | Community Twitter ~ @aleocommunity ~ https://twitter.com/aleocommunity
🐙 | GitHub ~ https://github.com/AleoHQ
📄 | Developer Documentation ~ https://developer.aleo.org/
🎮 | Leo Playground ~ https://play.leo-lang.org/
🔎 | Aleo Block Explorer ~ https://www.aleo.network/
✍️ | Community Blog ~ https://medium.com/@AleoHQ
📣 | Announcements Blog ~ https://www.aleo.org/blog

Youtube — https://www.youtube.com/@AleoLabs

--

--