Bitcoin Forum
May 28, 2024, 04:03:12 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Feature Request - Deterministic Import  (Read 1400 times)
AliceWonderMiscreations (OP)
Full Member
***
Offline Offline

Activity: 182
Merit: 107


View Profile WWW
January 15, 2016, 12:02:05 AM
 #1

https://bitcointalk.org/index.php?topic=1171571.0

Lost their bitcoins because their phone with Android client got destroyed.

There's a better way.

A) Create deterministic seed. Say with something like Armory.

B) Display private seed key on computer screen as QR code. Import into Android wallet.

Then - whenever you want to put money on your phone, you can from Armory or whatever just by creating a payment address that is derivative of that seed. The phone then sees it once confirmed.

And when the phone needs to make a change address, it too can make one that is derivative of seed.

If the phone ever gets stolen or broken, no biggie - just use Armory or whatever created the seed to make a transaction sending all value associated with that seed to address that is not associated with that seed.

Then there is no need to backup the phone wallet because everything ever in the phone wallet is derived from seed created in different client.

-=-

With an Android client like that, Android suddenly becomes a safer platform for bitcoin and I bet adoption increases.

Thoughts?

I hereby reserve the right to sometimes be wrong
Andreas Schildbach
Hero Member
*****
Offline Offline

Activity: 483
Merit: 501


View Profile
January 15, 2016, 09:26:35 AM
 #2

Bitcoin Wallet has been deterministic for a long time. In fact, it was among the first to switch to HD.

The main reason the seed is not exposed as 12 words is because in many cases they are not enough to back up your whole wallet. A wallet can consist of more than one seed (if one was detected as unsecure for example), plus a number of random keys from the old days. Just writing down the current seed will make the user loose the older ones – but due to address reuse people still do receive coins on old seeds and keys.

And the other reason is no one has implemented it. Bitcoin Wallet is open source and free software. Anyone is welcome to add features themselves and offer it as a pull request.
AliceWonderMiscreations (OP)
Full Member
***
Offline Offline

Activity: 182
Merit: 107


View Profile WWW
January 15, 2016, 11:18:20 AM
 #3

But what I'm suggesting is that the seed be created in a standard desktop wallet.

Let's say I install Armory with seed key A. In Armory I create branch seeds B C D.

Private key for B gets imported into Android.

Now I want money on my phone so *in Armory* I create key BB that is derived by B - and send bitcoins to it.

Android then sees it can spend it, creating key BC for a change address.

Oops, my phone got stolen.

No problem, I can log into Armory which sees the coins in BC and can send them to address C emptying the value in the phone.

-=-

That's what I think would be beautiful to do.

I hereby reserve the right to sometimes be wrong
fbueller
Sr. Member
****
Offline Offline

Activity: 412
Merit: 275


View Profile
January 15, 2016, 11:59:18 AM
 #4

Imagine you used a BIP44, BIP45, and some custom BIP32 paths from the same seed: how do you efficiently recover the branches used starting from only the seed?

Most wallets use differently styled HD paths, so users NEED to store information about the branches they have used. It might work for a single branch (more like electrum, than full HD), but that itself is a wallet specific design Wink So there's no way to find all used addresses without deriving them them all (2^32), which is a problem.

Until someone comes up with a solution, we won't see complete recovery between wallets.

You are correct though: it would be amazing! Multisig wallet providers, or GreenAddress, technically shouldn't require you to derive a new set of keys just to use their service!

Bitwasp Developer.
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!