Edge wallet login system

Has anyone checked and understood how they backup keys and how you can recover them only with username and password? Looks like an interesting solution (which they advertise as decentralized too).

So I looked into this app briefly. Their code is open source, but I didn’t have time to dig through it, so everything I write here is my assumption.

The basic idea is simple. They use your password to encrypt your private key (locally on your device) and then store it on their server attached to your username. In case you migrate / lose your phone, they use the username to look up your encrypted private key, send it to your device and decrypt it there with your password.

So what this means is that your funds are only as secure as the password you chose. If your password is “aaaa” (I think a simple password like that is not allowed by their password policies), then a brute force attack would be VERY easy. The longer and more difficult the password is, the longer it will take.

This system is very user friendly and people are familiar with it, which is a good thing. However, I have a couple of issues with their app. First and foremost, they advertise it as being “secure” and drop some fancy words like “zero-knowledge server architecture”. While this may be true, it still boils down to simple encryption. If someone gets a hold of your encrypted key, he can start brute forcing it. And security is only based on the complexity of the password, and users usually go with something easy to remember, so dictionary attacks will be quite successful here. It’s also easy to get the encrypted key as long as you know the username of someone.

Their “social recovery” feature via email is also tricky. I’m not quite sure how it is implemented (I’m not sure of the purpose of the token they generate you), but if they allow you key recovery without knowing your password, it means that your private key has to be encrypted with another “password” that you don’t have access to. Which almost certainly means that they need to have access to your private key in order to give it back to you.

So as a summary I would say that the app seems to be well suited for a small amount of funds if set up right (= strong password, no recovery option). The main advantage is that it’s a system that people are familiar with (username, password), and that’s extremely helpful. But I wouldn’t advertise it as a particularly secure system.