Bitcoin Forum
August 22, 2024, 02:49:46 AM *
News: All versions of Windows are affected by a critical security bug; make sure you update.
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: MultiBit and address reuse  (Read 2510 times)
jtoomim (OP)
Hero Member
*****
Offline Offline

Activity: 818
Merit: 1006


View Profile WWW
November 30, 2013, 11:23:02 AM
 #1

I've made a few transactions with MultiBit, and I'm pretty happy with it overall. However, I've observed that it tends to accumulate bitcoin in one address, which it reuses over and over again. For privacy and anonymity, I would prefer it if MultiBit created a new address to use to receive the change from each transaction instead of reusing one and making it easy for the IRS and ex-girlfriends to stalk my every financial move. Does anybody know anything about this? Was this behavior the result of a conscious decision? Is there any compelling reason for the address reuse that I don't know about?

To illustrate this issue, let's say I have 3 addresses (A, B, and C) initially, each with a different amount of coins:

A: 1.0 BTC
B: 1.5 BTC
C: 2.0 BTC

Let's say I want to send 2.1 BTC to address X. When I do this in Multibit, the transaction it generates ends up looking something like this:

Inputs:
A: 1.0 BTC
B: 1.5 BTC
Outputs:
X: 2.1 BTC
A: 0.3999 BTC
Fees:
0.0001 BTC

I would prefer that MultiBit instead created an address D for the change. Why doesn't it?

(I'm not sure if it would prefer address C or A as the change output address. I haven't observed any trades that would disambiguate yet.)

Hosting bitcoin miners for $65 to $80/kW/month on clean, cheap hydro power.
http://Toom.im
jtoomim (OP)
Hero Member
*****
Offline Offline

Activity: 818
Merit: 1006


View Profile WWW
November 30, 2013, 11:55:59 AM
 #2

This is an example of the kind of behavior that I don't like, taken from an address which is NOT mine:

https://blockchain.info/address/1MoB9poJFaa6Amzcybgmj3XFkW22XYipxc

Here is the kind of behavior I do like:

https://blockchain.info/address/1Dz7MHCZ3gHVqKRtUuP9RFipsdH5c61Gms

Edit: 1MoB9.... is a better example than 1GC6ucWxo5stow6U8A1gUaptK77n7E6FhQ

Hosting bitcoin miners for $65 to $80/kW/month on clean, cheap hydro power.
http://Toom.im
jtoomim (OP)
Hero Member
*****
Offline Offline

Activity: 818
Merit: 1006


View Profile WWW
November 30, 2013, 12:03:13 PM
 #3

If for nothing else, MultiBit shouldn't reuse addresses like this because the Eligius mining pool will deprioritize your transactions, and other pools might do the same.

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

I happen to agree with Luke Jr's motivation for this, and think that Yifu's CoinValidation is an awful idea. For the average Bitcoin wallet user, they just want their transactions to go through quickly, and that means that Luke Jr and his mining minions have largely forced users' hands.

Hosting bitcoin miners for $65 to $80/kW/month on clean, cheap hydro power.
http://Toom.im
Mike Hearn
Legendary
*
Offline Offline

Activity: 1526
Merit: 1129


View Profile
November 30, 2013, 03:17:42 PM
 #4

All SPV clients (bitcoinj based) have this behaviour. The reason is that there's no equivalent of the bitcoin-qt key pool, so every time you add an address, you have to make a new backup.

I've started work on integrating HD wallets, but it's a big job and will take a while. Once that work is done bitcoinj will stop reusing addresses, at least on desktop class machines, and MultiBit will pick up that behaviour automatically.
PenAndPaper
Sr. Member
****
Offline Offline

Activity: 252
Merit: 250


View Profile
November 30, 2013, 03:24:46 PM
 #5

If for nothing else, MultiBit shouldn't reuse addresses like this because the Eligius mining pool will deprioritize your transactions, and other pools might do the same.

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

I happen to agree with Luke Jr's motivation for this, and think that Yifu's CoinValidation is an awful idea. For the average Bitcoin wallet user, they just want their transactions to go through quickly, and that means that Luke Jr and his mining minions have largely forced users' hands.

There isn't any other pool that agrees to that. Actually there are some that expressed clearly that they are not going to implement such a change.
It's not going to happen.
jimmydorry
Newbie
*
Offline Offline

Activity: 58
Merit: 0


View Profile
December 03, 2013, 07:03:20 AM
 #6

Great! Been worried about this for a while.

In the meantime is it possible to implement an option to remove addresses and specify where remaining coins go?
JWU42
Legendary
*
Offline Offline

Activity: 1666
Merit: 1000


View Profile
January 30, 2014, 10:48:37 PM
 #7

In the meantime is it possible to implement an option to remove addresses and specify where remaining coins go?

This would be great - similar to what blockchain offers (defining a change address)...

empoweoqwj
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500


View Profile
January 31, 2014, 04:21:00 AM
 #8

All SPV clients (bitcoinj based) have this behaviour. The reason is that there's no equivalent of the bitcoin-qt key pool, so every time you add an address, you have to make a new backup.

I've started work on integrating HD wallets, but it's a big job and will take a while. Once that work is done bitcoinj will stop reusing addresses, at least on desktop class machines, and MultiBit will pick up that behaviour automatically.

I thought with Electrum it would restore *all* keys, however many there are (as long as they weren't imported keys), from the 12 word "seed"?
Abdussamad
Legendary
*
Offline Offline

Activity: 3640
Merit: 1571



View Profile
February 04, 2014, 02:40:26 PM
 #9

All SPV clients (bitcoinj based) have this behaviour. The reason is that there's no equivalent of the bitcoin-qt key pool, so every time you add an address, you have to make a new backup.

I've started work on integrating HD wallets, but it's a big job and will take a while. Once that work is done bitcoinj will stop reusing addresses, at least on desktop class machines, and MultiBit will pick up that behaviour automatically.

I thought with Electrum it would restore *all* keys, however many there are (as long as they weren't imported keys), from the 12 word "seed"?

Electrum does not use bitcoinj. It is based on python libraries. Electrum uses a separate deterministic sequence for change addresses. It's very nice actually.
empoweoqwj
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500


View Profile
February 04, 2014, 03:20:26 PM
 #10

All SPV clients (bitcoinj based) have this behaviour. The reason is that there's no equivalent of the bitcoin-qt key pool, so every time you add an address, you have to make a new backup.

I've started work on integrating HD wallets, but it's a big job and will take a while. Once that work is done bitcoinj will stop reusing addresses, at least on desktop class machines, and MultiBit will pick up that behaviour automatically.

I thought with Electrum it would restore *all* keys, however many there are (as long as they weren't imported keys), from the 12 word "seed"?

Electrum does not use bitcoinj. It is based on python libraries. Electrum uses a separate deterministic sequence for change addresses. It's very nice actually.

Thanks for clearing that up Abdussamad. I was getting worried Electrum wouldn't restore change addresses. I agree, Electrum *is* very nice.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!