Pages:
Author

Topic: Verifiable builds need attention. Only 3 of 68 Android wallets are verifiable - page 2. (Read 565 times)

legendary
Activity: 1862
Merit: 1105
WalletScrutiny.com
So again, please show me one wrong categorization!

You can run your own node with Blue wallet or you can use their hosted Lightning wallet like for most LN wallets.

Sure, you can but nothing tells the user he should and the website and wallet description claim self-custody while the default LN account is not self-custodial and "- This wallet is
hosted by BlueWallet." does not convey the fact that they can do whatever with the user's funds.

Are you considering Green wallet by Blockstream with Liquid Network custodial or not?
Because I see it is very high rated on your website, or you think Lightning Network Bitcoin and Liquid Network Bitcoin L-BTC are not equal with real Bitcoin.
Looks like a double standards to me, but maybe I am wrong idk.

I personally would not touch Liquid Bitcoins as the current setup is not self-custodial to my own standards but I do not dig deep into all the shitcoins and protocols and personally draw the line around BTC. So if 8(?) federation members collude, they can steal your coins? There are bugs where the federation collapses and Blockstream can single-handedly spend the bitcoins? Yes, not something I would want to get tangled up with but it's not deceptive on the wallet level. It's only deceptive on the protocol level. The wallet does nothing wrong. If I would categorize it as custodial, I would have to do the same with all that support any shitcoin.

Please read the verdict explanation on all the non-verifiable wallets including the custodial ones:

Quote
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.

WalletScrutiny is about providers of binaries, currently on the Play Store and the App Store, not about the protocol maintainers/developers.
legendary
Activity: 2212
Merit: 7060
Cashback 15%
So again, please show me one wrong categorization!

You can run your own node with Blue wallet or you can use their hosted Lightning wallet like for most LN wallets.

Are you considering Green wallet by Blockstream with Liquid Network custodial or not?
Because I see it is very high rated on your website, or you think Lightning Network Bitcoin and Liquid Network Bitcoin L-BTC are not equal with real Bitcoin.
Looks like a double standards to me, but maybe I am wrong idk.
legendary
Activity: 1862
Merit: 1105
WalletScrutiny.com
Interesting to see that no wallet has ever been audited and only few of them are reproducible, but I doubt if any information from this website is really accurate and I don't see any hardware wallet listed.
You have Bluewallet listed as Custodial, and it is clear that this is non-custodial open source wallet, and there is no provider that holds the coins.
This is probably one of the best Bitcoin mobile wallets today.



github:
https://github.com/bluewallet/bluewallet

The "audited" section is to avoid confusion of what we do. We do check reproducibility. That is we test if reviewing the code has any relevance for the binary the provider released. We do not audit wallets. Others might have audited wallets and certainly wallet providers make that claim.

If you find any factual errors, please let us know, ideally via our gitlab. The verdicts are very objective and follow the "methodology" linked in the top of the site.

We are exploring what to do about hardware wallets. Those work very differently and need a very different methodology. We will first expand to other software wallets.

The fact that you thought BlueWallet was self-custodial while implying to know the product tells me everything about why we have to keep the verdict as is for the time being. The provider added a pathetic "This wallet is hosted by BlueWallet" in the LN account creation and calls that a disclaimer.

So again, please show me one wrong categorization!
legendary
Activity: 2212
Merit: 7060
Cashback 15%
Interesting to see that no wallet has ever been audited and only few of them are reproducible, but I doubt if any information from this website is really accurate and I don't see any hardware wallet listed.
You have Bluewallet listed as Custodial, and it is clear that this is non-custodial open source wallet, and there is no provider that holds the coins.
This is probably one of the best Bitcoin mobile wallets today.



github:
https://github.com/bluewallet/bluewallet
legendary
Activity: 1862
Merit: 1105
WalletScrutiny.com
the right way of implementing a multi signature scheme as some sort of 2FA is how Electrum does it meaning a 2of3 set up where the user owns 2 keys and the third party server owns the one key. user stores one of his keys in his hot wallet and the other he backs up by writing it down on a piece of paper. then if some day the server had any issues he can easily access his funds by accessing that backup key.
the github link suggests that greenwallet supports this but apparently not by default?

