Bitcoin Forum
April 20, 2014, 02:00:15 AM *
News: Due to the OpenSSL heartbleed bug, changing your forum password is recommended.
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: How is this address possible?  (Read 1522 times)
SgtSpike
Hero Member
*****
Offline Offline

Activity: 1106


Firstbits: 18tkn


View Profile WWW

Ignore
June 22, 2011, 05:11:03 AM
 #1

Base58 discludes 0oiL, so how is an address like this one possible?
http://blockexplorer.com/address/1BitcoinEaterAddressDontSendf59kuE

1397959215
Hero Member
*
Offline Offline

Posts: 1397959215

View Profile Personal Message (Offline)

Ignore
1397959215
Reply with quote  #2

1397959215
Report to moderator
"Your bitcoin is secured in a way that is physically impossible for others to access, no matter for what reason, no matter how good the excuse, no matter a majority of miners, no matter what." -- gmaxwell
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1397959215
Hero Member
*
Offline Offline

Posts: 1397959215

View Profile Personal Message (Offline)

Ignore
1397959215
Reply with quote  #2

1397959215
Report to moderator
1397959215
Hero Member
*
Offline Offline

Posts: 1397959215

View Profile Personal Message (Offline)

Ignore
1397959215
Reply with quote  #2

1397959215
Report to moderator
1397959215
Hero Member
*
Offline Offline

Posts: 1397959215

View Profile Personal Message (Offline)

Ignore
1397959215
Reply with quote  #2

1397959215
Report to moderator
1397959215
Hero Member
*
Offline Offline

Posts: 1397959215

View Profile Personal Message (Offline)

Ignore
1397959215
Reply with quote  #2

1397959215
Report to moderator
SgtSpike
Hero Member
*****
Offline Offline

Activity: 1106


Firstbits: 18tkn


View Profile WWW

Ignore
June 22, 2011, 05:17:54 AM
 #2

This one too...
http://blockexplorer.com/address/1Boxo846yTDLHgKM94aYseHBnCjJ4eYbzb

bji
Member
**
Offline Offline

Activity: 112


View Profile

Ignore
June 22, 2011, 05:34:45 AM
 #3

The coins sent to that address are gone forever as it is not possible to claim them, because it is not possible to produce a public key that will hash to that value in base58.

The transaction was perfectly valid - it sent bitcoin to an invalid address, that's all.

I find it strange that block explorer shows that string for the address though; shouldn't it be formatting the binary of the bitcoin address hash in base58 before printing it?  base58 definitely does not include some of the characters in that printed address, as you have pointed out.  Very strange.
SgtSpike
Hero Member
*****
Offline Offline

Activity: 1106


Firstbits: 18tkn


View Profile WWW

Ignore
June 22, 2011, 05:47:11 AM
 #4

So the only check for the client to make a transaction is the checksum at the end of the address?  As long as the checksum matches, then it will allow the transaction to be processed?

Interesting...

IamFuzzles
Newbie
*
Offline Offline

Activity: 28


View Profile

Ignore
June 22, 2011, 06:59:55 AM
 #5

I've got a couple addresses in my wallet that have both L and o. What's going on there?
SgtSpike
Hero Member
*****
Offline Offline

Activity: 1106


Firstbits: 18tkn


View Profile WWW

Ignore
June 22, 2011, 07:05:28 AM
 #6

I've got a couple addresses in my wallet that have both L and o. What's going on there?
o.O

EricJ2190
Full Member
***
Offline Offline

Activity: 134


View Profile

Ignore
June 22, 2011, 07:06:06 AM
 #7

Neither of those are invalid. Bitcoin's base58 skips '0', 'O', 'I', or 'l'. Characters 'o', 'i', and 'L' are fine.

Code:
static const char* pszBase58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";

DOGE: DBsS2XZfteCWGPz19nEAWc8XJTKLfT651D
IamFuzzles
Newbie
*
Offline Offline

Activity: 28


View Profile

Ignore
June 22, 2011, 07:07:22 AM
 #8

Neither of those are invalid. Base85 doesn't allow '0', 'O', 'I', or 'l'. Characters 'o' and 'L' are fine.

Code:
static const char* pszBase58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";

Thank goodness! Cause 4 of 6 I generated had them, and I just sent some btcn to them
SgtSpike
Hero Member
*****
Offline Offline

Activity: 1106


Firstbits: 18tkn


View Profile WWW

Ignore
June 22, 2011, 07:07:37 AM
 #9

Neither of those are invalid. Bitcoin's base58 doesn't allow '0', 'O', 'I', or 'l'. Characters 'o' and 'L' are fine.

Code:
static const char* pszBase58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
Ahhhhh, makes a whole lot more sense.  Thanks for straightening that out for me (us).

Alex Beckenham
Full Member
***
Offline Offline

Activity: 154


View Profile

Ignore
June 22, 2011, 07:10:24 AM
 #10

Base58 discludes 0oiL, so how is an address like this one possible?
http://blockexplorer.com/address/1BitcoinEaterAddressDontSendf59kuE

Maybe the EFF should send their donations there.

The end of the address even seems to be sending them a special message: f59k u EFF

Samantha2011
Newbie
*
Offline Offline

Activity: 14


View Profile

Ignore
June 22, 2011, 07:58:20 AM
 #11

