Gavin Andresen (OP)
Legendary
Offline
Activity: 1652
Merit: 2301
Chief Scientist
|
|
October 07, 2010, 02:05:47 AM Last edit: October 07, 2010, 10:59:10 PM by gavinandresen Merited by OgNasty (50), ABCbits (2) |
|
Attached is a little patch that expands the getnewaddress RPC command so it can try to generate a "vanity" bitcoin address. E.g. I told it to generate an address with "gavin" in it, and it chugged away for an hour or two and came up with: 12kUimDnb1a6oAPifgavinAaxMmLe43UR6 This is recommended for fun and experimentation only; it takes a long time, and while it is trying to find an address with the right string in it no other RPC commands are accepted. Including 'stop'. It'd be kinda cool (and would speed it up a lot) to make it case-insensitive. Or to match to an arbitrary regular expression. Or to make it spin off a separate thread and just return "working...." (and have the thread add the address to the wallet when it is finally found, labeled with the vanity string). Maybe we should have a Best Bitcoin Address contest
|
How often do you get the chance to work on a potentially world-changing project?
|
|
|
Anonymous
Guest
|
|
October 07, 2010, 03:18:49 AM |
|
lol you just invented bitcoin customised number plates!
|
|
|
|
HostFat
Staff
Legendary
Offline
Activity: 4270
Merit: 1209
I support freedom of choice
|
|
October 07, 2010, 04:55:38 AM |
|
Question: does bitcoin own generated addresses? Yes? So you are owning 2 hours of generated addresses that you won't use anytime, I'm correct? Are them a waste of addresses?
|
|
|
|
BioMike
Legendary
Offline
Activity: 1658
Merit: 1001
|
|
October 07, 2010, 05:41:04 AM |
|
Can I use this to generate an address like "12kUimDnb1a6oAPifgavinAaxMmLe43UR6"? (I know it will take ages to do.) Or are there limitations to the address? Nice addresses that contain: "SendBitcoinsToBioMike" "ILoveBitcoins"
|
|
|
|
FreeMoney
Legendary
Offline
Activity: 1246
Merit: 1016
Strength in numbers
|
|
October 07, 2010, 06:28:12 AM |
|
It would be cool to add an estimator of the time it will take. It would be cool to see a graph of average time vs number of specified chars. How long did gavin take?
|
Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
|
|
|
caveden
Legendary
Offline
Activity: 1106
Merit: 1004
|
|
October 07, 2010, 07:46:24 AM |
|
Question: does bitcoin own generated addresses? Yes? So you are owning 2 hours of generated addresses that you won't use anytime, I'm correct? Are them a waste of addresses?
As far as I understand, there is no "waste" of addresses. Anyone can by chance generate one of the addresses that he discarded during the process. If in the process he was saving each attempt, then there would be two owners of a same address. The chance of this happening is so remote, that there is no reason to worry. (I guess)
|
|
|
|
BioMike
Legendary
Offline
Activity: 1658
Merit: 1001
|
|
October 07, 2010, 07:57:08 AM |
|
Or are there limitations to the address?
From the source: If [vanity] is specified, is less than 10 characters, and is all valid base58 characters, then an address containing that string is generated.
|
|
|
|
jgarzik
Legendary
Offline
Activity: 1596
Merit: 1100
|
|
October 07, 2010, 08:09:37 AM |
|
|
Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own. Visit bloq.com / metronome.io Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
|
|
|
Gavin Andresen (OP)
Legendary
Offline
Activity: 1652
Merit: 2301
Chief Scientist
|
|
October 07, 2010, 02:02:34 PM |
|
RE: "wasting" addresses: caveden is right, this patch generates and throws away lots and lots of potential bitcoin addresses. But there are 2^160 possible bitcoin addresses, which is a really, really big number. The chances of BioMike generating an address that matches my "gavin" address before we're all dead is approximately zero. And davidonpda: I haven't tried to figure out how long 10 characters would take-- it is exponential in the number of characters, so 10 characters would probably take years...
|
How often do you get the chance to work on a potentially world-changing project?
|
|
|
BioMike
Legendary
Offline
Activity: 1658
Merit: 1001
|
|
October 07, 2010, 02:34:07 PM |
|
And davidonpda: I haven't tried to figure out how long 10 characters would take-- it is exponential in the number of characters, so 10 characters would probably take years...
That's what I thought... just wanted to make sure before I started. davidonpda is 10 and will probably never get there haha! Or, you're very, very, very lucky.
|
|
|
|
Gavin Andresen (OP)
Legendary
Offline
Activity: 1652
Merit: 2301
Chief Scientist
|
|
October 07, 2010, 03:12:22 PM |
|
That's what I thought... just wanted to make sure before I started. davidonpda is 10 and will probably never get there haha!
But if it supported regular expressions "david.*on.*pda" would probably be found in a reasonable amount of time... Of course, if you were unlucky it'd find something like 1davidSpoonLApdaDDY13iu8 (not a real bitcoin address)
|
How often do you get the chance to work on a potentially world-changing project?
|
|
|
ByteCoin
|
|
October 07, 2010, 05:18:06 PM Last edit: October 07, 2010, 05:28:14 PM by ByteCoin |
|
lol you just invented bitcoin customised number plates!
I believe I was the first. See the following post I also have the ability to generate useful novelty BitCoin addresses. The best one for me so far is 1ByteCosnsUNJun4KL3HSt1NfFdXpzoRTy (pesky s)
If there is a demand for it, I might be tempted to start a webservice like the faucet where people can buy vanity addresses for a small bitcoin fee. I have a simple handshake scheme which allows me to generate a new address for you without me finding out your private key. My method sounds like it's faster than Gavin's and mathematically it's non-trivial. It can find addresses containing a short string like "gavin" in a fraction of a second for example. ByteCoin
|
|
|
|
FreeMoney
Legendary
Offline
Activity: 1246
Merit: 1016
Strength in numbers
|
|
October 07, 2010, 10:52:57 PM |
|
lol you just invented bitcoin customised number plates!
I believe I was the first. See the following post I also have the ability to generate useful novelty BitCoin addresses. The best one for me so far is 1ByteCosnsUNJun4KL3HSt1NfFdXpzoRTy (pesky s)
If there is a demand for it, I might be tempted to start a webservice like the faucet where people can buy vanity addresses for a small bitcoin fee. I have a simple handshake scheme which allows me to generate a new address for you without me finding out your private key. My method sounds like it's faster than Gavin's and mathematically it's non-trivial. It can find addresses containing a short string like "gavin" in a fraction of a second for example. ByteCoin I am surprised, I wouldn't think an improvement that extreme would be possible. Your algorithm must still take exponential time as chars increase right?
|
Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
|
|
|
Gavin Andresen (OP)
Legendary
Offline
Activity: 1652
Merit: 2301
Chief Scientist
|
|
October 07, 2010, 11:05:30 PM |
|
ByteCoin: cool! Are you finding alternative public keys for a given ECC private key? (are there multiple public keys for a given private ECC key??? I know very little about elliptic curve cryptography)
And to all: I couldn't resist, I updated the patch so it can search for a regular expression and so it starts a separate thread and doesn't monopolize the RPC thread. My machine is busy looking for a bitcoin address that matches '^1Gavin' right now.
|
How often do you get the chance to work on a potentially world-changing project?
|
|
|
ByteCoin
|
|
October 07, 2010, 11:39:10 PM |
|
ByteCoin: cool! Are you finding alternative public keys for a given ECC private key? (are there multiple public keys for a given private ECC key??? I know very little about elliptic curve cryptography)
The maths fundamentally does allow this under certain circumstances but a good implementation checks for it and only accepts the "normal" form. I imagine that the library does a good job and, even if it didn't, a patch would rapidly end such tricks. My method involves laboriously generating billions of new addresses every second - but how to do that best requires some thought. There's no way of distinguishing between my novelty addresses and just being very lucky when generating a normal address. I am surprised, I wouldn't think an improvement that extreme would be possible. Your algorithm must still take exponential time as chars increase right?
Sadly yes. If you guys want a small number of novelty addresses and are prepared to pay handsomely for them then I can generate some "manually". If there's deeper demand then I will look into automating the process but it would take a lot longer to set up. What would people pay for having the first novelty address starting with "1" and followed by the characters of their choice? ByteCoin
|
|
|
|
Xunie
|
|
October 13, 2010, 02:46:01 PM |
|
I would love a regular expression functionality, I vote for PCRE and POSIX ERE functionality! in that order.
|
Ignore this: 734d417914faa443d74e8205f639dfb0f79fdc44988ecae44db31e5636525afe
Caffeinism -- a toxic condition caused by excessive ingestion of coffee and other caffeine-containing beverage.
|
|
|
sandos
Sr. Member
Offline
Activity: 440
Merit: 250
#SWGT CERTIK Audited
|
|
October 20, 2010, 10:30:37 AM |
|
leet-speak might help with finding things a bit quicker: http://en.wikipedia.org/wiki/LeetIt would basically be a automatically applied transformation from regular text to a regexp which includes the leet-character alternatives. Mostly the numeric ones that are usable I imagine.
|
|
|
|
FreeMoney
Legendary
Offline
Activity: 1246
Merit: 1016
Strength in numbers
|
|
October 20, 2010, 11:14:00 AM |
|
leet-speak might help with finding things a bit quicker: http://en.wikipedia.org/wiki/LeetIt would basically be a automatically applied transformation from regular text to a regexp which includes the leet-character alternatives. Mostly the numeric ones that are usable I imagine. Haha, clever.
|
Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
|
|
|
grondilu
Legendary
Offline
Activity: 1288
Merit: 1080
|
|
October 20, 2010, 07:07:44 PM |
|
IllSend1000BTCtoWhoEvrMakesDisAddr Good luck More seriously, I think this app is useless, but very much fun. I'm looking forward to see a stable version.
|
|
|
|
Gavin Andresen (OP)
Legendary
Offline
Activity: 1652
Merit: 2301
Chief Scientist
|
|
October 20, 2010, 07:22:17 PM |
|
IllSend1000BTCtoWhoEvrMakesDisAddr
Awww, even replacing the lower-case-l's with 1's it ain't right: $ bitcoind validateaddress I11Send1000BTCtoWhoEvrMakesDisAddr { "isvalid" : false }
|
How often do you get the chance to work on a potentially world-changing project?
|
|
|
|