Bitcoin Forum
March 19, 2024, 05:29:46 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 »
  Print  
Author Topic: Vanity Pool - vanity address generator pool  (Read 147172 times)
ThePiachu (OP)
Sr. Member
****
Offline Offline

Activity: 444
Merit: 307



View Profile WWW
June 01, 2012, 02:53:57 AM
Last edit: October 26, 2013, 10:42:34 PM by ThePiachu
Merited by EFS (24), ABCbits (2), Timelord2067 (1), th3nolo (1)
 #1

I've implemented a sort of "mining pool" for creating vanity addresses with zero needed trust. As to how it is possible, check out these links:

https://bitcointalk.org/index.php?topic=81865.msg901491#msg901491
http://bitcoin.stackexchange.com/q/3853/323

The main pool is running at:
http://vanitypool.appspot.com/

And you might also want to check out:
http://gobittest.appspot.com/VanityAll
https://en.bitcoin.it/wiki/Bitcoin_Address_Utility

So, onwards with the explanations:

The idea is, that you can generate a vanity address without even knowing what private key it will actually belong to. One party grabs a random ECDSA keypair and saves the private key for themselves. They later can issue a request for a vanity address to be created, by supplying the public key form that keypair, their desired pattern and so forth. A person takes with looking for the vanity address is required to brute force random ECDSA private keys, get their corresponding public keys, add them to the provided public key, and proceed normally with SHA, RIPEMD and base58 until they receive the desired pattern. Then they give the private key they found to the first person, which adds the two private keys in order to get their vanity address. The best thing about it - the person looking for the solution won't know what the resulting private key is! This means that you can outsource your vanity key generation without needing to trust any third party.

An example (available from gobittest website):
We have a private key:
18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725
which maps to public key:
0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A 299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6

and say we want to find a pattern "166". One of the solutions takes a form of a private key
B18427B169E86DE681A1A62588E1D02AE4A7E83C1B413849989A76282A7B562F
mapping to public key:
049C95E0949E397FACCECF0FE8EAD247E6FD082717E4A4A876049FB34A9ADED110DFEA2EF691CC4 A1410498F4C312F3A94318CD5B6F0E8E92051064876751C8404

If we add the two public keys (like the person looking for the solution would do), we get a public key:
0436970CE32E14DC06AC50217CDCF53E628B32810707080D6848D9C8D4BE9FE461E100E705CCA98 54436A1283210CCEFBB6B16CB9A86B009488922A8F302A27487
which is equivalent to this address:
166ev9JXn2rFqiPSQAwM7qJYpNL1JrNf3h

If we add the two private keys (like the person requesting the address would), we get:
CA65722CD418ED28EC369E36CFE3B7F3CC1CD035BFBF6469CE759FCA30AD6D54
which maps to the same public key as the sum of the public keys, and thus - to the same address.

Since this is a model that requires basically no trust from any party, I've decided to create this "Vanity Pool" to enable people to easily outsource their vanity address creation, as well as enable people wanting to earn some Bitcoins to use their machines for something different from traditional mining.

The main problem currently, is that there is no software to support mining for such split addresses, and combining them offline. If someone wants to commit to creating such a software, it would be great!

For the time being, the website is up for testing only on testnet. From that I can see there are still some bugs in the system, but it should work as expected.

Any comments, suggestions?

EDIT 1:
I've created a simple split vanity miner software in Google Go (if you're wondering why I used this weird language - I've been developing Bitcoin-related apps in it for a year for my master thesis). The source code and a Mac executable is available here:
https://github.com/ThePiachu/Split-Vanity-Miner-Golang
It is quite slow, checking a couple hundred addresses on my old Macbook Pro, but it can solve some reasonably short patterns. The software is streamlined for the vanity pool, you only need to change the given testnet Bitcoin address to yours and it will do most of the work. It fetches work only during the start, so keep that in mind if you want to run it for longer.

EDIT 2:
Main Net version is up.

