Bitcoin Forum

Bitcoin => Armory => Topic started by: 5flags on May 14, 2014, 09:18:28 AM



Title: Generating Addresses for Watching only Walllets
Post by: 5flags on May 14, 2014, 09:18:28 AM
Quick question about cold storage. Just reading the docs here:

https://bitcoinarmory.com/about/using-our-wallet/

The section that details an offline wallet talks about printing the paper wallet, creating a watching-only copy, and importing that into Armory. Fine. But it also says:

"This wallet now behaves exactly like an full/hot wallet, except that you can’t use it to spend coins, only generate receiving addresses and verify incoming payments."

How does the generation of new addresses work for a watching only wallet? Clearly we're not adding new keys to the paper wallet. Is there some sort of deterministic seed embedded in the paper wallet?



Title: Re: Generating Addresses for Watching only Walllets
Post by: 5flags on May 14, 2014, 03:16:12 PM
Should have read the pinned post here:

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

But is there a high level description of how this works with watch-only wallets. If a Bitcoin address is a hash of a public key, and a public key (in EC crypto) is derived from the private key, a private key will have to be derived in the live client in order to generate the address...won't it?


Title: Re: Generating Addresses for Watching only Walllets
Post by: CircusPeanut on May 14, 2014, 04:14:32 PM
Should have read the pinned post here:

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

But is there a high level description of how this works with watch-only wallets. If a Bitcoin address is a hash of a public key, and a public key (in EC crypto) is derived from the private key, a private key will have to be derived in the live client in order to generate the address...won't it?

You can generate all of the public keys from the public address of the root private key. It's possible to use public keys for private keys that have yet to be generated. (Not recommended for large amounts of Bitcoin)


Title: Re: Generating Addresses for Watching only Walllets
Post by: birr on May 18, 2014, 11:17:03 PM
You can generate all of the public keys from the public address of the root private key.

Yeah, but how can you do that?  How can you generate an address from anything other than its private key using ECDSA?

Edit:  Starting to read the bip32 wiki, in hopes of getting some enlightenment.  And yes, Virginia, there is a way to generate a chain of public keys.
https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#recurrent-business-to-business-transactions-mi0

Unrelated question, as someone who has never used Armory.  Can I use a seed of my own?


Title: Re: Generating Addresses for Watching only Walllets
Post by: Kyune on May 20, 2014, 09:28:09 PM
Should have read the pinned post here:

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

But is there a high level description of how this works with watch-only wallets. If a Bitcoin address is a hash of a public key, and a public key (in EC crypto) is derived from the private key, a private key will have to be derived in the live client in order to generate the address...won't it?

You can generate all of the public keys from the public address of the root private key. It's possible to use public keys for private keys that have yet to be generated. (Not recommended for large amounts of Bitcoin)
I don't understand the bolded statement or the admonition that goes with it.  Please explain further.  What am I supposed to avoid doing?


Title: Re: Generating Addresses for Watching only Walllets
Post by: CircusPeanut on May 20, 2014, 09:38:20 PM

I don't understand the bolded statement or the admonition that goes with it.  Please explain further.  What am I supposed to avoid doing?

Avoid receiving large amounts of Bitcoin to a public address, unless you have double checked that you can generate the corresponding private address.


Title: Re: Generating Addresses for Watching only Walllets
Post by: Kyune on May 21, 2014, 12:15:05 AM

I don't understand the bolded statement or the admonition that goes with it.  Please explain further.  What am I supposed to avoid doing?

Avoid receiving large amounts of Bitcoin to a public address, unless you have double checked that you can generate the corresponding private address.

Specifically in the context of the Armory watching-only wallet feature, though, what is the concern?   Are you recommending that I go verify something using my separate, airgapped offline laptop before receiving a large deposit to an address I generate using the watch-only wallet on my networked computer?    Should I go do this every time I generate a new address, even if I have had success spending money out of such addresses earlier in that wallet's deterministic chain before?





Title: Re: Generating Addresses for Watching only Walllets
Post by: CircusPeanut on May 21, 2014, 01:49:40 AM

Specifically in the context of the Armory watching-only wallet feature, though, what is the concern?   Are you recommending that I go verify something using my separate, airgapped offline laptop before receiving a large deposit to an address I generate using the watch-only wallet on my networked computer?    Should I go do this every time I generate a new address, even if I have had success spending money out of such addresses earlier in that wallet's deterministic chain before?


Actually double checking is not necessary for any version that is 0.91.1 or greater. Follow this link for an explanation:

https://bitcoinarmory.com/armory-bitcoin-wallet-version-0-91-1-released/#.U3wFaPldXQg

For any prior release, when you receive a large amount of bitcoin at an address, just make sure that your offline computer has generated that address too.