Pages:
Author

Topic: Pros and cons of using new Bitcoin addresses for each transaction? - page 5. (Read 48694 times)

newbie
Activity: 37
Merit: 0
No real cons, just pros IMHO, but if you really needed the extra anonymity you could launder the coins.
legendary
Activity: 1288
Merit: 1076
How fast does wallet.dat size grow with creating new addresses? It would be nice feature to physically remove entries from it if I'm pretty sure no one will send coins to that particular address. For example, if would be useful for shops which create one-time addresses to recieve payments. If it's used once it's not needed anymore so the shop engine sends coins from that address to a certain fixed address and removes keys for that temporary one. It will prevent wallet.dat from growing indefinitely.

The size of your wallet is very unlikely to be a problem, imo.

If empty addresses realy bother you, you can create a new wallet and put all your bitcoins in it.  You could do that with a VM or using mybitcoin.com as a temporary storage.
administrator
Activity: 5110
Merit: 12475
An address has 33 significant characters, each of which has 62 possible values (10 numbers, 26 uppercase letters, 26 lowercase).
So you have 62 * 62 * ... * 62 possibilities (33 times).

Actually, now that I remember, it's 58 (uppercase i and lowercase L are not included because they look too similar, same for zero and uppercase o).

So there are 58^33 possibles values, which is slightly more than 10^58. Still high, but not quite as high as 10^92.

As ByteCoin already explained earlier in the topic, an address contains a non-data check code and version number. There are actually "only" 160 bits of randomness in each address: 2^160, or 1.46x10^48 possible addresses.

Addresses can also be 25-34 characters in length, depending on how numerically large the hash160+check code is (the larger it is, the more base58 characters required).
sr. member
Activity: 288
Merit: 263
Firstbits.com/1davux
It's not. It's 62^33, which is slightly over 10^59.
How did you arrive to this result?

An address has 33 significant characters, each of which has 62 possible values (10 numbers, 26 uppercase letters, 26 lowercase).
So you have 62 * 62 * ... * 62 possibilities (33 times).

Actually, now that I remember, it's 58 (uppercase i and lowercase L are not included because they look too similar, same for zero and uppercase o).

So there are 58^33 possibles values, which is slightly more than 10^58. Still high, but not quite as high as 10^92.
hero member
Activity: 489
Merit: 504
I think the number of addresses is like 33^62 (26+26+10?) that's over 10^94.

It's not. It's 62^33, which is slightly over 10^59.
How did you arrive to this result?
legendary
Activity: 1708
Merit: 1007
The addresses are valid forever unless you lose your wallet.

The addresses are valid forever until someone else collides with your address.
This is not considered as a risk here. But that is not impossible.
And the more addresses generated, the less it is impossible Smiley


Generating new addresses for each transaction doesn't increase your risks of a collision.  The risk is not simply the risk of a collision alone, but also the maximum potential losses that such a collision could represent.  A single collision with one of your many addresses only exposes the coins associated with that particular address, not the total amount of bitcoins that said wallet.dat can access.  Reuse of addresses may limit your raw risks of a collision, but reuse also increases your maximum potential losses since more bitcoins are concentrated under fewer addresses over time.  Either way, the risks are so small as to be astronomically unlikely.  If a collision were to ever occur, even intentionally, it would be big news if someone could prove that it had occurred.
sr. member
Activity: 288
Merit: 263
Firstbits.com/1davux
I think the number of addresses is like 33^62 (26+26+10?) that's over 10^94.

It's not. It's 62^33, which is slightly over 10^59.
LZ
legendary
Activity: 1722
Merit: 1072
P2P Cryptocurrency
You could always pregenerate all the keypairs (addresses) you'd ever need and keep them in your wallet.
Satoshi made it default in SVN 163 (0.3.13.3).
full member
Activity: 185
Merit: 100
Try to read the post to its end before replying ^_~ Or at least read the second sentence:

Quote
...if I'm pretty sure no one will send coins to that particular address.