EDIT 3:
If you want to mine at this pool, please use oclvanityminer created by samr7 (https://bitcointalk.org/index.php?topic=25804).

Also, if you are interested, there is a new bounty for split-key vanity address management software:
https://bitcointalk.org/index.php?topic=117050.0

1HWbVLhxj7bhewhyapMZpyhqWAeAhJd51E
My Bitcoin Calculator:
http://tpbitcalc.appspot.com/
1710826186
Hero Member
*
Offline Offline

Posts: 1710826186

View Profile Personal Message (Offline)

Ignore
1710826186
Reply with quote  #2

1710826186
Report to moderator
Even if you use Bitcoin through Tor, the way transactions are handled by the network makes anonymity difficult to achieve. Do not expect your transactions to be anonymous unless you really know what you're doing.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1710826186
Hero Member
*
Offline Offline

Posts: 1710826186

View Profile Personal Message (Offline)

Ignore
1710826186
Reply with quote  #2

1710826186
Report to moderator
1710826186
Hero Member
*
Offline Offline

Posts: 1710826186

View Profile Personal Message (Offline)

Ignore
1710826186
Reply with quote  #2

1710826186
Report to moderator
1710826186
Hero Member
*
Offline Offline

Posts: 1710826186

View Profile Personal Message (Offline)

Ignore
1710826186
Reply with quote  #2

1710826186
Report to moderator
Tittiez
Hero Member
*****
Offline Offline

Activity: 686
Merit: 500



View Profile
June 01, 2012, 03:28:36 AM
 #2

Great Idea!
Tuxavant
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1000

Bitcoin Mayor of Las Vegas


View Profile WWW
June 01, 2012, 12:38:52 PM
 #3

And a new Bitcoin Business model was born. Where do I invest?

ThePiachu (OP)
Sr. Member
****
Offline Offline

Activity: 444
Merit: 307



View Profile WWW
June 01, 2012, 12:45:05 PM
 #4

And a new Bitcoin Business model was born. Where do I invest?
Donations are always welcome;):

1B98qJ1NT6BNdnGp1fgCshAvWP8i4grdy7

1HWbVLhxj7bhewhyapMZpyhqWAeAhJd51E
My Bitcoin Calculator:
http://tpbitcalc.appspot.com/
Tuxavant
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1000

Bitcoin Mayor of Las Vegas


View Profile WWW
June 01, 2012, 12:51:27 PM
 #5

I mean INVEST... like if you've solved this problem, someone needs to be throwing money at you to buy hardware and further develop this proprietary software for a promise in sharing future profits. Maybe I'm wrong, but I see a big demand for this kind of service as Bitcoin awareness spreads.

ThePiachu (OP)
Sr. Member
****
Offline Offline

Activity: 444
Merit: 307



View Profile WWW
June 01, 2012, 01:04:21 PM
 #6

The pool is running on Google App Engine and my Bitcoind runs on Amazon EC2, so my hardware costs are non-existant. As for software, I probably can create some basic solutions easily enough with enough time and put up some bounties for more sophisticated ones.

I'm generally not that much of a business type, so trying to handle possible investments could only hamper this little project for now. What sort of model of investing did you have in mind?

1HWbVLhxj7bhewhyapMZpyhqWAeAhJd51E
My Bitcoin Calculator:
http://tpbitcalc.appspot.com/
Tuxavant
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1000

Bitcoin Mayor of Las Vegas


View Profile WWW
June 01, 2012, 01:22:05 PM
 #7

I dunno, I'm not much of a business person either. But I would imagine some type of stock issuance would be a start. But that would require some kind of incorporation and like you said, probably a huge hindrance to you at this point.

For now, I'm happy to send you some Bitcoins when I have some time to try out the service.

Meni Rosenfeld
Donator
Legendary
*
expert
Offline Offline

Activity: 2058
Merit: 1054



View Profile WWW
June 01, 2012, 01:25:18 PM
 #8

I mean INVEST... like if you've solved this problem, someone needs to be throwing money at you to buy hardware and further develop this proprietary software for a promise in sharing future profits. Maybe I'm wrong, but I see a big demand for this kind of service as Bitcoin awareness spreads.
Kudos to ThePiachu but it's not like he invented anything new. The theoretical basis for outsourcing vanity address generation has existed for a while and he just started a project to get the ball rolling. One way or another this will end up as a FLOSS platform so there's not much monetization potential.

Looking forward to the advent of compatible miners.

1EofoZNBhWQ3kxfKnvWkhtMns4AivZArhr   |   Who am I?   |   bitcoin-otc WoT
Bitcoil - Exchange bitcoins for ILS (thread)   |   Israel Bitcoin community homepage (thread)
Analysis of Bitcoin Pooled Mining Reward Systems (thread, summary)  |   PureMining - Infinite-term, deterministic mining bond
Tuxavant
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1000

