Bitcoin Forum
May 04, 2024, 11:10:08 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 »  All
  Print  
Author Topic: I generated an address that already exists  (Read 9114 times)
alikim (OP)
Member
**
Offline Offline

Activity: 80
Merit: 11


View Profile
October 20, 2013, 04:37:44 AM
Last edit: October 20, 2013, 05:09:12 AM by alikim
 #1

That shouldn't be very probable, should it?

I used Bitcoin Qt client, pressed "New address" button to generate the address, sent a small amount to it and then checked on blockchain.info if the transaction was registered. To my surprise there are two other transactions made over a year ago using that address.

https://blockchain.info/address/1J9UHx3q9D1ZxZ5KwV8VGWJd7ksyTJtLTB
1714864208
Hero Member
*
Offline Offline

Posts: 1714864208

View Profile Personal Message (Offline)

Ignore
1714864208
Reply with quote  #2

1714864208
Report to moderator
If you see garbage posts (off-topic, trolling, spam, no point, etc.), use the "report to moderator" links. All reports are investigated, though you will rarely be contacted about your reports.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714864208
Hero Member
*
Offline Offline

Posts: 1714864208

View Profile Personal Message (Offline)

Ignore
1714864208
Reply with quote  #2

1714864208
Report to moderator
1714864208
Hero Member
*
Offline Offline

Posts: 1714864208

View Profile Personal Message (Offline)

Ignore
1714864208
Reply with quote  #2

1714864208
Report to moderator
mjc
Hero Member
*****
Offline Offline

Activity: 588
Merit: 500


Available on Kindle


View Profile WWW
October 20, 2013, 04:59:47 AM
 #2

It should not happen but there is nothing stopping it from happening.

Kindle : Bitcoin Step by Step (2nd Ed) : http://www.amazon.com/Bitcoin-Step-by-ebook/dp/B00A1CUQQU
Kindle : Bitcoin Mining Step by Step : http://www.amazon.com/Bitcoin-Step-by-ebook/dp/B00A1CUQQU
Facebook :  https://www.facebook.com/BitcoinStepByStep     Twitter : @BitcoinSbS
Liquid
Hero Member
*****
Offline Offline

Activity: 826
Merit: 500


Crypto Somnium


View Profile
October 20, 2013, 05:02:29 AM
 #3

Surely not, show us the transaction

Bitcoin will show the world what hard money really is.
arklan
Legendary
*
Offline Offline

Activity: 1778
Merit: 1008



View Profile
October 20, 2013, 05:04:05 AM
 #4

This should be so astronomically unlikely as to never happen...

Was there any btc stored on that address from before you used it?

i don't post much, but this space for rent.
ruletheworld
Legendary
*
Offline Offline

Activity: 1386
Merit: 1045


View Profile WWW
October 20, 2013, 05:09:04 AM
 #5

Wow this would be a first recorded case I am guessing. Can you share the public address?
Theoretically, there's nothing stopping an address collision but the chances are extremely slim especially at such an early stage in the lifecycle.
alikim (OP)
Member
**
Offline Offline

Activity: 80
Merit: 11


View Profile
October 20, 2013, 05:11:38 AM
 #6

Updated my first post with the address.

I had to enter a unique label before creating the address and enter a pass phrase for the wallet, so I'm pretty sure it's not one of my old addresses.

I'm not suffering from any memory lapses or hallucinations either.

When you create an address does it leave a timestamp in your wallet, like when it's been created, so as I could double check it's a brand new one?
gmaxwell
Staff
Legendary
*
Offline Offline

Activity: 4158
Merit: 8382



View Profile WWW
October 20, 2013, 05:31:20 AM
 #7

Updated my first post with the address.

I had to enter a unique label before creating the address and enter a pass phrase for the wallet, so I'm pretty sure it's not one of my old addresses.
Thats actually due to a bug which is fixed in git: it asks for the pass phrase totally unnecessarily when you request a new address.
Quote
When you create an address does it leave a timestamp in your wallet, like when it's been created, so as I could double check it's a brand new one?
It is _always_ a old one from the keypool.

Open up the debug console (help->debug window->console), type in:

gettransaction 5aed0ce301ecd17b237be9bd0dda7fa8fb7e2eb7f453c2ca1f27de160a23c791

If it returns that old transaction then that key was already in the wallet when that transaction hit your client.

There are ages on keys too, but off the top of my head the only way I think you can get them is if you dumpwallet and IIRC thats only in git.

