Pages:
Author

Topic: how to make custom address without private key ? (Read 2250 times)

newbie
Activity: 6
Merit: 0
So in order to create custom address such as 1CUSTOMADDRESSXXX... , randomly generate addresses and find the matched one is only way.

That depends.

If you want an address that can receive bitcoins, but nobody will ever be able to spend any of those bitcoins at all, then you can start with the characters that you want "CUSTOMADDRESSXXX...", put a 1 in front of it, and calculate the checksum.

Voila, you have a valid bitcoin address, and any bitcoins sent to the address are permanently unspendable.


If you want an address that can receive bitcoins, and you want to be able to spend the bitcoins that are received at that address, then you must randomly generate addresses from private keys and compare the resulting addresses to the string that you want until you get lucky and stumble across an address with a string you want.

Voila, you have a valid bitcoin address, and you can spend the bitcoins received at the address.

Note:  It is impossible to create your example address.  The letter O is not a valid bitcoin base58 character.  If you use the number 0 instead of the letter O, then the resulting address would be valid: CUST0MADDRESSXXX...

Thank you, I understand crearly, and I have made!
newbie
Activity: 22
Merit: 0
why would anyone want to make such address. there are lots of good things u CA do with spare cash u don't need.
legendary
Activity: 3472
Merit: 4801
So in order to create custom address such as 1CUSTOMADDRESSXXX... , randomly generate addresses and find the matched one is only way.

That depends.

If you want an address that can receive bitcoins, but nobody will ever be able to spend any of those bitcoins at all, then you can start with the characters that you want "CUSTOMADDRESSXXX...", put a 1 in front of it, and calculate the checksum.

Voila, you have a valid bitcoin address, and any bitcoins sent to the address are permanently unspendable.


If you want an address that can receive bitcoins, and you want to be able to spend the bitcoins that are received at that address, then you must randomly generate addresses from private keys and compare the resulting addresses to the string that you want until you get lucky and stumble across an address with a string you want.

Voila, you have a valid bitcoin address, and you can spend the bitcoins received at the address.

Note:  It is impossible to create your example address.  The letter O is not a valid bitcoin base58 character.  If you use the number 0 instead of the letter O, then the resulting address would be valid: CUST0MADDRESSXXX...
newbie
Activity: 6
Merit: 0
- snip -
If it's using sha256x2 for checksum confirmation, is it difficult for address generator to guess checksum ?
- snip -

I don't understand the question.

A checksum isn't "guessed", it is calculated.

You start with the 160 bit hash value that you want, then you add the one byte version number to the beginning, then you calculate the sha256 hash of the resulting 21 bytes, then you calculate the sha256 hash of the resulting 32 bytes.  The first 4 bytes of the resulting 32 bytes is the checksum.  No need to "guess" anything.

So in order to create custom address such as 1CUSTOMADDRESSXXX... , randomly generate addresses and find the matched one is only way.
sr. member
Activity: 252
Merit: 250

The address above currently holds 1.95690423 BTC, what a pity... that amount can save many people from hunger



really could  yes. And surely leave many boys (who nothing to eat) very happy.
hero member
Activity: 910
Merit: 1000
- snip -
If it's using sha256x2 for checksum confirmation, is it difficult for address generator to guess checksum ?
- snip -

I don't understand the question.

A checksum isn't "guessed", it is calculated.

You start with the 160 bit hash value that you want, then you add the one byte version number to the beginning, then you calculate the sha256 hash of the resulting 21 bytes, then you calculate the sha256 hash of the resulting 32 bytes.  The first 4 bytes of the resulting 32 bytes is the checksum.  No need to "guess" anything.

Cool. That was a clear way of explaining it. I totally got the concept now and it makes a lot of sense. Smiley
legendary
Activity: 1260
Merit: 1003
I always found the idea of black holes or coin-eating addresses interesting. I know they have been used in 'legit' or 'useful' purposed as a proof-of-burn to issue an altcoin, but the mere act of sending BTC to such an address always reminds me of the Joker!
Proof of burn is like a lottery ticket, because you can burn lots of coins for nothing if you don't have luck. Tongue
legendary
Activity: 3472
Merit: 4801
- snip -
If it's using sha256x2 for checksum confirmation, is it difficult for address generator to guess checksum ?
- snip -

I don't understand the question.

A checksum isn't "guessed", it is calculated.

You start with the 160 bit hash value that you want, then you add the one byte version number to the beginning, then you calculate the sha256 hash of the resulting 21 bytes, then you calculate the sha256 hash of the resulting 32 bytes.  The first 4 bytes of the resulting 32 bytes is the checksum.  No need to "guess" anything.
newbie
Activity: 6
Merit: 0
- snip -
what is the rate of {valid base58check address} / { 33 powers of 58 }, please tell me how to calculate.?