Bitcoin Mayor of Las Vegas


View Profile WWW
June 01, 2012, 01:28:31 PM
 #9

One way or another this will end up as a FLOSS platform so there's not much monetization potential.

There's more to it than software. The key to success for a business venture like this will be the backend hardware that allows for mass production and fulfilment.

Meni Rosenfeld
Donator
Legendary
*
expert
Offline Offline

Activity: 2058
Merit: 1054



View Profile WWW
June 01, 2012, 01:31:29 PM
 #10

One way or another this will end up as a FLOSS platform so there's not much monetization potential.
There's more to it than software. The key to success for a business venture like this will be the backend hardware that allows for mass production and fulfilment.
ThePiachu's point is to create a pool for other miners to participate in, not (or not only) to do the mining himself. Running a mining pool is distinct from running mining hardware, which itself is distinct from developing hardware.

1EofoZNBhWQ3kxfKnvWkhtMns4AivZArhr   |   Who am I?   |   bitcoin-otc WoT
Bitcoil - Exchange bitcoins for ILS (thread)   |   Israel Bitcoin community homepage (thread)
Analysis of Bitcoin Pooled Mining Reward Systems (thread, summary)  |   PureMining - Infinite-term, deterministic mining bond
rjk
Sr. Member
****
Offline Offline

Activity: 448
Merit: 250


1ngldh


View Profile
June 01, 2012, 01:38:25 PM
 #11

This is cool, now all we need is oclvanitygen to support this so that we can use all the video cards that will soon be obsolete now that ASICs are coming along. Grin Grin

Mining Rig Extraordinaire - the Trenton BPX6806 18-slot PCIe backplane [PICS] Dead project is dead, all hail the coming of the mighty ASIC!
ThePiachu (OP)
Sr. Member
****
Offline Offline

Activity: 444
Merit: 307



View Profile WWW
June 01, 2012, 01:50:47 PM
 #12

This is cool, now all we need is oclvanitygen to support this so that we can use all the video cards that will soon be obsolete now that ASICs are coming along. Grin Grin

Well, this might be viable if suddenly a lot of people would want really fancy addresses and they were willing to pay up for them. It probably won't happen, but it might encourage a few people to go for a vanity address that normally wouldn't.

1HWbVLhxj7bhewhyapMZpyhqWAeAhJd51E
My Bitcoin Calculator:
http://tpbitcalc.appspot.com/
Garr255
Legendary
*
Offline Offline

Activity: 938
Merit: 1000


What's a GPU?


View Profile
June 01, 2012, 02:15:20 PM
 #13

Cool! I added a link to this in the OP of my thread.

“First they ignore you, then they laugh at you, then they fight you, then you win.”  -- Mahatma Gandhi

Average time between signing on to bitcointalk: Two weeks. Please don't expect responses any faster than that!
Tittiez
Hero Member
*****
Offline Offline

Activity: 686
Merit: 500



View Profile
June 01, 2012, 02:53:59 PM
 #14

and say we want to find a pattern "166". One of the solutions takes a form of a private key
B18427B169E86DE681A1A62588E1D02AE4A7E83C1B413849989A76282A7B562F
mapping to public key:
049C95E0949E397FACCECF0FE8EAD247E6FD082717E4A4A876049FB34A9ADED110DFEA2EF691CC4 A1410498F4C312F3A94318CD5B6F0E8E92051064876751C8404

Sorry for my terrible math, but how is that private key a solution to the pattern "166"? That private key makes the address 12gFLYWpfnDTQ3JB5w5VDPpF5JQZnA1g1c it doesn't have 166 in it. The math doesn't lie and if you add the two private keys together you do get an address with "166" in it, but where did this one come from? How would one do this with vanitygen?
ThePiachu (OP)
Sr. Member
****
Offline Offline

Activity: 444
Merit: 307



View Profile WWW
June 01, 2012, 03:01:36 PM
 #15

and say we want to find a pattern "166". One of the solutions takes a form of a private key
B18427B169E86DE681A1A62588E1D02AE4A7E83C1B413849989A76282A7B562F
mapping to public key:
049C95E0949E397FACCECF0FE8EAD247E6FD082717E4A4A876049FB34A9ADED110DFEA2EF691CC4 A1410498F4C312F3A94318CD5B6F0E8E92051064876751C8404