More than that, I mentioned cases when it's just impossible (or not needed to) send to an address twice or more times.
legendary
Activity: 1078
Merit: 1005
It would be nice feature to physically remove entries from it if I'm pretty sure no one will send coins to that particular address. For example, if would be useful for shops which create one-time addresses to recieve payments.

The problem with deleting the address is, if the address was made public, someone can still send money to it. If you delete the address and bitcoins are later sent to it then those bitcoins cannot be recovered (as I understand it).
full member
Activity: 185
Merit: 100
How fast does wallet.dat size grow with creating new addresses? It would be nice feature to physically remove entries from it if I'm pretty sure no one will send coins to that particular address. For example, if would be useful for shops which create one-time addresses to recieve payments. If it's used once it's not needed anymore so the shop engine sends coins from that address to a certain fixed address and removes keys for that temporary one. It will prevent wallet.dat from growing indefinitely. Also note that invisible address is created each time one sends the sum which isn't equal to the sum of a particular address or sum of several addresses so it's divided by two parts: one goes to the recipient and the other goes to your just transparently generated invisible address (you don't see it in your address book but it's in your wallet.dat). If you often send money you'd already have lots of such addresses and some empty ones. AFAIK no automatic garbage collection is done for now and it's right — there is no way to know which address is temporary and which is constant. Another proposal is to make a special «temporary address» flag which may be set on any of your addresses either on its creation or anytime later. Bitcoin checks this flag on transaction and if this (these) address(es) become empty AND the transaction was confirmed by the network (6 confirmations) then it's removed from the wallet. Hence this flag should be set for all «change» (invisible) addresses because they can't be used to receive payments (they aren't displayed anywhere).
legendary
Activity: 1288
Merit: 1076
I think the number of addresses is like 33^62 (26+26+10?) that's over 10^94. If a trillion people each have a trillion addresses that's 10^24. The odds of picking a taken addy even after all that is so vanishing it's absurd. And no 10^24/10^94 is not 1/4.
So, here you have accepted that risk.
You have multiplied the value of the potential damage by the probability of the event.
It is acceptable to you, because that is really low risk, since you take no damage at all.
Some may be concerned if their potential loses are larger than yours, and have not only monetary nature,
but for example, reputational damage. Bank may get slashed by a bank run, if it lose some of it's reputation,
that will be the end for the bank.

You can think of it like that if you want, but it's not a 'low risk'

Driving around town is a low risk because you have a fatality rate of like 0.0000005. We're talking about a much smaller than .0000000000000000000000000000000000000000001 chance of losing the contents of one wallet. It's seriously dumb to call that a risk. It's on the scale of worrying about passing through your chair.


Very funny, some people just can't admit that at some point, small numbers are really virtually zero.

I've read somewhere that the total number of atoms in universe is around 10^80.

10^94 is thousands of billions (10^14) times bigger than that.  So we're talking about odds that are far less likely than picking a specific atom amongst the total number of all atoms in universe.  This is ridiculously small.
sr. member
Activity: 416
Merit: 277
I think the number of addresses is like 33^62 (26+26+10?) that's over 10^94. If a trillion people each have a trillion addresses that's 10^24. The odds of picking a taken addy even after all that is so vanishing it's absurd. And no 10^24/10^94 is not 1/4.

I believe that a Bitcoind address is just an encoded RIPEMD160 hash which can take 2^160 values which is about 1.46*10^48. The number of distinct public keys is vastly larger and hence many different public keys have the same address. This isn't as worrying as it sounds though.

ByteCoin
legendary
Activity: 1246
Merit: 1014
Strength in numbers
As far as I understand, pregenerating all keypairs does not stop someone from using them
if he generates them too, by accident.
That is perceived as unlikely to happen.
But over time the number of generated keypairs will grow...
Yes, still unlikely, but still possible and nobody knows how to mitigate that.
That is an accepted risk of using the system. Just use to it.  Tongue