That is a good point. As they have to get the user to do a backup anyway, pushing to make two separate backups should not be that awkward and it would solve the problem with the timelock being a timelock when you might need the money.

Ping me on this issue if I forget to update the article.
legendary
Activity: 3402
Merit: 10424
I might be wrong there but my understanding is that the script is a slight bit more complicated. Their 2of2 protects you as you can define rules and they enforce them by not signing if somebody tries to empty your account all at once but if they disappear or charge a huge fee, your funds can be spent with just one key - your key - after one year.

The use of "non-custodial" is completely wrong. Perhaps we can describe them as "Split Custody Wallets."
The issue is gray, you can spend coins even if the network is not available, but you will need to wait & some effort. I think beginners should be warned about this.

(2of2 Recovery Case)
You can spend using nLockTime feature, which enables you to sign transactions by default after a certain time "90 days by default"  then use a tool to be able to send your coins.

Read more ----> https://github.com/greenaddress/garecovery

the right way of implementing a multi signature scheme as some sort of 2FA is how Electrum does it meaning a 2of3 set up where the user owns 2 keys and the third party server owns the one key. user stores one of his keys in his hot wallet and the other he backs up by writing it down on a piece of paper. then if some day the server had any issues he can easily access his funds by accessing that backup key.
the github link suggests that greenwallet supports this but apparently not by default?
legendary
Activity: 1862
Merit: 1105
WalletScrutiny.com
The use of "non-custodial" is completely wrong. Perhaps we can describe them as "Split Custody Wallets."
The issue is gray, you can spend coins even if the network is not available, but you will need to wait & some effort. I think beginners should be warned about this.

(2of2 Recovery Case)
You can spend using nLockTime feature, which enables you to sign transactions by default after a certain time "90 days by default"  then use a tool to be able to send your coins.

Read more ----> https://github.com/greenaddress/garecovery

I see your point and this is not the only wallet where things are not as black or white as we would hope for. I personally consider it a great and unique feature with little down-side but I would also love to allow critical voices to be accessible from the project. What about a block with a Twitter feed showing tweets mentioning both the wallet and @WalletScrutiny? Would also help to spread the word.
legendary
Activity: 2464
Merit: 3548
Buy/Sell crypto at BestChange
I might be wrong there but my understanding is that the script is a slight bit more complicated. Their 2of2 protects you as you can define rules and they enforce them by not signing if somebody tries to empty your account all at once but if they disappear or charge a huge fee, your funds can be spent with just one key - your key - after one year.

The use of "non-custodial" is completely wrong. Perhaps we can describe them as "Split Custody Wallets."
The issue is gray, you can spend coins even if the network is not available, but you will need to wait & some effort. I think beginners should be warned about this.

(2of2 Recovery Case)
You can spend using nLockTime feature, which enables you to sign transactions by default after a certain time "90 days by default"  then use a tool to be able to send your coins.

Read more ----> https://github.com/greenaddress/garecovery
legendary
Activity: 1862
Merit: 1105
WalletScrutiny.com
Once they claim " non-custodial," this does not mean that they are telling the truth.
The company uses multi-sig addresses, meaning that in some cases (2 of 2 address) there are two private keys for sending currencies, the first is yours and the second is for the company.
Indeed, the company can not spend money without your permission, but you can't.

I might be wrong there but my understanding is that the script is a slight bit more complicated. Their 2of2 protects you as you can define rules and they enforce them by not signing if somebody tries to empty your account all at once but if they disappear or charge a huge fee, your funds can be spent with just one key - your key - after one year.
legendary
Activity: 2464
Merit: 3548
Buy/Sell crypto at BestChange
Stop recommending Blockstream Green Wallet. They are baddddddddd. A big one
sorry about that. I missed clicking on send.
I edited it.

That said, what is so bad about Green Wallet?