Sorry for my terrible math, but how is that private key a solution to the pattern "166"? That private key makes the address 12gFLYWpfnDTQ3JB5w5VDPpF5JQZnA1g1c it doesn't have 166 in it. The math doesn't lie and if you add the two private keys together you do get an address with "166" in it, but where did this one come from? How would one do this with vanitygen?

Check out this page:
http://gobittest.appspot.com/Vanity

When you add
18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725
and
B18427B169E86DE681A1A62588E1D02AE4A7E83C1B413849989A76282A7B562F
their sum becomes
CA65722CD418ED28EC369E36CFE3B7F3CC1CD035BFBF6469CE759FCA30AD6D54
which maps to 166ev9JXn2rFqiPSQAwM7qJYpNL1JrNf3h

Currently you can't do these operations with vanitygen, but I'll look into making a tool for the generation soon.

Basically, one would need to make a modified vanitygen that would add a predefined public key to a generated keypair before proceeding with calculating the Bitcoin address. It's a fairly simple modification, but I'm not fluent enough in vanitygen's source code to make it.

1HWbVLhxj7bhewhyapMZpyhqWAeAhJd51E
My Bitcoin Calculator:
http://tpbitcalc.appspot.com/
BurtW
Legendary
*
Offline Offline

Activity: 2646
Merit: 1128

All paid signature campaigns should be banned.


View Profile WWW
June 01, 2012, 03:43:37 PM
 #16

Something I have thought about doing for a long time.  Subscribe.

Our family was terrorized by Homeland Security.  Read all about it here:  http://www.jmwagner.com/ and http://www.burtw.com/  Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!
Red Emerald
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500



View Profile WWW
June 01, 2012, 06:11:29 PM
 #17

Something I have thought about doing for a long time.  Subscribe.


I still think an address namespace in namecoin (or something similar) is a better long term solution than vanity addresses, but they are fun for now.

Is there some way to charge based on how long the key took to find?  Like what if you set the price equal to whatever you would made mining BTC?

ThePiachu (OP)
Sr. Member
****
Offline Offline

Activity: 444
Merit: 307



View Profile WWW
June 01, 2012, 10:03:08 PM
 #18

Is there some way to charge based on how long the key took to find?  Like what if you set the price equal to whatever you would made mining BTC?

For now the service doesn't charge based on key length. It can be implemented if there is a need for it. I'd have to benchmark some split-vanity-mining software on some various hardware first in order to determine how much should one be charging. I've done it for normal vanity mining (details will be available in my master thesis that I'll probably post on the forum eventually).

Personally, I'd have to first check whether looking for multiple keys at the same time will slow the process down considerably, or will it not be too noticeable.
Generally I'd like to leave a lot of freedom to the miners to discriminate themselves which tasks pay enough for them to undertake them (this is why the bounty is listed along with the task).

1HWbVLhxj7bhewhyapMZpyhqWAeAhJd51E
My Bitcoin Calculator:
http://tpbitcalc.appspot.com/
Raoul Duke
aka psy
Legendary
*
Offline Offline

Activity: 1358
Merit: 1002



View Profile
June 01, 2012, 10:41:24 PM
 #19

Code:
Work accepted!

Your work has been prepared!

Please send a reward you want to pay for it to this address: mh4ymyUejEA7VNuA9VKEqw3wsVquoN7BPx

Is that address correct? Starting by m?
ThePiachu (OP)
Sr. Member
****
Offline Offline

Activity: 444
Merit: 307



View Profile WWW
June 01, 2012, 10:44:40 PM
 #20

Code:
Work accepted!

Your work has been prepared!

Please send a reward you want to pay for it to this address: mh4ymyUejEA7VNuA9VKEqw3wsVquoN7BPx

Is that address correct? Starting by m?

It's a testnet address:
https://en.bitcoin.it/wiki/Testnet

Means you can play with fake-Bitcoins, just in case something goes wrong with the system.

You can get some testnet bitcoins here:
http://testnet.freebitcoins.appspot.com/
They are free.

1HWbVLhxj7bhewhyapMZpyhqWAeAhJd51E
My Bitcoin Calculator:
http://tpbitcalc.appspot.com/
Pages: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!