So does someone actually own the 1BitcoinEaterAddressDontSendf59kuE address?

If so, how hard is it to make your own address like that?  Huh

Obligatory begging address:

1F6aMYyqy95itC88okx85FXwPvuQref8ZF
EricJ2190
Full Member
***
Offline Offline

Activity: 134


View Profile

Ignore
June 22, 2011, 08:02:13 AM
 #12

So does someone actually own the 1BitcoinEaterAddressDontSendf59kuE address?

If so, how hard is it to make your own address like that?  Huh

I am sure nobody owns that address, but people have generated simpler vanity addresses.

See http://forum.bitcoin.org/index.php?topic=1387.0

DOGE: DBsS2XZfteCWGPz19nEAWc8XJTKLfT651D
Samantha2011
Newbie
*
Offline Offline

Activity: 14


View Profile

Ignore
June 22, 2011, 08:16:13 AM
 #13

So does someone actually own the 1BitcoinEaterAddressDontSendf59kuE address?

If so, how hard is it to make your own address like that?  Huh

I am sure nobody owns that address, but people have generated simpler vanity addresses.

See http://forum.bitcoin.org/index.php?topic=1387.0
Thanks. I was thinking the encryption was broken for a second.  Cheesy

Obligatory begging address:

1F6aMYyqy95itC88okx85FXwPvuQref8ZF
ByteCoin
Sr. Member
****
expert
Offline Offline

Activity: 413


View Profile

Ignore
June 22, 2011, 01:19:10 PM
 #14

This may be an appropriate thread to mention that the the "checksum" at the end of an address does not effectively prevent single character errors or transpositions.

For instance https://blockexplorer.com/search/1ByteCoin shows that
Code:
1ByteCoinAddressesMatch1kpCWNXmHKW
1ByteCoinAddressesMatch1kpCxNXmHKW
are both valid addresses even though they only differ by one character.

Similarly, the valid addresses
Code:
1ByteCoinAddressesMatchcNN781jjwLY
1ByteCoinAddressesMatchcNN718jjwLY
only differ by one transposition.

ByteCoin
SgtSpike
Hero Member
*****
Offline Offline

Activity: 1106


Firstbits: 18tkn


View Profile WWW

Ignore
June 22, 2011, 03:24:33 PM
 #15

Question: What is the checksum calculation?

Pieter Wuille
Hero Member
*****
qt
Offline Offline

Activity: 938


View Profile WWW

Ignore
June 22, 2011, 03:42:00 PM
 #16

first or last 32 bits of the double sha256 checksum of everything before.

aka sipa, core dev team

Tips and donations: 1KwDYMJMS4xq3ZEWYfdBRwYG2fHwhZsipa
bji
Member
**
Offline Offline

Activity: 112


View Profile

Ignore
June 22, 2011, 05:46:27 PM
 #17

first or last 32 bits of the double sha256 checksum of everything before.

Bitcoin addresses are 160-byte hashes of a public key, and are represented in base-58, which is an ASCII encoding that does not use 0, O, I, and l, to avoid confusion.

The addresses that ByteCoin is talking about were clearly not produced by hashing a public key.  The chances of producing recognizable text like that in a bitcoin address are so incredibly small as to be practically impossible.

So those addresses were just typed in by somebody and the hash applied to the end (which is the random-looking stuff at the end).

ByteCoin is right in that the addresses are valid and contain a single transposition which makes the argument that bitcoin addresses are very difficult to mistype because they use a checksum seem wrong.
ByteCoin
Sr. Member
****
expert
Offline Offline

Activity: 413


View Profile

Ignore
June 23, 2011, 01:13:23 AM
 #18

The addresses that ByteCoin is talking about were clearly not produced by hashing a public key.  The chances of producing recognizable text like that in a bitcoin address are so incredibly small as to be practically impossible.

Indeed the addresses do not have a public key associated with them at the moment or indeed for the foreseeable future.

Most addresses cannot be mistyped into other valid addresses with just the change of one character or one transposition.
I estimate that there's about a 0.1% chance that a given address can be converted into another valid address by substituting just two of the characters, so it's not too much of a risk.

However, given that the checksum ensures that the addresses are 5 or 6 characters longer than an unprotected address, the guarantees that they provide are far from optimal.  It would be better to employ an error correcting code designed to detect and correct substitutions, insertions, deletions and adjacent character transpositions. It's reasonable to imagine that equally protected addresses using the new scheme might be two characters shorter.

It would be an interesting problem to determine which of the bitcoin addresses with known public keys or holding a significant balance are most vulnerable to being mistyped.

ByteCoin


tschaboo
Jr. Member
*
Offline Offline

Activity: 42


View Profile

Ignore
June 24, 2011, 12:34:28 AM
 #19

It would be better to employ an error correcting code designed to detect and correct substitutions, insertions, deletions and adjacent character transpositions. It's reasonable to imagine that equally protected addresses using the new scheme might be two characters shorter.

That's a very nice idea. Although I would not aim for a correcting but just a detecting code. As long as the code is shorter than the address itself there is always a chance that the correction is wrong. And you don't want your client to correct to a wrong address. Never ever. But reducing the risk of a mistype being accepted by the client would be very welcome.

1AZNkFqcm2AK6wrMauNoVT4ZJGrYMrv2Yo
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!