Base58check bitcoin addresses are based on a 160 bit hash (RIPEMD-160).  If we assume that the results of the hash are evenly distributed and that all values between 0 and 2160 are possible as hash outputs, then the total number of valid base58check addresses are 2160 = 1.462X1048

33 powers of 58 would be: 5833 = 1.56X1058

Therefore,
1.462X1048 / 1.56X1058 = 9.369X10-11

The reason for the ratio is that a bitcoin address has a 1 byte version number at the beginning (typically a 1) and 4 byte of checksum at the end.

4 byte checksum = 32 bits of binary data

1 / 232 = 2.328X10-10

If you remove the checksum from your calculations (since it is entirely dependent on the rest of the address) the calculation looks more like:

2160 / ( 5833 / 232 ) = 0.4024

I suspect that this ratio is why addresses tend to begin with certain letters more often than others.




Thank you for nice calculation with detailed explanation, but about the 4 bytes checksum can be guessed by address generator ?
I'm now looking bitcoinjs-lib, but I don't understand this function meaning below.
If it's using sha256x2 for checksum confirmation, is it difficult for address generator to guess checksum ?

this function is here. /node_modules/bitcoinjs-lib/node_modules/bs58check/src/bs58check.js
function decode(string) {
  var buffer = new Buffer(base58.decode(string))

  var payload = buffer.slice(0, -4)
  var checksum = buffer.slice(-4)
  var newChecksum = sha256x2(payload).slice(0, 4)

  assert.deepEqual(newChecksum, checksum, 'Invalid checksum')

  return payload
}
thank you.
sr. member
Activity: 350
Merit: 250
Honest 80s business!
I always found the idea of black holes or coin-eating addresses interesting. I know they have been used in 'legit' or 'useful' purposed as a proof-of-burn to issue an altcoin, but the mere act of sending BTC to such an address always reminds me of the Joker!
legendary
Activity: 1260
Merit: 1003
Why do people send coins to that address?
I don't know, but it's more money for us. Grin
I remember a user who thinks Bitcoin will fail, he said he sent all coins to one of those addresses from mining in 2011.
Thanks, anonymous user. Grin

For the moment I know these two Bitcoin black holes:
https://blockchain.info/address/1111111111111111111114oLvT2 (2 BTC)
https://blockchain.info/address/1BitcoinEaterAddressDontSendf59kuE (3 BTC)

Also, here is a small one:
http://blockexplorer.com/address/11111111111111111111BZbvjr (0.01 BTC)

With the Hash 160 you can fin more small black holes:
https://blockchain.info/address/0000000000000000000000000000000000000005

Interesting. But are they really generated without private keys? Or are the private keys simply destroyed? I thought public base58 addresses were derived from the private key. I could very well be wrong.
If you create a address from a private key, the result is a random string.
Vanity addresses are produced trying lots of random private keys, and the result is that only a few characters aren't random data.
hero member
Activity: 770
Merit: 500
I think bitcoinaddress.org can do it.
unfortunately bitaddress.org also creating vanity addresses with private keys only Tongue
legendary
Activity: 3472
Merit: 4801
- snip -
what is the rate of {valid base58check address} / { 33 powers of 58 }, please tell me how to calculate.?

Base58check bitcoin addresses are based on a 160 bit hash (RIPEMD-160).  If we assume that the results of the hash are evenly distributed and that all values between 0 and 2160 are possible as hash outputs, then the total number of valid base58check addresses are 2160 = 1.462X1048

33 powers of 58 would be: 5833 = 1.56X1058

Therefore,
1.462X1048 / 1.56X1058 = 9.369X10-11

The reason for the ratio is that a bitcoin address has a 1 byte version number at the beginning (typically a 1) and 4 byte of checksum at the end.

4 byte checksum = 32 bits of binary data

1 / 232 = 2.328X10-10

If you remove the checksum from your calculations (since it is entirely dependent on the rest of the address) the calculation looks more like:

2160 / ( 5833 / 232 ) = 0.4024

I suspect that this ratio is why addresses tend to begin with certain letters more often than others.


sr. member
Activity: 294
Merit: 250

The address above currently holds 1.95690423 BTC, what a pity... that amount can save many people from hunger

legendary
Activity: 1876
Merit: 1475
I tried to make custom address without private key, I found vanitygen, but it will make address and private key,  is it possible to make such a custom address without private key by base58check sum ?

And if possible what is the capability to make such a kind of arbitrary address ?
thank you.


