Pages:
Author

Topic: Bitcoin Vanity Addresses Revisited (Read 2554 times)

hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
March 02, 2013, 04:56:06 AM
#25
Dammit  Cry well, thanks for letting me know.. thought just maybe I was onto something for a change  Grin
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...
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
March 02, 2013, 04:39:19 AM
#24
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.
sr. member
Activity: 462
Merit: 250
March 02, 2013, 04:00:59 AM
#23
Dammit  Cry well, thanks for letting me know.. thought just maybe I was onto something for a change  Grin
legendary
Activity: 3038
Merit: 1032
RIP Mommy
March 02, 2013, 03:48:33 AM
#22
gmaxwell in #bitcoin just now: "the feature is long gone and removed."
sr. member
Activity: 462
Merit: 250
March 02, 2013, 02:52:08 AM
#21
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://bitcointalksearch.org/topic/repost-how-anonymous-are-bitcoins-8

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
legendary
Activity: 1400
Merit: 1005
November 07, 2012, 11:38:33 AM
#20
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?
member
Activity: 62
Merit: 10
November 07, 2012, 11:32:33 AM
#19
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.
sr. member
Activity: 438
Merit: 291
November 07, 2012, 06:58:56 AM
#18

See: https://bitcoinvanity.appspot.com

Will display firstbits at bottom of screen if available.
legendary
Activity: 1148
Merit: 1008
If you want to walk on water, get out of the boat
November 07, 2012, 06:41:07 AM
#17
Quote
15cULo1jnCreXk8xGrvyRkSb7PtMbGFwbd
culo means ass in italian  Grin
legendary
Activity: 1918
Merit: 1570
Bitcoin: An Idea Worth Spending
November 05, 2012, 06:19:04 PM
#16
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

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

~Bruno K~
legendary
Activity: 1072
Merit: 1181
November 05, 2012, 03:40:51 PM
#15
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.
legendary
Activity: 1400
Merit: 1005
November 05, 2012, 03:13:47 PM
#14
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.
legendary
Activity: 1918
Merit: 1570
Bitcoin: An Idea Worth Spending
November 05, 2012, 02:59:05 PM
#13
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
legendary
Activity: 2128
Merit: 1073
November 05, 2012, 01:19:28 PM
#12
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.
legendary
Activity: 1918
Merit: 1570
Bitcoin: An Idea Worth Spending
November 05, 2012, 01:09:15 PM
#11
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

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.
hero member
Activity: 742
Merit: 500
November 05, 2012, 12:40:10 PM
#10
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

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

https://bitpay.com/bitcoin-compatible-wallets
rxw
newbie
Activity: 49
Merit: 0
November 05, 2012, 12:28:57 PM
#9
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?
legendary
Activity: 1078
Merit: 1000
Charlie 'Van Bitcoin' Shrem
November 05, 2012, 12:11:37 PM
#8
I'm sure you can just port this to an online website: http://nyhm.net/bitcoin/vanity/
legendary
Activity: 1918
Merit: 1570
Bitcoin: An Idea Worth Spending
November 05, 2012, 12:06:47 PM
#7
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~
legendary
Activity: 1918
Merit: 1570
Bitcoin: An Idea Worth Spending
November 05, 2012, 11:58:29 AM
#6
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~
Pages:
Jump to: