ZenGo Crypto & Bitcoin Wallet: Buy, Earn & Tradelatest release: 2.22.1 last analysed 18th June 2020
Help spread awareness for build reproducibility
Please help us spread the word, asking ZenGo Crypto & Bitcoin Wallet: Buy, Earn & Trade to support reproducible builds via their Twitter!
Do your own research!
Try out searching for "lost bitcoins", "stole my money" or "scammers" together with the wallet's name, even if you think the wallet is generally trustworthy. For all the bigger wallets you will find accusations. Make sure you understand why they were made and if you are comfortable with the provider's reaction.
It is important to note, that even if we had exposed our code, there is no good way to verify that the downloaded mobile app was indeed created from it.
That is exactly what we are doing here. Let’s see if ZenGo answers to our tweet.
The original analysis
This app claims on Google Play:
Never worry about losing your private keys again
With ZenGo’s advanced cryptography, there is no private key. Instead, the responsibility of signing transactions is divided between us and our customers, so that neither party sees the other’s secret information. It also means that you never have to worry about managing private keys again. It makes ZenGo the simplest and safest crypto wallet.
which sounds scary. If you don’t have to worry about private keys, who does have them? If they lose them or go out of business, can you still use your money?
Also if they don’t use established standards, can you still spend your coins if their wallet stops working? They claim you can.
Stay in control
ZenGo does not have access to your funds. All transactions happen directly on the blockchain. With securely encrypted biometrics and our password-free security, only you control your funds.
Again, “only you control your funds” sounds good but with the rest of the comment it’s a bit confusing.
On their website we find more details:
Backing up your wallet is just as simple. An encrypted copy of your device share is stored on the ZenGo server, and the decryption code is stored separately in your personal iCloud (iOS) or Google (Android) account. Only with your 3D biometric face map can you access the encrypted share.
Does that mean that with a photo of you (and probably without) a google engineer can access your backup? That’s a bit scary.
So they claim it is non-custodial but do they share the source code? On that, they link to this blog post where they conclude:
As open-sourcing our code is a step we cannot take back, we prefer to take a cautious approach to it. We already released some portions of our code and intend to gradually release more and more of our software as open source as we gain more confidence in out process and more momentum within the community.
… but for audits, it doesn’t need to be “Open Source” in the sense of this quote. It can just be public code. For audits only.
Their decision to not be transparent earns them the verdict not verifiable.
Without public source available, this app cannot be verified!
This verdict means that we could not find any source to compile the app from. Internally the company might do everything right but as we can't verify it, there is nothing protecting the user from an exit-scam where the provider releases an app that leaks the keys to the servers.
The app cannot be independently verified. If the provider puts your funds at risk on purpose or by accident, you will probably not know about the issue before people start losing money. If the provider is more criminally inclined he might have collected all the backups of all the wallets, ready to be emptied at the press of a button. The app might have a formidable track record but out of distress or change in management turns out to be evil from some point on, with nobody outside ever knowing before it is too late.
Share onTwitter Facebook LinkedIn
Or embed a widget in your website
<iframe src="/widget/#appId=com.zengo.wallet&theme=auto&style=short" name="_ts" style="min-width: 180px;border: 0;border-radius: 10px;max-width:280px;height: 130px;" > </iframe>
<iframe src="/widget/#appId=com.zengo.wallet&theme=auto&style=long" style="max-width:100%;width:342px;border:0;border-radius:10px;min-height: 510px;" > </iframe>