Bitcoin Forum
June 29, 2024, 11:22:54 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Why does Qt Wallet send change to new, hidden addresses?  (Read 1289 times)
Steve Flow (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
July 10, 2014, 11:22:51 PM
 #1

Hi all!

First, I apologize if this question has already been asked.
I DID search the forums, but was unable to find an answer.
Still, if I missed it, please just point me in the right direction?

Anyway, I'm wondering: Why does Qt Wallet send change to new, hidden addresses?
This seems to make things extra confusing, but maybe there's a good reason for it?
Depending on the replies, I may have a follow up question.

Thanks!

Steve
Meuh6879
Legendary
*
Offline Offline

Activity: 1512
Merit: 1011



View Profile
July 10, 2014, 11:34:53 PM
 #2

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

bitcoin-core ... or android wallet ?
Exergy
Member
**
Offline Offline

Activity: 63
Merit: 10


View Profile
July 10, 2014, 11:42:37 PM
 #3

When you spend the coins in an address, the public key is fully revealed. This decreases the strength of the encryption used, and so to mitigate this effect the Bitcoin Core wallet (and pretty much all wallets) will by default send the "change" from a transaction to a fresh address which hasn't previously spent any coins. This change address is still maintained within your wallet (i.e. your wallet holds the private key for the new address). This is the reason why you need to backup your wallet each time you spend. Your previous backup potentially won't include the private key for the newly generated change address if the original pool of addresses generated when you first created your wallet has been exhausted.

You can overwrite this behaviour, but obviously it isn't recommended as why would you want to consciously increase the chances that your coins could be brute forced?
ShameOnYou
Full Member
***
Offline Offline

Activity: 238
Merit: 100



View Profile
July 10, 2014, 11:52:00 PM
 #4

Once an address has been used, the public key is exposed. It is most secure to use newly generated addresses for subsequent transactions. So this is done by default when you are shown your default bitcoin address.
Steve Flow (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
July 11, 2014, 12:30:19 AM
 #5

Hi Meuh6879: It's a wallet on my laptop computer, and all it says in the "about" section is "Qt".

Hi Exergy & ShameOnYou: Thanks for the great explanations. Exergy mentioned that "pretty much all wallets" perform this function, however, I'm also using a wallet on my iPhone called bitWallet, and it doesn't seem to do this (i.e. it appears that it sends change back to the main address that I spent from). With this in mind, would you recommend that I use a different iPhone wallet instead?
ShameOnYou
Full Member
***
Offline Offline

Activity: 238
Merit: 100



View Profile
July 11, 2014, 01:00:57 AM
 #6

Hi Meuh6879: It's a wallet on my laptop computer, and all it says in the "about" section is "Qt".

Hi Exergy & ShameOnYou: Thanks for the great explanations. Exergy mentioned that "pretty much all wallets" perform this function, however, I'm also using a wallet on my iPhone called bitWallet, and it doesn't seem to do this (i.e. it appears that it sends change back to the main address that I spent from). With this in mind, would you recommend that I use a different iPhone wallet instead?

Change addresses are a different thing. Generally you will get change back to one of the input addresses in the transaction. It wouldn't make sense to generate a new address for change, since the public key would then be exposed anyway.
Steve Flow (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
July 11, 2014, 03:40:51 PM
 #7

Quote
Change addresses are a different thing. Generally you will get change back to one of the input addresses in the transaction. It wouldn't make sense to generate a new address for change, since the public key would then be exposed anyway.

Thanks for the info, but now I'm thoroughly confused.
Correct me if I'm wrong, but this is how I understand things right now...

When I'm using Qt Wallet on my laptop, and I spend some Bitcoin from its main address, the change gets sent back into a new change address.
When I'm using bitWallet on my iPhone, and I spend some Bitcoin from its main address, the change gets sent back into the same main address.

What am I getting wrong?

Thanks again!
Coef
Hero Member
*****
Offline Offline

Activity: 882
Merit: 1000


Exhausted


View Profile
July 11, 2014, 07:00:10 PM
 #8

Once an address has been used, the public key is exposed. It is most secure to use newly generated addresses for subsequent transactions. So this is done by default when you are shown your default bitcoin address.

If you have used the address to receive bitcoin but not yet spent it, your public key isn't exposed yet.
But once you have spent it, your public key of that address will be known to the world.

Coef
Hero Member
*****
Offline Offline

Activity: 882
Merit: 1000


Exhausted


View Profile
July 11, 2014, 07:06:14 PM
 #9

Thanks for the info, but now I'm thoroughly confused.
Correct me if I'm wrong, but this is how I understand things right now...

When I'm using Qt Wallet on my laptop, and I spend some Bitcoin from its main address, the change gets sent back into a new change address.
When I'm using bitWallet on my iPhone, and I spend some Bitcoin from its main address, the change gets sent back into the same main address.

What am I getting wrong?

Thanks again!

Nothing wrong.

Apart from the "public key" problem, there is another advantage I can think of for using new change addresses, which is privacy.
For example, if I send 3 btc to someone's address and 2 btc "change" to a new change address, you can see my tx on any blockchain explorers but you won't know which one (the 3 btc or the 2 btc) is the change. Smiley

Steve Flow (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
July 11, 2014, 11:00:04 PM
 #10

Quote
Apart from the "public key" problem, there is another advantage I can think of for using new change addresses, which is privacy.

Cool, thanks!
So then, if I want the extra privacy that I already get with Qt Wallet on my laptop, maybe it's a good idea for me to use a different iPhone wallet besides bitWallet, so one that also uses change addresses? Any recommendations?
Thanks again!
nexxan
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
July 12, 2014, 12:21:07 AM
 #11

Quote
Apart from the "public key" problem, there is another advantage I can think of for using new change addresses, which is privacy.

Cool, thanks!
So then, if I want the extra privacy that I already get with Qt Wallet on my laptop, maybe it's a good idea for me to use a different iPhone wallet besides bitWallet, so one that also uses change addresses? Any recommendations?
Thanks again!

I am not sure exactly about iPhone, but I always liked the fact that blockchain had multiple clients and your wallet was accessible from any device in case you ever lost/broke/stolen this one. Although this does step away from keeping the wallet all to yourself. Blockchain's wallet is quite secure.
Light
Hero Member
*****
Offline Offline

Activity: 742
Merit: 502


Circa 2010


View Profile
July 12, 2014, 01:00:22 AM
 #12

If you have used the address to receive bitcoin but not yet spent it, your public key isn't exposed yet.
But once you have spent it, your public key of that address will be known to the world.

Per se, at the moment security wise there is nothing with reusing addresses, as provided that when you generated your private key there was enough entropy it is difficult to compromise with repeated usage. So unless you prefer to have anonymity, then using addresses repeatedly doesn't really present a major issue at the moment.
Chef Ramsay
Legendary
*
Offline Offline

Activity: 1568
Merit: 1001



View Profile
July 12, 2014, 01:17:39 AM
 #13

This question sounds like a caller on Free Talk Live the other night right out of the gate.
Steve Flow (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
July 12, 2014, 02:19:31 AM
 #14

Quote
This question sounds like a caller on Free Talk Live the other night right out of the gate.

Yes, good ear!
Indeed, I was that caller.
They recommended that I check out this website, and so I have.  Smiley

If anonymity is NOT a major concern for me, then perhaps I should be using a different desktop wallet instead of Qt; that way, I only have to worry about one address there, and not several change addresses.

Any good recommendations for a different Windows desktop wallet that also updates the full blockchain constantly?

Sorry for all the questions, and thanks again for the help!
Coef
Hero Member
*****
Offline Offline

Activity: 882
Merit: 1000


Exhausted


View Profile
July 12, 2014, 07:13:47 AM
 #15

If you have used the address to receive bitcoin but not yet spent it, your public key isn't exposed yet.
But once you have spent it, your public key of that address will be known to the world.

Per se, at the moment security wise there is nothing with reusing addresses, as provided that when you generated your private key there was enough entropy it is difficult to compromise with repeated usage. So unless you prefer to have anonymity, then using addresses repeatedly doesn't really present a major issue at the moment.

True, and so some clients use a new change address every time and some don't by default, and bitcoiners can choose according to their own preferences. Smiley

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!