Do you mean a custom burning address like 1CounterpartyXXXXXXXXXXXXXXXUWLpVr?

You can do it using Bitcoin Address Utility
https://casascius.wordpress.com/2013/01/26/bitcoin-address-utility/

Edit
- Install the utility
- Tools > Base58 calculator
- Enter the first characters in Base58. Example "1EcuaMobiDoNotSendBTCHereXX". It should have a length of 34 chars.
- Replace the last character with ? until Hex shows actual hex characters
- When that happens make a little change in Hex, like removing a space, so Base58 is re-calculated
- The address is generated, Ex: 1EcuaMobiDoNotSendBTCHereXXYcbk8Da

thank you for sharing good tool.I tried but I can't do it manually, but even by code it takes so many tries.
what is the rate of {valid base58check address} / { 33 powers of 58 }, please tell me how to calculate.?

There are 32 bits of validation, so 1/2^32

Check this https://en.bitcoin.it/wiki/Base58Check_encoding

legendary
Activity: 1876
Merit: 1475
Why do people send coins to that address?
I don't know, but it's more money for us. Grin
I remember a user who thinks Bitcoin will fail, he said he sent all coins to one of those addresses from mining in 2011.
Thanks, anonymous user. Grin

For the moment I know these two Bitcoin black holes:
https://blockchain.info/address/1111111111111111111114oLvT2 (2 BTC)
https://blockchain.info/address/1BitcoinEaterAddressDontSendf59kuE (3 BTC)

Also, here is a small one:
http://blockexplorer.com/address/11111111111111111111BZbvjr (0.01 BTC)

With the Hash 160 you can fin more small black holes:
https://blockchain.info/address/0000000000000000000000000000000000000005

Interesting. But are they really generated without private keys? Or are the private keys simply destroyed? I thought public base58 addresses were derived from the private key. I could very well be wrong.

Those addresses are generated without a private key. So it's safe to say nobody will ever withdraw from those accounts.

Creating a private key for a vanity address that long would be almost as hard as trying to find the private key of an arbitrary address with balance.

hero member
Activity: 910
Merit: 1000
Why do people send coins to that address?
I don't know, but it's more money for us. Grin
I remember a user who thinks Bitcoin will fail, he said he sent all coins to one of those addresses from mining in 2011.
Thanks, anonymous user. Grin

For the moment I know these two Bitcoin black holes:
https://blockchain.info/address/1111111111111111111114oLvT2 (2 BTC)
https://blockchain.info/address/1BitcoinEaterAddressDontSendf59kuE (3 BTC)

Also, here is a small one:
http://blockexplorer.com/address/11111111111111111111BZbvjr (0.01 BTC)

With the Hash 160 you can fin more small black holes:
https://blockchain.info/address/0000000000000000000000000000000000000005

Interesting. But are they really generated without private keys? Or are the private keys simply destroyed? I thought public base58 addresses were derived from the private key. I could very well be wrong.
full member
Activity: 196
Merit: 100
I think bitcoinaddress.org can do it.
Bitcoinaddress.org allows users to generate a paper wallet which is like your typical Bitcoin address, tied to a private key.
newbie
Activity: 6
Merit: 0
I tried to make custom address without private key, I found vanitygen, but it will make address and private key,  is it possible to make such a custom address without private key by base58check sum ?

And if possible what is the capability to make such a kind of arbitrary address ?
thank you.


Do you mean a custom burning address like 1CounterpartyXXXXXXXXXXXXXXXUWLpVr?

You can do it using Bitcoin Address Utility
https://casascius.wordpress.com/2013/01/26/bitcoin-address-utility/

Edit
- Install the utility
- Tools > Base58 calculator
- Enter the first characters in Base58. Example "1EcuaMobiDoNotSendBTCHereXX". It should have a length of 34 chars.
- Replace the last character with ? until Hex shows actual hex characters
- When that happens make a little change in Hex, like removing a space, so Base58 is re-calculated
- The address is generated, Ex: 1EcuaMobiDoNotSendBTCHereXXYcbk8Da

thank you for sharing good tool.I tried but I can't do it manually, but even by code it takes so many tries.
what is the rate of {valid base58check address} / { 33 powers of 58 }, please tell me how to calculate.?
legendary
Activity: 3472
Merit: 10611
Why do people send coins to that address? I remember a user who thinks Bitcoin will fail, he said he sent all coins to one of those addresses from mining in 2011.
yeah, that is pretty weird and stupid in my opinion. why would someone destroy something that can be stored with no problem and "might" be worth something sometime.
besides if i want to do something like this i would do a giveaway not throw away!
Pages:
Jump to: