New Version of Zingo-PC

This reminds me of a user story that I posted to twitter. I’ll cut and paste it in here because not everyone can see twitter threads any more:

x.com (May 26, 2024)

For the last year, Zcash wallets (Discover the Zcash Ecosystem - Z.Cash) have been doing a great job of eliminating pain points users experience when sending and receiving money and messages. The biggest pain points remaining currently are when users try to backup/restore/migrate.

These current pain points are bad. Very bad. Normal UX problems are “toe stubs”. UX problems that result in (potentially permanent) loss of funds are “leg breaks”. Backup/restore/migration UX always has loss-of-funds at stake.

There are a lot of users currently suffering from leg breaks. They have lost access to their Zcash, they can’t get it back, and in some cases there is no way for them to ever get it back. (Source: private communication with many users, plus a few public posts — see below.)

Here’s a post that Naomi Brockwell just posted to the Zcash Foundation’s forum describing her difficulties with wallet backup/restore/migration: Shifting from Zeclite to Zashi

When reading it, remember that Naomi is in at least the 95th percentile of educated, sophisticated users!

Reading that thread, I thought it was nice that so many Zcash engineers jumped in to help her out. The Zcash community is super skilled, and super helpful!

But I also thought that this process is only going to work for users like Naomi who have time and a willingness to learn that exceeds that of 95% of users.

To eliminate this leg-breaking pain point and make Zcash safe for at least twenty times as many users, we need a backup/restore/migrate process that requires the users to learn as few concepts as possible. Here’s a sketch of a user story for the next 20X users:

Alice installs Wallet A, and it gives her a “backup code” which is small enough for her to screenshot, write on paper, or store in a note in a password manager. Alice saves the “backup code”. She then uses Wallet A for years.

Alice does not learn about any other concepts beyond the “backup code” concept. (In particular, she doesn’t learn about the concepts of “birthday height”, “keys”, “internal keys”, “accounts”, “indexes”, nor any other concepts except the backup code concept.)

Then, years later Alice loses access to her Wallet A. Far from hypothetical, this is the situation that many Zcash users are in today, including Naomi. I predict that the future will be like the past (always a safe prediction), and there will always be users stuck like this.

Then Alice installs Wallet B, feeds it her backup code, and Wallet B restores every single zatoshi that she had in Wallet A. Wallet B cannot depend on Alice providing information about any of those other concepts besides the backup code, because Alice cannot provide that.

That’s it! It’s a simple user story, but it will require a lot of hardcore crypto/protocol engineering and UX work to make it happen. But it is possible, and it will be necessary to expand the Zcash user base beyond the initial 5% of hardcore learners.

4 Likes