I think the number of addresses is like 33^62 (26+26+10?) that's over 10^94. If a trillion people each have a trillion addresses that's 10^24. The odds of picking a taken addy even after all that is so vanishing it's absurd. And no 10^24/10^94 is not 1/4.
So, here you have accepted that risk.
You have multiplied the value of the potential damage by the probability of the event.
It is acceptable to you, because that is really low risk, since you take no damage at all.
Some may be concerned if their potential loses are larger than yours, and have not only monetary nature,
but for example, reputational damage. Bank may get slashed by a bank run, if it lose some of it's reputation,
that will be the end for the bank.

You can think of it like that if you want, but it's not a 'low risk'

Driving around town is a low risk because you have a fatality rate of like 0.0000005. We're talking about a much smaller than .0000000000000000000000000000000000000000001 chance of losing the contents of one wallet. It's seriously dumb to call that a risk. It's on the scale of worrying about passing through your chair.
full member
Activity: 158
Merit: 100
As far as I understand, pregenerating all keypairs does not stop someone from using them
if he generates them too, by accident.
That is perceived as unlikely to happen.
But over time the number of generated keypairs will grow...
Yes, still unlikely, but still possible and nobody knows how to mitigate that.
That is an accepted risk of using the system. Just use to it.  Tongue


I think the number of addresses is like 33^62 (26+26+10?) that's over 10^94. If a trillion people each have a trillion addresses that's 10^24. The odds of picking a taken addy even after all that is so vanishing it's absurd. And no 10^24/10^94 is not 1/4.
So, here you have accepted that risk.
You have multiplied the value of the potential damage by the probability of the event.
It is acceptable to you, because that is really low risk, since you take no damage at all.
Some may be concerned if their potential loses are larger than yours, and have not only monetary nature,
but for example, reputational damage. Bank may get slashed by a bank run, if it lose some of it's reputation,
that will be the end for the bank.
legendary
Activity: 1246
Merit: 1014
Strength in numbers
As far as I understand, pregenerating all keypairs does not stop someone from using them
if he generates them too, by accident.
That is perceived as unlikely to happen.
But over time the number of generated keypairs will grow...
Yes, still unlikely, but still possible and nobody knows how to mitigate that.
That is an accepted risk of using the system. Just use to it.  Tongue


I think the number of addresses is like 33^62 (26+26+10?) that's over 10^94. If a trillion people each have a trillion addresses that's 10^24. The odds of picking a taken addy even after all that is so vanishing it's absurd. And no 10^24/10^94 is not 1/4.
full member
Activity: 158
Merit: 100
As far as I understand, pregenerating all keypairs does not stop someone from using them
if he generates them too, by accident.
That is perceived as unlikely to happen.
But over time the number of generated keypairs will grow...
Yes, still unlikely, but still possible and nobody knows how to mitigate that.
That is an accepted risk of using the system. Just use to it.  Tongue
hero member
Activity: 489
Merit: 504
I actually stopped thinking of the BitCoin adresses as my Account number, and started considering them a reference number for each transaction Cheesy
newbie
Activity: 14
Merit: 0
You could always pregenerate all the keypairs (addresses) you'd ever need and keep them in your wallet. Then you just pull new ones off as needed, reuse old ones as you like, etc. E.g. with every transaction you get to pick the addresses that participate in that transaction. From the network's point of view, this is is indistinguishable from the curent behaviour of generating new addresses every time, but you can backup your wallet once in some really robust fashion and never worry about backups again. You can in fact patch your client to do that right now without affecting anyone else or breaking anything. So, that's a PRO; having to back up after every transaction is silly.

The negative side of pregenerating all the keypairs is that if I steal your wallet, and you don't know about it, I can just sit around for years waiting for a big transaction involving one of your addresses and then burn you. This theft is more insidious than just spending your wallet immediately, because nobody can ever be 100% certain than someone hasn't already done it. It would undermine trust in the network.
full member
Activity: 158
Merit: 100
The addresses are valid forever unless you lose your wallet.

The addresses are valid forever until someone else collides with your address.
This is not considered as a risk here. But that is not impossible.
And the more addresses generated, the less it is impossible Smiley
Pages:
Jump to: