Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: almozee on November 04, 2019, 10:00:15 AM



Title: A pretty straightforward question about newly generated addresses in Armory
Post by: almozee on November 04, 2019, 10:00:15 AM
Hi all,

A theoretical question:

Suppose I have BTC in cold storage, and I'd like to move a part of it with an offline transaction in Armory.

When I sign this transaction, then the BTC I am NOT moving will be sent to a new address in Armory.

My question; where does this new address come from? I presume it is generated by Armory, but how?

Thanks in advance.


Title: Re: A pretty straightforward question about newly generated addresses in Armory
Post by: Lauda on November 04, 2019, 10:10:11 AM
Yes, change addresses are automatically generated. Make sure that if you are making manual transactions (using a console or something) to NOT FORGET to specify where the change is going to (otherwise the whole amount will be added as fees).


Title: Re: A pretty straightforward question about newly generated addresses in Armory
Post by: HeRetiK on November 04, 2019, 10:23:03 AM
Armory is a HD (hierarchical deterministic) wallet, meaning all its addresses are derived from a seed phrase / master key. This seed phrase is what you write down when making a paper backup of your Armory wallet.

While most modern HD wallets are cross-compatible by following BIP-32 [1], Armory currently uses its own type of HD key derivation. The basic premise is the same though.

[1] https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki


Title: Re: A pretty straightforward question about newly generated addresses in Armory
Post by: CounterEntropy on November 09, 2019, 06:26:46 PM
When I sign this transaction, then the BTC I am NOT moving will be sent to a new address in Armory.
No. As long as the transaction is not broadcasted to the network (and receive confirmation), you can send those BTC to a different address.

My question; where does this new address come from? I presume it is generated by Armory, but how?
Addresses are derived from a BIG Number, which is randomly generated.


Title: Re: A pretty straightforward question about newly generated addresses in Armory
Post by: bitmover on November 09, 2019, 06:59:53 PM
If you have 1 btc in your wallet, and you want to transfer 0.2 to someone, you cannot just send 0.2

The remaining 0.8 will also be transferred to a new address, called change address. This is generated within your wallet. Unless you don't mess with things you don't clearly understand in your wallet software, you are safe and you control this address


Title: Re: A pretty straightforward question about newly generated addresses in Armory
Post by: suzanne5223 on November 09, 2019, 08:56:36 PM
When I sign this transaction, then the BTC I am NOT moving will be sent to a new address in Armory.
No. As long as the transaction is not broadcasted to the network (and receive confirmation), you can send those BTC to a different address.
Nah. HD wallet automatically generate new address and move wallet balance inside the wallet to new address generated when a transaction occur (send out).

My question; where does this new address come from? I presume it is generated by Armory, but how?
Addresses are derived from a BIG Number, which is randomly generated.
That's not correct because every single addresses reproduced or generated by the wallet come from the master seed key.
I believe the HeRetiK have provide the OP the right answer before.


Title: Re: A pretty straightforward question about newly generated addresses in Armory
Post by: HeRetiK on November 10, 2019, 12:52:06 PM
Addresses are derived from a BIG Number, which is randomly generated.
That's not correct because every single addresses reproduced or generated by the wallet come from the master seed key.
I believe the HeRetiK have provide the OP the right answer before.

CounterEntropy is correct as well.

Strictly speaking, the seed is just a big number. So are private keys, public keys, etc... any kind of digital data. Seed phrases are just a way to express those big numbers in a human readable way.