Bitcoin Forum
May 23, 2024, 10:05:42 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Any plans for easy paper wallet support?  (Read 2595 times)
twmz (OP)
Hero Member
*****
Offline Offline

Activity: 737
Merit: 500



View Profile
September 10, 2013, 12:20:28 AM
 #1

Hey, Andreas,

This is an outstanding client.  I really appreciate the work you've put into it (not to mention the attention to detail and good UI), so thanks!

I have a bunch of my coins stored offline on paper wallets.  However, I am not as dilligent at using them as I should be because it's still kind of a hassle to use them.  I can imagine it being much more convenient if private key sweeping or something similar was added to the this client though.  There is something awesome about being able to use the camera on my phone with QR codes vs having to mess with entering private keys manually on a desktop computer (or even using a web cam on a desktop/laptop computer).

What I imagine doing is printing out a stack of paper wallets (from an offline copy of bitaddress.org).  I would then keep the bulk of my balance in one of the public keys.  It's already easy to send coins to a paper wallet by scanning the public key QR code.  When I need to spend some of that offline balance, I'd love to be able to scan the private key, spend what I need to spend, and have the left over change end up on a new paper wallet address (the one I just spent is, in theory, no longer safe since the private key has been exposed to my phone).

Possible workflows would be:

1. Scan the private key and sweep all funds into the live android wallet with a transaction. (this is new UI)
2. Spend some coins. (this is using the existing UI)
3. Manually send the bulk of the remaining balance to a new paper wallet public key.  I wouldn't send my entire wallet balance to the paper wallet, because I do keep a few coins on the phone just for easy access on short notice. (this is using the existing UI)

Alternatively, but perhaps more complicated (from a UI perspective) by more useful would be a paper wallet transaction builder:

1. Scan the private key.  Android wallet finds the unspent outputs for that private key.
2. Scan the recipient address (i.e. where I want to send coins to).  Alternatively, just choose to send the coins to android wallet.
3. Choose how much to send
4. Scan a "change address" for any left over coins (e.g. a virgin paper wallet)

This way, I can have 100 BTC in a paper wallet, send 5 BTC to someone and have the remaining 95 BTC end up directly in a new paper wallet.  Or I could selectively "transfer" only 5 BTC of my 100 BTC into my online wallet for future spending as needed while keeping the remaining safely offline.

Anyway, I read somewhere that you use paper wallets, yourself, and I was curious if you had thought of implementing anything in Android Wallet like this to make it easier.





Was I helpful?  1TwmzX1wBxNF2qtAJRhdKmi2WyLZ5VHRs
WoT, GPG

Bitrated user: ewal.
Andreas Schildbach
Moderator
Hero Member
*
Offline Offline

Activity: 483
Merit: 501


View Profile
September 10, 2013, 06:44:32 AM
 #2

The issue with paper wallets is you need to query the blockchain for finding the unspent outputs. Bitcoin Wallet (as a true SPV client) does not have a blockchain at hand. It would need to rely on external services.

If however someone would design an extended paper wallet format which includes the unspent outputs in the QR code, it would be possible to sweep that (only entirely, not partially).
Mike Hearn
Legendary
*
Offline Offline

Activity: 1526
Merit: 1129


View Profile
September 10, 2013, 08:46:13 AM
 #3

It can be solved with an alternative paper wallet design. Instead of the QRcode holding private keys or tx data directly, make it hold an encryption key for a regular wallet file that's stored elsewhere (i.e. your Google account). The security level is the same but it solves a lot of the usability problems paper wallets have.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!