Other questions: have you restored a wallet from a backup at any point, used salvagewallet, or pywallet?
Tomatocage
Legendary
*
Offline Offline

Activity: 1554
Merit: 1222

brb keeping up with the Kardashians


View Profile
October 20, 2013, 05:35:27 AM
 #8

Surely not, show us the transaction

This.

Edit nvm, I see it now!

Recommended Exchanges: Binance.com | CelsiusNetwork
GPG ID: 4880D85C | 1% Escrow | 8% IPO/ICO Escrow services Temporarily Closed | Bitcointalk is the ONLY place where I use this name (No Skype/IRC/YIM/AIM/etc) | 13CsmTqGNwvFXb7tD9yFvJcEYCDTB8wQTS | Beware of these SCAM sites! | *Sponsored Link
alikim (OP)
Member
**
Offline Offline

Activity: 80
Merit: 11


View Profile
October 20, 2013, 05:44:33 AM
 #9


Open up the debug console (help->debug window->console), type in:

gettransaction 5aed0ce301ecd17b237be9bd0dda7fa8fb7e2eb7f453c2ca1f27de160a23c791

If it returns that old transaction then that key was already in the wallet when that transaction hit your client.


When I do this, I see some transaction info. I didn't restore my wallet.

Still, I don't understand what you mean by saying it's always an old address from the keypool.

When I press "New address" button does it generate a brand new address that no one used before?
wachtwoord
Legendary
*
Offline Offline

Activity: 2324
Merit: 1125


View Profile
October 20, 2013, 05:48:51 AM
 #10


Open up the debug console (help->debug window->console), type in:

gettransaction 5aed0ce301ecd17b237be9bd0dda7fa8fb7e2eb7f453c2ca1f27de160a23c791

If it returns that old transaction then that key was already in the wallet when that transaction hit your client.


When I do this, I see some transaction info. I didn't restore my wallet.

Still, I don't understand what you mean by saying it's always an old address from the keypool.

When I press "New address" button does it generate a brand new address that no one used before?

Bitcoind always keeps a keypool with 100 (?) addresses which is pregenerates. Every time you request a new address it pulls it from this pool and adds a new one to the pool. The idea is to make backups more effective (but deterministic wallets such as Armory uses are way better for this).
frankenmint
Legendary
*
Offline Offline

Activity: 1456
Merit: 1018


HoneybadgerOfMoney.com Weed4bitcoin.com


View Profile WWW
October 20, 2013, 06:11:32 AM
 #11


Open up the debug console (help->debug window->console), type in:

gettransaction 5aed0ce301ecd17b237be9bd0dda7fa8fb7e2eb7f453c2ca1f27de160a23c791

If it returns that old transaction then that key was already in the wallet when that transaction hit your client.


When I do this, I see some transaction info. I didn't restore my wallet.

Still, I don't understand what you mean by saying it's always an old address from the keypool.

When I press "New address" button does it generate a brand new address that no one used before?

Bitcoind always keeps a keypool with 100 (?) addresses which is pregenerates. Every time you request a new address it pulls it from this pool and adds a new one to the pool. The idea is to make backups more effective (but deterministic wallets such as Armory uses are way better for this).

Couldn't I hypothetically create a script that systematically generates bitcoin addresses from the pregenerate pool and have the script lookup the generated address to see if the wallet is active with a balance then choose to spend this into a new wallet address?

gmaxwell
Staff
Legendary
*
Offline Offline

Activity: 4158
Merit: 8382



View Profile WWW
October 20, 2013, 06:21:21 AM
 #12

Open up the debug console (help->debug window->console), type in:
gettransaction 5aed0ce301ecd17b237be9bd0dda7fa8fb7e2eb7f453c2ca1f27de160a23c791
If it returns that old transaction then that key was already in the wallet when that transaction hit your client.
When I do this, I see some transaction info. I didn't restore my wallet.
Still, I don't understand what you mean by saying it's always an old address from the keypool.
When I press "New address" button does it generate a brand new address that no one used before?
No, it should return an address your own wallet previously generated that you've never used before. Unclean shutdowns, wallet corruption, salvagewallet, or restoring a backup could cause it to issue an address to you twice, however.  I've never heard of a local replay before outside of these circumstances.

Can you look back through your records and confirm that

