2

I use litecoin-qt, but my guess it'll be the same for Bitcoin or any other crypto coin.

I created a new wallet, added an address and received the coins I expected. Then I created another wallet on different PC added another (non default) address, and sent some of the coins from first address mentioned to the second. I used 'sendfrom' command.

Now both wallets show exactly what I would expect, however on any online block explorer I see something strange. When I enter the first address, I see the transaction with the initial amount, but then another row that withdraw that amount. Clicking on the transaction I see that the second address is credited with the amount I sent, and the rest goes to an unfamiliar address.

What does it mean or what am I missing? Where's this 3rd address coming from? I thought I know how things are working with cryptocoins, but now I'm completely lost.

1
  • Can you give this question a more descriptive title, please? Aug 29, 2013 at 15:19

1 Answer 1

3

As you may know, transactions have inputs and outputs. The outputs give the addresses to which coins are being sent, and the inputs link back to outputs of the prior transactions that gave the coins to this transaction's sender, thus forming a chain. Anyone on the network can step along this chain to verify that all the coins in circulation legitimately got to their present owners.

To make it easier to verify the chain, the Bitcoin protocol has a rule that each input must spend all the coins that were in the output that it links to. (I am presuming that Litecoin is the same.) So if the smallest (or only) transaction to your address had an output of 150 LTC, then you have to spend 150 LTC. But since you only really want to spend 45 LTC, your wallet gives the transaction a second output that sends the remaining 105 LTC back to you, as "change".

Rather than sending the change back to the same address that is spending the coins, some wallets choose to generate a new address and send the change there. I am not exactly sure why; perhaps it's to help obscure what addresses belong to whom, for privacy. But in any case, you should find that your wallet holds the private key to this new address. The 105 coins are still yours, they're just at a different address.

4
  • Thanks. Indeed, running validateaddress confirms that the 'unfamiliar' addresses belongs to me, meaning I hold theirs private key. I didn't know a private key can generate/verify more than one address.
    – ElyaSh
    Aug 29, 2013 at 15:36
  • 1
    @elyash: It doesn't. Each address has its own private key, and your wallet holds all of them. Aug 29, 2013 at 15:45
  • 10x. Point to myself - storing the private key of the initial address is useless, once you spend some of the coins. Only wallet.dat backup will be suffice
    – ElyaSh
    Sep 1, 2013 at 6:42
  • @elyash: True. Some wallets pre-generate a bunch of keys/addresses so they can be backed up with wallet.dat even before they are used. Sep 1, 2013 at 12:06

Not the answer you're looking for? Browse other questions tagged or ask your own question.