sparrowwallet / sparrow

Desktop Bitcoin Wallet focused on security and privacy. Free and open source.
https://sparrowwallet.com/
Apache License 2.0
1.36k stars 192 forks source link

Uncle Jim PDF export #1530

Open Schnuartz opened 2 weeks ago

Schnuartz commented 2 weeks ago

An extremely cool and easy-to-implement wallet export function would be an "Uncle Jim PDF."

One application would be for when you've created a wallet with a hardware wallet that supports Agnostic Mode. This way, without needing to input the seed into the Bitcoin hardware wallet, you could easily verify your Sparrow Wallet Bitcoin addresses against printed, verified analog addresses.

Additionally, as someone with a hardware wallet supporting Agnostic Mode, you could create a watch-only wallet for someone else. This person could then receive and securely store Bitcoin with an “Uncle Jim Wallet,” without necessarily needing a hardware wallet right away. On top of that it cointains the Wallet Deskriptor, to check the balance from every Companion App of the users choice.

More information on this concept can be found on this German website: https://btcfrankenstein.com/uncle-jim/

This feature is already available in Specter Desktop, so it could be replicated with minimal effort.

Here it looks like that: uncle_jim wallet_uj_backup.pdf Beschreibung Uncle Jim PDF

craigraw commented 2 weeks ago

Is it really a good idea to encourage the creation of wallets with so little security though? Clearly the envelope containing the seed words needs to be fairly readily available to retrieve/scan the addresses on the front, but the envelope itself offers very little protection for the seed words inside. I can see the argument "it's ok for small amounts" but small amounts can quickly become significant, and the security may not be upgraded.

I would argue that an encrypted hot wallet in Sparrow is probably a better solution.

Schnuartz commented 2 weeks ago

I would disagree with that. First of all think it is safer to create your seedphrase with an offline signing device than with the Sparrow Wallet.

In any case you will have a physical backup of the Seed as well. But without this feature you are not able to verify if the receive adresses Sparrow shows you are correct. Neither with a hot Wallet. (So we already have to categories where this solution would be more secure, than the encrypted Hot Wallet)

And on top of that you would be able to use this with a Passphrase or even Multi Sig as well. In any case it is a very cool method to check the receive adress without the need of a hardware Wallet. Furthermore you are of course able to put the paper in your folder without the Seed. There are a lot of options how you could use this paper.

And why is it difficult to make the wallet more secure? You can create for example an uncle Jim Wallet with passphrase. Store the passphrase in the Tamper Evident Bag and then if you want to upgrade your security you remove the Passphase from the Tamper Bag and store it in maybe two different locations. And you could still use the Uncle Jim Wallet PDF without any security disadvantage.

craigraw commented 2 weeks ago

First of all think it is safer to create your seedphrase with an offline signing device than with the Sparrow Wallet.

That also depends on the device, and the implementation it uses to create good entropy. It's not a simple "offline is always better" answer.

But without this feature you are not able to verify if the receive adresses Sparrow shows you are correct.

I think you mean without an alternative wallet (at best, an offline hardware wallet) you are not able to verify the addresses. This is true, but also probably not as high a risk as theft from exposing the (potentially lightly protected) seed words.

I do see your argument, I just worry that we end up with the default of seeds sitting in envelopes in drawers, because of some irrational fear of hot wallets. That said I'll keep this issue open and see if there is further support for it.