Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: Phinnaeus Gage on November 05, 2012, 04:42:17 PM



Title: Bitcoin Vanity Addresses Revisited
Post by: Phinnaeus Gage on November 05, 2012, 04:42:17 PM
I'm sure this has been addressed before, but why can't some entity devise a service that allows somebody to generated their own Bitcoin vanity address, something along the lines of how FirstBits does it? That way the average Joe isn't stuck with something like 15cULo1jnCreXk8xGrvyRkSb7PtMbGFwbd (not real).

Examply:

Barnwood Naturals LLC has a domain located at http://www.barnwoodnaturals.com/. They put in a lot of time and effort to build their brand and may not be too keen on pasting some generic Bitcoin address onto their sleek looking website or business cards. But if it were possible for them to generate their address like 1BarnwoodNaturalsLLCat5035803900ph (http://www.barnwoodnaturals.com/), which upon clicking (or inserting) redirects to their real address, no matter how ugly it looks, they may be more inclined to embrace Bitcoin.

In fact, in this case the 1 is not even needed. Nor does the address need to be restricted to exactly 34 characters, although a limit should be set (40?), as well as what other characters can be used (_-*^$()#@, etc.).

If this were possible, then we may be able to see the following:

If paying with Bitcoin, please use BarnwoodNatualsLLC(ph)503-580-3900 (http://blank). (upon clicking, a form is generated showing the actual address for client's records and a place to input their address for payment processing)

Other examples of how the newly created address would look:

TravisSinclair(addy)123ElmRogersParkOH
JonJonInc(ph)555-222-9035
ILovePinkiePieWithAllMyHeart
HomelessJackieOnTheRoad
AmericanEndowmentFoundation(ph)888-440-4233

Design the site so that it's very easy for a person to get their Bitcoin vanity address. The ONLY requirement needed to create their one-of-a-kind address is that they have to already have a real Bitcoin address that has already been used at least once and registered in the Blockchain.

I believe that the more personal Bitcoin is, the more people will embrace and use it.

~Bruno K~


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: Phinnaeus Gage on November 05, 2012, 04:48:29 PM
The site I'm envisioning would have dropdown boxes on the form page. All a person would have to do is insert their chosen or company name, and either address, phone, city, state, etc. (or a finite combination). The address is automatically generated for them and if they like it, they click accept or start over.

Mullen'sBar&Grill(630)505-0299


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: evoorhees on November 05, 2012, 04:51:31 PM
Why wouldn't they just say, "Click here to pay with Bitcoin" and that link would then open up the URI or wallet software? 


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: hamdi on November 05, 2012, 04:51:57 PM
forget that.

vanity as it is, is great.


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: crazy_rabbit on November 05, 2012, 04:54:07 PM
I'm sure this has been addressed before, but why can't some entity devise a service that allows somebody to generated their own Bitcoin vanity address, something along the lines of how FirstBits does it? That way the average Joe isn't stuck with something like 15cULo1jnCreXk8xGrvyRkSb7PtMbGFwbd (not real).

Examply:

Barnwood Naturals LLC has a domain located at http://www.barnwoodnaturals.com/. They put in a lot of time and effort to build their brand and may not be too keen on pasting some generic Bitcoin address onto their sleek looking website or business cards. But if it were possible for them to generate their address like 1BarnwoodNaturalsLLCat5035803900ph (http://www.barnwoodnaturals.com/), which upon clicking (or inserting) redirects to their real address, no matter how ugly it looks, they may be more inclined to embrace Bitcoin.

In fact, in this case the 1 is not even needed. Nor does the address need to be restricted to exactly 34 characters, although a limit should be set (40?), as well as what other characters can be used (_-*^$()#@, etc.).

If this were possible, then we may be able to see the following:

If paying with Bitcoin, please use BarnwoodNatualsLLC(ph)503-580-3900 (http://blank). (upon clicking, a form is generated showing the actual address for client's records and a place to input their address for payment processing)

Other examples of how the newly created address would look:

TravisSinclair(addy)123ElmRogersParkOH
JonJonInc(ph)555-222-9035
ILovePinkiePieWithAllMyHeart
HomelessJackieOnTheRoad
AmericanEndowmentFoundation(ph)888-440-4233

Design the site so that it's very easy for a person to get their Bitcoin vanity address. The ONLY requirement needed to create their one-of-a-kind address is that they have to already have a real Bitcoin address that has already been used at least once and registered in the Blockchain.

I believe that the more personal Bitcoin is, the more people will embrace and use it.

~Bruno K~


I had thought about a system like that earlier- it's in one of forum posts. The trick is- what does the magic of "upon clicking, a form is generated"? A phone book like DNS? Some sort of hash? It's difficult to say.


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: Phinnaeus Gage on November 05, 2012, 04:58:29 PM
forget that.

vanity as it is, is great.

Yes, but limited from a marketing/branding standpoint.

Why wouldn't they just say, "Click here to pay with Bitcoin" and that link would then open up the URI or wallet software?  

Yes, this too works well, but people may be taken aback when they first encounter a string of foreign digits. With my idea, I can tell somebody on the phone (or in person) to forward payment to Bruno Smith at my phone number. Then they visit the site and insert on the form page my name and phone number and only one address is shown having those inputs.

~Bruno K~


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: Phinnaeus Gage on November 05, 2012, 05:06:47 PM
Quote
I had thought about a system like that earlier- it's in one of forum posts. The trick is- what does the magic of "upon clicking, a form is generated"? A phone book like DNS? Some sort of hash? It's difficult to say.

The only main function of the site to generate and maintain the newly created vanity names, matching them up to actual addresses. It can even be accomplished without logging in, for the user would just send a micropayment to the site proving he has control of that address.

If a user wants to change the Bitcoin address by keep their desired vanity address, they would need to send two micropayments; one from the original and one from the new address.

I'm not sure if I addressed your question(s). I'm just thinking this out on the fly.

~Bruno K~


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: Yankee (BitInstant) on November 05, 2012, 05:11:37 PM
I'm sure you can just port this to an online website: http://nyhm.net/bitcoin/vanity/


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: rxw on November 05, 2012, 05:28:57 PM
So, what your proposing isn't a vanity address in the usual sense (someone spends an unfathomable amount of gpu cycles trying to brute force an actual bitcoin address that meets their criteria), but rather a site where someone can register a string (an "address") and associate with an actual bitcoin address? Then a customer could go to the site to make a payment using just the string?

It seems like a simple enough idea, but like someone said above, I'm not sure what the benefits would be over having a "Click here to pay!" link on a website would be. Also, bitcoin's regular address scheme handles typos with checksums and such, how would this site prevent typos? If Google registered "Google" on the site, what's to stop a scammer from registering "Googel" to point to their own personal bitcoin address?


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: BitPay Business Solutions on November 05, 2012, 05:40:10 PM
using the same address over and over again, whether its a vanity or not, poses problems. 

When a payment comes in, how do you know:

1.  who just paid you?
2.  what is it for?
3.  is it the right amount?

the bitcoin: URI is a good tool for any "click to pay" application, and hidden behind it you can use unique addresses.  Here's an example, click it and see what happens (only works if you have a URI-supported client)

http://lovebitcoins.org/developers.html (http://lovebitcoins.org/developers.html)

here are the URI-supported clients that we know of:

https://bitpay.com/bitcoin-compatible-wallets (https://bitpay.com/bitcoin-compatible-wallets)


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: Phinnaeus Gage on November 05, 2012, 06:09:15 PM
So, what your proposing isn't a vanity address in the usual sense (someone spends an unfathomable amount of gpu cycles trying to brute force an actual bitcoin address that meets their criteria), but rather a site where someone can register a string (an "address") and associate with an actual bitcoin address? Then a customer could go to the site to make a payment using just the string?

It seems like a simple enough idea, but like someone said above, I'm not sure what the benefits would be over having a "Click here to pay!" link on a website would be. Also, bitcoin's regular address scheme handles typos with checksums and such, how would this site prevent typos? If Google registered "Google" on the site, what's to stop a scammer from registering "Googel" to point to their own personal bitcoin address?

Your assessment (in bold above) is correct, but the site doesn't handle any distributions of funds.

From the great comments to date, I may have to rethink this idea a tad. I see that most aspects have been covered in some way or another.

The key idea I was trying to incorporate is the personal aspect via a custom self-generated address.

Please enter your Bitcoin address or BVA below:

______________________________________
| FrankLazoo@(983)401-8872             |
|________________________________|

The BVA matches 15cULo1jnCreXk8xGrvyRkSb7PtMbGFwbd. If this is correct, please press http://www.tteci.com/tteci/images/stories/enter.jpg

The user could even have the option of inputting as much or as little information to coincide with his unique identity.

Or they can attach this to their about me pages on all their social network sites.

Like I've stated, I'm just thinking to the nth degree here.

~Bruno K~

EDIT: MYBVA.ME (mybva.me) is available.


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: 2112 on November 05, 2012, 06:19:28 PM
From the great comments to date, I may have to rethink this idea a tad. I see that most aspects have been covered in some way or another.
Whatever you come up with, you have to remember that phone numbers have country code. If you are going to post any more phone numbers in the format without country code eg. (1)(503)580-3900; +1.503.580-3900; etc. I reserve the right to tease you mercilessly.


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: Phinnaeus Gage on November 05, 2012, 07:59:05 PM
From the great comments to date, I may have to rethink this idea a tad. I see that most aspects have been covered in some way or another.
Whatever you come up with, you have to remember that phone numbers have country code. If you are going to post any more phone numbers in the format without country code eg. (1)(503)580-3900; +1.503.580-3900; etc. I reserve the right to tease you mercilessly.

You are correct, 2112, but I was just showing examples for example sake. If by chance such a site were built, and phone numbers were to become part of vanity addresses, that concern would most likely be addressed.

As far as for the length of a vanity address being maxed at 40(?), the other extreme could easily be 5(?).

Imagine the following BVAs:

BadBear
demonoid
eurovps

Or just a full name:

TerryWright
BobFoote
BeckyLong
EricVonSustern

Hell, an actual domain name could be the BVA:

kens5.com
coachella.com
primitiveshoes.com
crazyforcows.com
bayliner.com
nrafoundation.org


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: SgtSpike on November 05, 2012, 08:13:47 PM
Wasn't this already done by one of those bitcoin banks?  And it wasn't very successful...

Personally, I don't think putting a 3rd party between the one paying and the one receiving is a good idea if the only purpose is to make it look more friendly to the end user.  And if we ARE going to put a 3rd party between the two, at least make it something independently verifiable (like firstbits are).

Ideally, a client should support firstbits right out of the box, and then people could just pay "1barnwood".  That's by far the best "user friendly" solution, in my opinion.


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: Pieter Wuille on November 05, 2012, 08:40:51 PM
Sorry, but humans shouldn't ever see a Bitcoin address at all.

In my opinion it is even wrong that we call it an address, as it implies it is a fixed identifier for a destination at which people accept coins. It's just a code for a public key, and if possible, it shouldn't even be reused (*).

Bitcoin addresses should be things like e-mail addresses or URI's, where the actual public key used for the transaction is negotiated and generated on-the-fly.

(*) I know I have a fixed donation address below, which contradicts my idea, but for now it seems no usable alternative is available.


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: Phinnaeus Gage on November 05, 2012, 11:19:04 PM
Wasn't this already done by one of those bitcoin banks?  And it wasn't very successful...

Personally, I don't think putting a 3rd party between the one paying and the one receiving is a good idea if the only purpose is to make it look more friendly to the end user.  And if we ARE going to put a 3rd party between the two, at least make it something independently verifiable (like firstbits are).

Ideally, a client should support firstbits right out of the box, and then people could just pay "1barnwood".  That's by far the best "user friendly" solution, in my opinion.

Exactly! I wasn't trying to replace firstbits. In fact, it's them I wish would consider this option. 1barnwood is a fine example, but more looking like this: BarnWood.

Quote
Firstbits makes Bitcoin addresses easy to remember and share. A firstbits address uniquely identifies a Bitcoin address, usually in less than 7 characters. (http://www.firstbits.com/about.php)

I'm still going to put some more thought into this idea. Thanks to all who've commented to date.

~Bruno K~


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: Gabi on November 07, 2012, 11:41:07 AM
Quote
15cULo1jnCreXk8xGrvyRkSb7PtMbGFwbd
culo means ass in italian  ;D


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: nibor on November 07, 2012, 11:58:56 AM

See: https://bitcoinvanity.appspot.com

Will display firstbits at bottom of screen if available.


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: TalkingAntColony on November 07, 2012, 04:32:33 PM
A company could run a website that acts as an address lookup/registry service. It would work like this:

 - For a small BTC fee, users can register a string to a BTC address (or pool of BTC addresses)

 - A pool of strings can be pointed to a pool of BTC addresses, with random or sequential selection. One time BTC address use can also work. Ex. Google can direct "Google," "Googel," etc to a pool of one-time use BTC addresses. They must replenish the pool if it runs out. Site could auto-generate addresses but that requires some trust.

 - (Optional) If user pays fee with the registered BTC address, the account is "verified." This can be used to display some sort of notification to payers

 - A simple API allows apps to do an address lookup (forward or reverse) and receive an XML reply. The reply could optionally be signed by the priv key of BTC address owner to eliminate trust issues (prevents site from inserting wrong address, would require publishing pub key of the address).

- The API functionality would also need to be available through the website.

 - Fees would be in place for associating a new string. There could be some pricing structure for bulk string association. Expiration and renewal fees would be needed as well to mitigate squatting. The goal would be to make it cheap for someone to register and hold a few dozen strings, but expensive to register hundreds or more.

 - The site could also be used for QR code, Facebook, Twitter, etc association.

 - The business model would likely benefit from a freemium system. Ex user can register one string to one address for free that expires after some time. If they want more or want to do a pool of strings -> pool of addresses, they need to pay for the registry.

That's all I can think of now but it seems like if someone invested the time to develop it, they would have a good chance of profitability as well as contributing a valuable tool to the BTC community.


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: SgtSpike on November 07, 2012, 04:38:33 PM
Someone tried making a service almost exactly like that before, TalkingAntColony.  It wasn't very popular.  Who knows, maybe if it was done today, it would be popular?


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: Digigami on March 02, 2013, 07:52:08 AM
Sorry to dig up a bit of a dusty thread, I found this one after I was thinking about vanity addresses and where else that could lead and I had a thought..


I remember reading that you can send bitcoins directly to an IP address, without prior knowledge of the recipients BTC addresses. The send to IP TX requests a fresh BTC address from the receiving client and then sends coins to that address.

I can't remember if this is where I actually read this the first time, but I found it again in one of Satoshi's own posts here https://bitcointalk.org/index.php?topic=8.0

Since this is was back in the days of version 0.2 I am uncertain if it still applies to the Satoshi client today, else this idea is already dead. I don't know how you can send to IP addresses from the Satoshi client, and have never heard of people using this so if anyone knows any more information that would be appriciated. I'm also no network engineer nor programmer, so I have no idea if there are any serious technical flaws with this idea. If I'm way off here then I'd be interested in a fairly simplified explanation of why it would not work the way I see it.

Say Amazon.com decides to start accepting BTC, they could either setup themselves, or have someone(payment processor?) host for them a server with a dedicated IP running the company's receiving wallet. Have the subdomain btc.amazon.com or paybtc.amazon.com or bitcoin.amazom.com resolve to the applicable IP address for their BTC client server.

Assuming a merchant is savvy enough and chose to operate their own wallet server along with their website, the experience would be something like this. A customer loads a shopping cart, selects pay with bitcoin. To checkout they are given their amount due and a click able link to the relevant vanity address of btc.amazon.com instead of displayed a BTC address. The merchant system monitors the wallet or is notified when payment of the correct amount is received. Since specific receiving addresses aren't available before the transaction to easily associate payments with invoices, the merchant system should be aware of open/pending transactions at the time, and if the amount payable is the same as existing transactions then to increment or discount the amount by a satoshi or two so that the payments are distinguishable.

Client side; If it is possible to have a link which inputs a BTC address into existing client software, then I would think it would not be too difficult to update them to also support direct linking to merchant payment URLs, resolve and pay to the merchants IP. In the same way, I would think web based or 3rd party provided wallet systems would be able and happy to add support for paying to URL/IP.

Finally in the instance of merchants not wanting to deal with clients and wallets, and those who don't want coins at all but instant conversions to fiat things would be a little more complicated. This is where the payment processors would need some ingenuity. What the system would boil down to is that for every merchant, they will require a unique IP with port 8333 forwarded and running that merchants own incoming wallet. You could use a systems with multiple VM's running, one for each merchant, but scaling would be horrible. I am pretty much stuck here. If there was a way to have a single custom client which could manage many wallets at the same time, and somehow could listen on just as many IP addresses at the same time for incoming transactions then this maybe could be created?

Phinn you seem to have a lot of good ideas from what I've read so I thought maybe you'd appriciate this one too..

I've thought about address vanity often. Nearly every non technical person I have introduced to Bitcoin has found the BTC addresses awkward and confusing, so I see it as a bit of a barrier to increased adoption and something we should continue to think about and work on. I'd love to hear peoples comments on this.

- Digigami


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: TheButterZone on March 02, 2013, 08:48:33 AM
gmaxwell in #bitcoin just now: "the feature is long gone and removed."


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: Digigami on March 02, 2013, 09:00:59 AM
Dammit  :'( well, thanks for letting me know.. thought just maybe I was onto something for a change  ;D


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: BkkCoins on March 02, 2013, 09:39:19 AM
I'm sure this has been addressed before, but why can't some entity devise a service that allows somebody to generated their own Bitcoin vanity address, something along the lines of how FirstBits does it? That way the average Joe isn't stuck with something like 15cULo1jnCreXk8xGrvyRkSb7PtMbGFwbd (not real).
I created a web site for this and have all the code tested (mostly) and ready to go. I did this about 6 months ago and polled interest on the forums. Nobody was really interested and I didn't want to pay to host the site so I've just let it R.I.P for now. It's here for the person who wants to take it live and make a business out of it - for some deal/consideration.

My code is written in Python to run on a WSAPI server. It stores info in a MySql database and connects to a GPU backend running a customized version of VanityGen to generate addresses. Users login with an userid/passphrase that generates a "login key" which to identify them. This is used as an in-browser key for the vanity address requests. They type in their requested prefix, qty desired, get a price quote in BTC, and one click adds it to a queue for generation. When done (some time from seconds to hours later depending on difficulty) they can click a link and get download their addresses. The addresses are downloaded and combined with the in-browser login key to provide the user with the final private keys (in several format choices: sql, html,csv,json). So the server never knows the private keys of the user (third party gen option in Vanitygen).  It has an Electrum deterministic wallet to accept payments (cold, offline) and update the work queue.

I even own VanityCoin.com as I thought that was a nice sounding domain for it. General consensus was people wouldn't pay money for addresses, and I didn't want to invest a lot. But advertising revenue may make it workable.

That's the basics but I can explain more to anyone interested.


Title: Re: Bitcoin Vanity Addresses Revisited
Post by: BkkCoins on March 02, 2013, 09:56:06 AM
Dammit  :'( well, thanks for letting me know.. thought just maybe I was onto something for a change  ;D
This would be fairly easy to do outside of the client using, eg. Electrum. There is already example code for a web server wallet and I wrote a Python script for handling payments. The only difference is that instead of using a bitcoin IP address to request an address you request it from a web server IP (or URL) and get an address. With Electrum such an address would be deterministic so that the server providing addresses never needs access to the wallet to update the addresss/keys. It uses a MPK (master public key) that is safe and gens new addresses from that but is not able to spend (since the seed is safely offline somewhere else).

If this is unclear or you want to know how to set that up just ask...