Aleo Ecology|Understand Puzzle Wallet

Feng
4 min readFeb 18, 2024

--

Announcing Puzzle Wallet with Aleo Account Abstraction on iOS

Aleo account abstraction, WalletConnect, private multisig, fast ZK proofs, and fast client sync all on mobile devices (and extensions).

Give it a try, click on tasks in the app and earn money through our task events!

For those who do not have Apple iOS, you can also complete the task by installing the Google Chrome plug-in.

We believe the mobile and Aleo account abstractions described below are critical to the adoption of ZK and privacy technologies. Read the rest of this article to learn more about what Aleo Account Abstraction is, why it’s important to UX, our opinionated design decisions for this initial release, and some history of how we got there!

About the Aleo account abstraction and design decisions made

As a team, our design decisions are based on a balance of short-term and long-term goals for the company. Long term, we are committed to building a more vibrant collective capitalism for the masses, which means building products at the intersection of users and on-chain organizations in a way that reaches the masses. We will never be able to reach the masses with mnemonics, bridges, gas and slow ZK proof speeds — the masses just want a frictionless experience to get the products and services they want.

Therefore, we built the Aleo Account Abstraction and zkGame bot so that users don’t have to go through the pain of bridging or paying gas fees or slow ZK proofs to be able to play zkGames or use Aleo. With Aleo Account Abstraction — we delegate proofs, transaction bundling and fee payers, so you don’t need to earn Aleo points as a user, wait for slow ZK proofs, or worry about transactions not getting to the chain.

With our implementation of Aleo account abstraction, the wallet recognizes programmable private multisigs on Aleo and is capable of MPC private multisigs, so you don’t need a mnemonic phrase on top of the public multisig functionality you expect from your existing account abstraction efforts .

So why do all this?

Without this, you can’t get user feedback. You can’t build a great product without feedback. How do we know? In 2022, we experienced this first-hand with Nucleo Private Multisig and the rest of the suite of on-chain organization products. In order to test our product, users must bridge tokens, wait for longer proof times, and work around gas payments. When they finally reach what we think of as their primary product, their neurons become deactivated.

As a company focused on making products for people at the intersection of users and on-chain organizations, this means we have to innovate at the underlying infrastructure layer before we can build products that both users and on-chain organizations will love. That’s why we’re so excited about Aleo Account Abstraction, because it means the era of rapid iteration and product feedback loops has arrived.

Now we can quickly experiment with user on-chain organizational products to find the best games and mechanics that all parties want.

As a user — this means you just create a key pair, receive some game tokens, and get started.

We’ve been able to quickly iterate on our user flow, and we wanted to make some quick notes on our Aleo account abstraction implementation and design decisions for account creation. We’ve found that multi-signature and seedless account creation are not a high priority for users right now, and we’ve even found that crypto natives want to see their seed phrase when creating a wallet. Therefore, in our current implementation, we do not use MPC or private multisig to abstract user accounts. We’ve also chosen to display a mnemonic phrase to users when creating an account.

Despite the lack of this need, the multi-signature feature is very useful for users to play simple multi-party hidden information games between untrusted parties. We chose to label these accounts as “shared state” accounts in the extension because zkGame developers frequently develop with the extension (check out our repository here if you’re interested). In iOS, we’ve chosen not to fully display these accounts unless you visit the Developers tab in Settings. See example below.

The last but not least design decision is how we indicate to the user that the wallet is creating a zero-knowledge proof or synchronized state. In the long run, this should be comparable to the existing web2 experience of asynchronously waiting for user data or posting data requests (like ChatGPT). We are brewing research to achieve this goal. We found that even cryptocurrency natives are not familiar with the zero-knowledge proof process and state synchronization process, as this is atypical outside of the ZKP privacy chain. So we just show the transaction as “Creating” when the proof is generated and the status sync as a small sub-font of the updated percentage

--

--

Feng
Feng

Written by Feng

A person who enjoys analysis and focuses on privacy!

No responses yet