78f929d6fd5461cea8a64b1867cbc45b39c3119495b18aff313e9024c025092c was really a transaction paying you and/or
5aed0ce301ecd17b237be9bd0dda7fa8fb7e2eb7f453c2ca1f27de160a23c791 was really a transaction with you paying some place?

E.g. if you were selling coins at mtgox at that time, go look at your mtgox deposit records on 2012-07-07?
Taras
Legendary
*
Offline Offline

Activity: 1386
Merit: 1053


Please do not PM me loan requests!


View Profile WWW
October 20, 2013, 06:26:24 AM
 #13

If this IS an actual collision...
Well, the next one probably won't be for a thousand years.
pengcqu
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
October 20, 2013, 06:39:53 AM
 #14

It‘s impossible.
Shogen
Legendary
*
Offline Offline

Activity: 966
Merit: 1001



View Profile
October 20, 2013, 07:08:47 AM
 #15

It‘s impossible.

It is statistically possible, but the possibilty is so small that we don't expect to really see it happens.

mandelbert
Newbie
*
Offline Offline

Activity: 26
Merit: 0


View Profile
October 20, 2013, 07:56:51 AM
 #16

Are you *sure* you didn't own that address already?

If not, it is VASTLY more probable you (and however generated this address before) just unearthed a bug in bitcoin's PRNG. Could you give more details - which OS and OpenSSL you have installed?

I find it *extremely* hard to believe you actually caused a collision. Not now, not in a 1000 years.
alikim (OP)
Member
**
Offline Offline

Activity: 80
Merit: 11


View Profile
October 20, 2013, 08:05:07 AM
 #17

Open up the debug console (help->debug window->console), type in:
gettransaction 5aed0ce301ecd17b237be9bd0dda7fa8fb7e2eb7f453c2ca1f27de160a23c791
If it returns that old transaction then that key was already in the wallet when that transaction hit your client.
When I do this, I see some transaction info. I didn't restore my wallet.
Still, I don't understand what you mean by saying it's always an old address from the keypool.
When I press "New address" button does it generate a brand new address that no one used before?
No, it should return an address your own wallet previously generated that you've never used before. Unclean shutdowns, wallet corruption, salvagewallet, or restoring a backup could cause it to issue an address to you twice, however.  I've never heard of a local replay before outside of these circumstances.

Can you look back through your records and confirm that

78f929d6fd5461cea8a64b1867cbc45b39c3119495b18aff313e9024c025092c was really a transaction paying you and/or
5aed0ce301ecd17b237be9bd0dda7fa8fb7e2eb7f453c2ca1f27de160a23c791 was really a transaction with you paying some place?

E.g. if you were selling coins at mtgox at that time, go look at your mtgox deposit records on 2012-07-07?


My records go back to 2011 but I don't see any transactions made in Jun or Jul 2012 at all and I didn't use mtgox in 2012.

I also do not see any mention of those two other addresses involved in previous transactions in my wallet.

I will assume that some kind of glitch made the client to reuse that address twice, that's more probable than a collision I guess.

Thank you!
Realpra
Hero Member
*****
Offline Offline

Activity: 815
Merit: 1000


View Profile
October 20, 2013, 08:13:31 AM
 #18

Bad number generator anyone? Is that the second time for Bitcoin QT? Are they just using whatever the operating system spits out with no additional randomness added?

Cheap and sexy Bitcoin card/hardware wallet, buy here:
http://BlochsTech.com
mufa23
Legendary
*
Offline Offline

Activity: 1022
Merit: 1001


I'd fight Gandhi.


View Profile
October 20, 2013, 08:21:03 AM
 #19

Wow... didn't think it would ever happen

Positive rep with: pekv2, AzN1337c0d3r, Vince Torres, underworld07, Chimsley, omegaaf, Bogart, Gleason, SuperTramp, John K. and guitarplinker
flatfly
Legendary
*
Offline Offline

Activity: 1078
Merit: 1011

760930


View Profile
October 20, 2013, 08:23:22 AM
 #20

That shouldn't be very probable, should it?

I used Bitcoin Qt client, pressed "New address" button to generate the address, sent a small amount to it and then checked on blockchain.info if the transaction was registered. To my surprise there are two other transactions made over a year ago using that address.

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

1. What OS and version of the client are you using? Could be a previously unknown bug in the random number generator.

2. Also, verify that you do own the private key to that address. Try to send that 0.1 BTC to another address of yours.
Pages: [1] 2 3 4 »  All
  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!