Once they claim " non-custodial," this does not mean that they are telling the truth.
The company uses multi-sig addresses, meaning that in some cases (2 of 2 address) there are two private keys for sending currencies, the first is yours and the second is for the company.
Indeed, the company can not spend money without your permission, but you can't.


What will happen if the internet crashes in the area where the company is located, you will not be able to spend your money. The same thing happens when they charge high fees. Also, you cannot claim Hardforks.

Therefore, I do not recommend using it for beginners, or at least tell them about using 2 of 3 addresses.
legendary
Activity: 1862
Merit: 1105
WalletScrutiny.com
Stop recommending Blockstream Green Wallet. They are baddddddddd. A big one

We are not recommending any wallets. Our hope was to drive awareness for the issue of verifiability and there is bad things to say about all 3 wallets listed as "verifiable" but no wallet is perfect and all the other wallets are potentially losing all the money of all their users at once without security researchers having a chance of detecting it before it happens. And most likely even the team is not exercising build verification, so a release manager in distress might be all it takes for all users losing their money.

That said, what is so bad about Green Wallet?
legendary
Activity: 1862
Merit: 1105
WalletScrutiny.com
On your website, you said that Trust Wallet has no source ("Without public source available, this app cannot be verified!"). But they do have a GitHub https://github.com/trustwallet. Does this mean you don't take that as a source or you can't find the repo for the app? Or this is because of that appid thing?

They do have a building guide tho https://developer.trustwallet.com/wallet-core/developing-the-library/building, with the source to be https://github.com/trustwallet/wallet-core. Did anyone try it yet?

Please read the article on that wallet. It explains all we did to come to our conclusion. Let me know if that finding is outdated.
legendary
Activity: 2156
Merit: 1789
On your website, you said that Trust Wallet has no source ("Without public source available, this app cannot be verified!"). But they do have a GitHub https://github.com/trustwallet. Does this mean you don't take that as a source or you can't find the repo for the app? Or this is because of that appid thing?

They do have a building guide tho https://developer.trustwallet.com/wallet-core/developing-the-library/building, with the source to be https://github.com/trustwallet/wallet-core. Did anyone try it yet?
legendary
Activity: 1862
Merit: 1105
WalletScrutiny.com
At WalletScrutiny today we finished our first round assessing the 84 apps we had found to look like maybe being relevant Android Bitcoin wallets. The results are grim:

  • 3 are verifiably built from the project's published source code
  • 21 apps claim to be open source but either we failed to compile them from the information provided on their repositories or the compilation result differed non-trivially from the app found on Google Play. Trivial differences would be file timestamps, differences in few files that can be quickly understood to be harmless, like an API key not being included in the repository, although that is pointless as it sticks out in the diff even more.
  • 25 apps are closed source meaning neither the Playstore description, nor their website nor GitHub searched for their appId revealed any source code
  • 19 apps are for custodial services, the biggest being Coinbase. Coinbase recently reached 10 million downloads and with no other app reviewed having even 5 million, that is more users on Coinbase than on all open source wallets combined. Being your own bank ... not so much Sad
  • 18 apps turned out to be either not wallets, not for Bitcoin or they had only 1000 downloads or less.

This project is only getting started. If you want to look behind the curtain and maybe want to contribute, source for the website is public.

Now the next steps are:

  • Automate verification for wallets that were verifiable once
  • Efficiently collect wallet updates
  • Alert when verification fails
  • Build awareness

If you don't understand what this is about or think it is not important, consider this:

If you are the release manager of a wallet, would you tell your brother to trust your app? Should you trust it? After all it was you who pushed that compile button, right?
Well, if your computer has a backdoor, your compiler might bake in some wallet-stealing "feature" into every version of your app without your knowledge.
How big is the incentive to plant such a backdoor? For some wallets it is gigantic. Hundreds of millions of dollars. Criminals would kill for that amount, which brings me to the second issue:
What if somebody puts you under duress? If whatever you build is not being verified by a second person, ideally far away on an unrelated system, you can't trust yourself and nobody can trust you to release the software you should release. If in an open source project, verification is not easily possible, most likely it is not done internally.
Pages:
Jump to: