Author

Topic: I don't understand change (Read 814 times)

legendary
Activity: 3472
Merit: 4801
April 09, 2013, 08:53:18 AM
#7
Related to this issue, I want to ask something else.

It's pretty much still about change, though. And though I'm mostly sure about the answer, I just want to make sure because by this point I'm getting superstitious.

Change is the reason why all of what we call 'weird behaviour' happens, as far as I can see. So it would stand to reason that a wallet.dat file can only be moved around from one OS to another as long as it doesn't actually engage in transactions. If it just sits there and doesn't send or receive money then no harm's done, no? It's when we engage in transactions that we have to start worrying about always using one and only wallet.

Change is one reason, but not the only reason that it's a bad idea to try to run the Bitcoin-Qt client in multiple places at once.

Another reason is the possibility of a double-spend attempt if one wallet send some bitcoins, and the other wallet hasn't seen the transaction yet for some reason.

But in general, as long as none of the instances of the wallet are sending or receiving any transactions, and you are not clicking on the button to create new addresses, you should be ok to run multiple copies of the same wallet.dat file on multiple systems. (I can't imagine what the purpose is of running the same wallet in multiple places and not sending, receiving, or generating addresses)
full member
Activity: 205
Merit: 100
April 09, 2013, 08:22:44 AM
#6
Related to this issue, I want to ask something else.

It's pretty much still about change, though. And though I'm mostly sure about the answer, I just want to make sure because by this point I'm getting superstitious.

Change is the reason why all of what we call 'weird behaviour' happens, as far as I can see. So it would stand to reason that a wallet.dat file can only be moved around from one OS to another as long as it doesn't actually engage in transactions. If it just sits there and doesn't send or receive money then no harm's done, no? It's when we engage in transactions that we have to start worrying about always using one and only wallet.
legendary
Activity: 3472
Merit: 4801
April 05, 2013, 12:13:35 AM
#5
So basically if I receive 5 bitcoins in one tx, 3 in another, and then send 2 bitcoins to someone else, I'd be spending a 5btc 'banknote' and 3 would be sent back to my change address. I would not be spending an 8 btc 'banknote'.
- snip -

Yes.  Well, depending on the unspent output that the coin selection algorithm chooses to use.  I suppose it could choose the 3 BTC 'banknote' (instead of the 5 BTC one) and 1 would be sent back to a change address.

Actually, it wouldn't be impossible to have both the 3 BTC and the 5 BTC both be used as inputs.  Then a single 6 BTC output could be sent as change.
full member
Activity: 205
Merit: 100
April 04, 2013, 11:28:40 PM
#4
So basically if I receive 5 bitcoins in one tx, 3 in another, and then send 2 bitcoins to someone else, I'd be spending a 5btc 'banknote' and 3 would be sent back to my change address. I would not be spending an 8 btc 'banknote'.

NIce to know what that Estimated BTC Transacted means, it certainly was confusing me.
legendary
Activity: 1512
Merit: 1036
April 04, 2013, 03:38:39 PM
#3
Transactions are comprised of a list of inputs, individual payments that were previously received by a wallet, and outputs, a list of amounts and addresses to which the bitcoins will be transferred.

Only the full amount of an input can be spent. If the exact amount of the transaction can’t be constructed from available inputs, an additional output, called change, is added, which sends the remainder back to a new address in the user’s wallet. Change addresses are not shown to the user.


The clarification you need to provide is your definition of cold wallet.

If it is a paper wallet address, for example, it can't be spent alone, the private key must be imported into a client in order to use it. Change will be sent to one of that wallet's reserve addresses.

If it is a seperate wallet.dat from bitcoin-qt that you had offline, and you reactivate that wallet (turning it back into a "hot" wallet) and send a transaction from it not spending the full balance, the change will be sent back to another address in that wallet (which is already precreated in its reserve pool).
legendary
Activity: 3472
Merit: 4801
April 04, 2013, 12:26:56 PM
#2
Is the problem that the change produces a new address and that if you're doing the transaction in a cold wallet this new address won't be registered by the cold wallet as it would by a hot wallet like bitcoin-qt?

Yes.

If that's it I get it, I think. If it's something else I don't.

Sounds like you get it.

http://blockchain.info/tx/0a1c0b1ec0ac55a45b1555202daf2e08419648096f5bcc4267898d420dffef87

It says Estimated BTC Transacted is 0.89 BTC but the example talks about how 10.89 was transferred. Does Estimated BTC Transacted mean the amount that went into a new address back into the original owner?

That transaction used the 10.89 BTC output from this transaction as an input:
http://blockchain.info/tx-index/30428246/1

It then created two outputs:
10 BTC being sent to 1KMb9xy3xwku6tJaTKx1M5mFBuub1kWrQb
0.89 BTC being sent to 1HPG2mhygVg2Dq48Gz26zLZaQaPtfZZntH

blockchain.info made an attempt to guess which of those two outputs were change back into the same wallet that the 10.89 came from and which of the two outputs were sent to a new wallet.  Based on the guess made, blockchain.info is reporting that 0.89 BTC were transacted (sent to a new wallet), leaving 10 BTC in the original wallet.  Depending on how blockchain.info makes this guess it may or may not be correct.
full member
Activity: 205
Merit: 100
April 03, 2013, 12:22:26 PM
#1
Someone said you could lose thousands of dollars due to change, so I looked it up

https://en.bitcoin.it/wiki/Change

and don't understand it.

Is the problem that the change produces a new address and that if you're doing the transaction in a cold wallet this new address won't be registered by the cold wallet as it would by a hot wallet like bitcoin-qt?

If that's it I get it, I think. If it's something else I don't.

Another thing I don't get is the transaction the above link uses as example:

http://blockchain.info/tx/0a1c0b1ec0ac55a45b1555202daf2e08419648096f5bcc4267898d420dffef87

It says Estimated BTC Transacted is 0.89 BTC but the example talks about how 10.89 was transferred. Does Estimated BTC Transacted mean the amount that went into a new address back into the original owner?

thanks in advance for enlightenment
Jump to: