Bitcoin Forum

Other => Beginners & Help => Topic started by: Draino on June 30, 2012, 03:16:23 AM



Title: Bitcoin-qt: change handling broken?
Post by: Draino on June 30, 2012, 03:16:23 AM
So, the address bitcoin-qt sent my change to isn't on the "recieve coins" list.  Is this normal?

Also, why does it send the change to a difference address for every damn transaction I make?  I like playing a few bitcoin games, and over time my 5 BTC wouldn't do a transaction without a fee of .5-.7 because my change was spread so thin.

I decided to consolidate it.
https://blockchain.info/tx-index/10917315/111665f4b73085caac675b37ffb6571a7572eabd1444f5468fb209da71805c35

Really?  How is this convoluted mess useful?  So if I tried to backup my wallet that I thought had 5btc in it, I really would have been shit out of luck because it was actually spread among a list of adddresses 15 times too long to count?


I'm a good boy, so I try to be up to date with the client.. and for punishment, I can't import my wallet to armory.  Arbitrary wallet.dat changes through versions?  Sweet.  And I haven't found a way to export my private keys that works.

I have an extreme feeling in my gut that the developers have no idea what they're doing, and it's costing me money.  I'll give the benefit of the doubt and assume they're not bumbling when it comes to cryptography or whatever, but as far as desktop software.. holy cow.


Title: Re: Bitcoin-qt: change handling broken?
Post by: Raoul Duke on June 30, 2012, 03:28:37 AM
Those high fees are anti-spam measures, and from your description, that's what you've been doing: spamming the network playing SatoshiDice ;D

The different address for the change and it being hidden from the "Receive Coins" list is part of the protocol, and it's there to improve on anonymity, nothing's broken.

Maybe you should give a read to http://bitcoin.org/bitcoin.pdf and https://en.bitcoin.it/wiki/Main_Page before complaining about the way the protocol is designed ;)


Title: Re: Bitcoin-qt: change handling broken?
Post by: theymos on June 30, 2012, 03:51:09 AM
Sending change to the same address wouldn't reduce fees. Some sort of "coin defragment" feature would help, but that's complex.


Title: Re: Bitcoin-qt: change handling broken?
Post by: Draino on June 30, 2012, 04:16:07 AM
The different address for the change and it being hidden from the "Receive Coins" list is part of the protocol, and it's there to improve on anonymity, nothing's broken.

Blockchain.info's doesn't handle change this way, and it doesn't require way above necessary fees, it lets me learn for myself if a transaction is going to take some time.  I don't get why if they can get it right, why the standard client can't, "protocol" notwithstanding.

If my cash wallet decided to put my change in a different secret pocket every time I bought something, it would go in the trash.  If that wallet also demanded increasing fees because my cash was spread so thin in so many different pockets.. contempt for the one who made it.


Title: Re: Bitcoin-qt: change handling broken?
Post by: Draino on June 30, 2012, 04:22:16 AM
Sending change to the same address wouldn't reduce fees. Some sort of "coin defragment" feature would help, but that's complex.

Ok, I guess I don't understand it exactly then, but I also don't understand why it refuses to let me send the transaction at all without requiring such a huge fee.

Wouldn't say a .01 btc fee almost certainly get through on the next block or so, since it's so much higher than the .0005 standard?  If that's the case, then why hold me hostage for many times that amount?


Title: Re: Bitcoin-qt: change handling broken?
Post by: theymos on June 30, 2012, 04:24:31 AM
The client uses the fee rules that it would use if it was a miner. If all miners used the bitcoin.org client, not paying the required fee would certainly cause your transaction to get stuck forever. And there's no way to cancel a transaction. (Not all miners do use the bitcoin.org client and its fee rules, of course.)


Title: Re: Bitcoin-qt: change handling broken?
Post by: Draino on June 30, 2012, 04:29:49 AM
Ok, I figured it out.

The fee setting in options is per kB, I didn't realize that it scaled that way, so when I set it a bit higher to increase my transaction priority (for the health of the network!) it was then requesting ever higher ones at send time.

So now it makes a little more sense.


Title: Re: Bitcoin-qt: change handling broken?
Post by: Raoul Duke on June 30, 2012, 05:24:17 AM
Ok, I figured it out.

The fee setting in options is per kB, I didn't realize that it scaled that way, so when I set it a bit higher to increase my transaction priority (for the health of the network!) it was then requesting ever higher ones at send time.

So now it makes a little more sense.

There's a little more to it than that.
Here is a good thread to explain the fees: https://bitcointalk.org/index.php?topic=90500.0


Title: Re: Bitcoin-qt: change handling broken?
Post by: Bitsky on June 30, 2012, 08:13:41 AM
So, the address bitcoin-qt sent my change to isn't on the "recieve coins" list.  Is this normal?
The addresses are marked as "reserve" and those aren't displayed; unless you use coincontrol.

Also, why does it send the change to a difference address for every damn transaction I make?
To support privacy up to some point. If you send out 1btc from an address holding 2btc, the other 1btc will go to another address (your reserve address), but from the blockexplorer you don't know which one is yours and which one is the real recipient. Or if both belong to other persons.
Having said that (and being a coincontrol user), I think it would be nice to let the user decide if the change should go back to the source address.

And I haven't found a way to export my private keys that works.
pywallet --dumpwallet


Title: Re: Bitcoin-qt: change handling broken?
Post by: Draino on June 30, 2012, 10:06:23 AM
Quote from: Bitsky
To support privacy up to some point. If you send out 1btc from an address holding 2btc, the other 1btc will go to another address (your reserve address), but from the blockexplorer you don't know which one is yours and which one is the real recipient. Or if both belong to other persons.
Having said that (and being a coincontrol user), I think it would be nice to let the user decide if the change should go back to the source address.

I think it would be nice to let the use decide if the change shouldn'tgo back to the source address.  To me it feels like papa bitcoin is deciding what's good for me, simplicity and intuition be damned.  I'm a minimalist at heart, so maybe I'm being harsh.

Quote from: Bitsky
And I haven't found a way to export my private keys that works.
pywallet --dumpwallet

I tried that, and it gave me a 45mb file that I can't seem to do anything with.


Title: Re: Bitcoin-qt: change handling broken?
Post by: flatfly on June 30, 2012, 10:30:11 AM
Quote from: Bitsky
To support privacy up to some point. If you send out 1btc from an address holding 2btc, the other 1btc will go to another address (your reserve address), but from the blockexplorer you don't know which one is yours and which one is the real recipient. Or if both belong to other persons.
Having said that (and being a coincontrol user), I think it would be nice to let the user decide if the change should go back to the source address.

I think it would be nice to let the use decide if the change shouldn'tgo back to the source address.  To me it feels like papa bitcoin is deciding what's good for me, simplicity and intuition be damned.  I'm a minimalist at heart, so maybe I'm being harsh.

Quote from: Bitsky
And I haven't found a way to export my private keys that works.
pywallet --dumpwallet

I tried that, and it gave me a 45mb file that I can't seem to do anything with.

No need for pywallet anymore, the following command should do it:  bitcoind -dumpprivkey [your_address] (while bitcoin-qt is running)

As for the option for not using change addresses, try the electrum lite client, it gives you full control over that behavior (in the expert settings)


Title: Re: Bitcoin-qt: change handling broken?
Post by: Bitsky on June 30, 2012, 10:44:43 AM
No need for pywallet anymore, the following command should do it:  bitcoind -dumpprivkey [your_address] (while bitcoin-qt is running)
True. Pywallet dumps a lot more interesting information though.


Title: Re: Bitcoin-qt: change handling broken?
Post by: Raoul Duke on June 30, 2012, 12:35:17 PM
No need for pywallet anymore, the following command should do it:  bitcoind -dumpprivkey [your_address] (while bitcoin-qt is running)
True. Pywallet dumps a lot more interesting information though.

And it also has the potential to destroy your wallet.dat file.