MICRO
Legendary
Offline
Activity: 2464
Merit: 1037
CEO @ Stake.com and Primedice.com
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 09, 2014, 09:23:35 PM |
|
I want to ask a question which will probably get people calling me stoopid or whatever but here I go:
Is there a danger of another person using vanitygen with the same input you gave it to generate your public/private key? For example, assume I created a vanitygen address:
1Vanity...
Someone sees my address and correctly assumes I generated it with vanitygen:
./vanitygen 1Vanity
They now just have to run ./vanitygen 1Vanity and wait a while until they get my public/private keys.
Is that right or wrong?
I guess my assumption here is that while the space of possible random btc addresses is so large, the space of vanity addresses for a given prefix is smaller and perhaps dangerously small? Also, I don't know how vanitygen searches the space but perhaps it's likely to find the addresses for a given prefix in a similar order each time?
Thanks for any insight. You guys are smarter then me.
Its not dangerous at all. Its impossible to find whole bitcoin address. In order for somebody to get private key for ur 1Vanity addy he would need to copy ur whole addy like 1Vanity15af4a5df63adf5645adf... Not only 1Vanity coz there are ALOT of addresses that can start with 1Vanity. Its imposible for somebody to find key for ur 1Vanity addy , he can make alot of addresses that start with 1Vanity but they wont be the same as urs.
|
|
|
|
tspacepilot
Legendary
Offline
Activity: 1456
Merit: 1081
I may write code in exchange for bitcoins.
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 09, 2014, 09:53:38 PM |
|
I want to ask a question which will probably get people calling me stoopid or whatever but here I go:
Is there a danger of another person using vanitygen with the same input you gave it to generate your public/private key? For example, assume I created a vanitygen address:
1Vanity...
Someone sees my address and correctly assumes I generated it with vanitygen:
./vanitygen 1Vanity
They now just have to run ./vanitygen 1Vanity and wait a while until they get my public/private keys.
Is that right or wrong?
I guess my assumption here is that while the space of possible random btc addresses is so large, the space of vanity addresses for a given prefix is smaller and perhaps dangerously small? Also, I don't know how vanitygen searches the space but perhaps it's likely to find the addresses for a given prefix in a similar order each time?
Thanks for any insight. You guys are smarter then me.
Its not dangerous at all. Its impossible to find whole bitcoin address. In order for somebody to get private key for ur 1Vanity addy he would need to copy ur whole addy like 1Vanity15af4a5df63adf5645adf... Not only 1Vanity coz there are ALOT of addresses that can start with 1Vanity. Its imposible for somebody to find key for ur 1Vanity addy , he can make alot of addresses that start with 1Vanity but they wont be the same as urs. Thanks for the reply MICRO, but I'm suspicious about your information because it seems vague and lacking in detail. For example, you say that something is impossible but I think you mean infeasibly improbable. Since I'm looking for details and proofs, I guess I find myself still wanting. Nonetheless, the point of your reply is noted: apparantly reducing the address space by a prefix is insignficant. Can anyone fill in the numbers to make this clear? Second point seems implied in your answer but isn't explicit, apparantly vanitygen is going to generate matching addresses in some pseudo random order. Also, I decided to put this to the empirical test. Now running vanitygen with 1Micro ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
|
|
|
|
TheRealSteve
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 09, 2014, 10:11:55 PM |
|
Thanks for the reply MICRO, but I'm suspicious about your information because it seems vague and lacking in detail. For example, you say that something is impossible but I think you mean infeasibly improbable. Yes, that's what they meant. Note that for all practical purposes, you can consider that to be on the level of 'impossible'. I.e. say you roll a million dice - is it possible that you'll roll a 4 on all million? Sure, it's possible. Now consider that the issue we're discussing here is several magnitudes more difficult still ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Since I'm looking for details and proofs, I guess I find myself still wanting. Nonetheless, the point of your reply is noted: apparantly reducing the address space by a prefix is insignficant. You would have to look for technical discussions about finding collisions for the private key in general. The fact that the address starts with a vanity doesn't actually 'reduce the search space'. I.e. you can't say 'generate only keys for which the address starts with this vanity'. The way it works is that it generates a whole lot of keys, calculates the address, and then checks if that address happens to start with the desired vanity. If you could do it the other way around, then 1SomeVan1ty is every bit as vulnerable as, say, 1x3pqDdtUza - a non-vanity (well, unless somebody considers that to be a vanity, of course) - and thus all Bitcoin addresses would be vulnerable. In addition, while you can possibly get a collision on the address, you still can't spend from that address unless you have the correct private key. So even if you do happen to get a full match on the address, you might still not have the correct private key to go with it. (addresses are hashes of the public key, which have a smaller space than the public key, so at least there's a greater potential for a collision on the address)
|
|
|
|
MICRO
Legendary
Offline
Activity: 2464
Merit: 1037
CEO @ Stake.com and Primedice.com
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 09, 2014, 10:15:30 PM |
|
I want to ask a question which will probably get people calling me stoopid or whatever but here I go:
Is there a danger of another person using vanitygen with the same input you gave it to generate your public/private key? For example, assume I created a vanitygen address:
1Vanity...
Someone sees my address and correctly assumes I generated it with vanitygen:
./vanitygen 1Vanity
They now just have to run ./vanitygen 1Vanity and wait a while until they get my public/private keys.
Is that right or wrong?
I guess my assumption here is that while the space of possible random btc addresses is so large, the space of vanity addresses for a given prefix is smaller and perhaps dangerously small? Also, I don't know how vanitygen searches the space but perhaps it's likely to find the addresses for a given prefix in a similar order each time?
Thanks for any insight. You guys are smarter then me.
Its not dangerous at all. Its impossible to find whole bitcoin address. In order for somebody to get private key for ur 1Vanity addy he would need to copy ur whole addy like 1Vanity15af4a5df63adf5645adf... Not only 1Vanity coz there are ALOT of addresses that can start with 1Vanity. Its imposible for somebody to find key for ur 1Vanity addy , he can make alot of addresses that start with 1Vanity but they wont be the same as urs. Thanks for the reply MICRO, but I'm suspicious about your information because it seems vague and lacking in detail. For example, you say that something is impossible but I think you mean infeasibly improbable. Since I'm looking for details and proofs, I guess I find myself still wanting. Nonetheless, the point of your reply is noted: apparantly reducing the address space by a prefix is insignficant. Can anyone fill in the numbers to make this clear? Second point seems implied in your answer but isn't explicit, apparantly vanitygen is going to generate matching addresses in some pseudo random order. Also, I decided to put this to the empirical test. Now running vanitygen with 1Micro ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Just trust me it is IMPOSSIBLE to get same address as somebody else. Its just impossible even if u have world most powerful computer.
|
|
|
|
tspacepilot
Legendary
Offline
Activity: 1456
Merit: 1081
I may write code in exchange for bitcoins.
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 09, 2014, 10:33:35 PM |
|
Thanks for the reply MICRO, but I'm suspicious about your information because it seems vague and lacking in detail. For example, you say that something is impossible but I think you mean infeasibly improbable. Yes, that's what they meant. Note that for all practical purposes, you can consider that to be on the level of 'impossible'. I.e. say you roll a million dice - is it possible that you'll roll a 4 on all million? Sure, it's possible. Now consider that the issue we're discussing here is several magnitudes more difficult still ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Since I'm looking for details and proofs, I guess I find myself still wanting. Nonetheless, the point of your reply is noted: apparantly reducing the address space by a prefix is insignficant. You would have to look for technical discussions about finding collisions for the private key in general. The fact that the address starts with a vanity doesn't actually 'reduce the search space'. I.e. you can't say 'generate only keys for which the address starts with this vanity'. The way it works is that it generates a whole lot of keys, calculates the address, and then checks if that address happens to start with the desired vanity. If you could do it the other way around, then 1SomeVan1ty is every bit as vulnerable as, say, 1x3pqDdtUza - a non-vanity (well, unless somebody considers that to be a vanity, of course) - and thus all Bitcoin addresses would be vulnerable. In addition, while you can possibly get a collision on the address, you still can't spend from that address unless you have the correct private key. So even if you do happen to get a full match on the address, you might still not have the correct private key to go with it. (addresses are hashes of the public key, which have a smaller space than the public key, so at least there's a greater potential for a collision on the address) Thanks, this fills in a bit more of the info. FWIW, the probability of rolling a "4" 1 million times in a row is infinitely greater than 0. Something with a probability of 0 is impossible. Something with a probability greater than 0 is not impossible, no matter how small. IMHO, conflating impossible with improbable really muddies the waters in these kinds of discussions, so I'm trying to avoid that. Anyway I understand now that the search space isn't reduced, only the answer space. So vanitygen has to look blindly through the same candidate set no matter how much you constrain the space of correct answers. Also, thanks for the clarification about the relationship from the address to the public key.
|
|
|
|
tspacepilot
Legendary
Offline
Activity: 1456
Merit: 1081
I may write code in exchange for bitcoins.
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 09, 2014, 10:36:25 PM |
|
Just trust me it is IMPOSSIBLE to get same address as somebody else. Its just impossible even if u have world most powerful computer.
Lol, maybe you're just abusing the phrase but 'just trust me' is exactly the kind of answer I'm repulsed by in this context. I'm trying to educate myself about some abstruse facts and mere "I'm right" claims aren't convincing at all. Furthermore, you still seem to be missing the difference between the definition of IMPOSSIBLE and IMPROBABLE. I've got nothing against you personally but it doesn't seem like you're the best source to go to for the maths on this one. Cheers.
|
|
|
|
MICRO
Legendary
Offline
Activity: 2464
Merit: 1037
CEO @ Stake.com and Primedice.com
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 09, 2014, 10:51:10 PM |
|
Just trust me it is IMPOSSIBLE to get same address as somebody else. Its just impossible even if u have world most powerful computer.
Lol, maybe you're just abusing the phrase but 'just trust me' is exactly the kind of answer I'm repulsed by in this context. I'm trying to educate myself about some abstruse facts and mere "I'm right" claims aren't convincing at all. Furthermore, you still seem to be missing the difference between the definition of IMPOSSIBLE and IMPROBABLE. I've got nothing against you personally but it doesn't seem like you're the best source to go to for the maths on this one. Cheers. Ah well i just wanted to make it simple ![Cheesy](https://bitcointalk.org/Smileys/default/cheesy.gif) LOL. I used word impossible coz it rly is , well ok it maybe isn't in theory. Here u can get rly good education about it http://en.bitcoinwiki.org/Main_Page . Im just sleepy and baing lazy to make rly good post about that and how big ur chances are ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) . So i say its impossible coz it rly is and u dont have to worry about how safe it is to make vanity addy coz somebody might make the same. Coz that was ur question.
|
|
|
|
TheRealSteve
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 09, 2014, 10:52:24 PM |
|
FWIW, the probability of rolling a "4" 1 million times in a row is infinitely greater than 0. Something with a probability of 0 is impossible. Something with a probability greater than 0 is not impossible, no matter how small. IMHO, conflating impossible with improbable really muddies the waters in these kinds of discussions, so I'm trying to avoid that. Well, if we're going to get technical... you can't divide by zero, so you can't say that it's infinitely greater than zero ![Wink](https://bitcointalk.org/Smileys/default/wink.gif) But yes, I know what you're saying, and I almost corrected Micro myself before you replied. However, there's an equal muddying of the waters when you say that there's 'a possibility' when the layman doesn't really understand just how incredibly small that possibility is. In their mind 'a possibility' means that it is, in fact, likely.. that all it would take is a supercomputer. Something about people not quite fully grasping the really, really small and really, really large things. I'm not immune to that either - I can't wrap my head around the size of the universe (as far as we understand it), nor around things like poisons that need only a pinhead's worth to kill you. Thus, "for all practical purposes, you can consider that to be on the level of 'impossible'." As for the rest - yep, you got it. Note that I should place an asterisk beside my suggestion that you can't tell a program to only generate addresses that match a certain criteria, as some people have tried to attack a similar problem (Bitcoin mining) using SAT solvers. However, I'm not convinced their approach is actually fundamentally different and when I looked at it last, it would give an imperceivable advantage on a small stage of the process - while implementation in an ASIC would be nightmarish at best, so it has no practical purpose there. I can't readily imagine a situation in which it would be of help in vanity address generation either, but my math only goes so far ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
|
|
|
|
MICRO
Legendary
Offline
Activity: 2464
Merit: 1037
CEO @ Stake.com and Primedice.com
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 09, 2014, 10:54:46 PM |
|
Thanks for the reply MICRO, but I'm suspicious about your information because it seems vague and lacking in detail. For example, you say that something is impossible but I think you mean infeasibly improbable. Yes, that's what they meant. Note that for all practical purposes, you can consider that to be on the level of 'impossible'. I.e. say you roll a million dice - is it possible that you'll roll a 4 on all million? Sure, it's possible. Now consider that the issue we're discussing here is several magnitudes more difficult still ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) I just cant look at it that way . I must say its impossible at that chance ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) . Maybe wont be in like 100 years with some new super computers. But atm even if u combine all computers on this planet they cant do it. But ur explanation is rly good. Tnx.
|
|
|
|
tspacepilot
Legendary
Offline
Activity: 1456
Merit: 1081
I may write code in exchange for bitcoins.
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 09, 2014, 11:09:10 PM |
|
FWIW, the probability of rolling a "4" 1 million times in a row is infinitely greater than 0. Something with a probability of 0 is impossible. Something with a probability greater than 0 is not impossible, no matter how small. IMHO, conflating impossible with improbable really muddies the waters in these kinds of discussions, so I'm trying to avoid that. Well, if we're going to get technical... you can't divide by zero, so you can't say that it's infinitely greater than zero ![Wink](https://bitcointalk.org/Smileys/default/wink.gif) Good point, that's a subtle mistake, but you're right. In my mind, I was thinking about the fact that division by zero is undefined, but I made a mistake by suggesting that that implies a nonfinite relation between the result of division by zero and some number. In fact, you simply can't compare NaN with a number. Nevertheless, I think this strengthens my real point which was that you can't get any closer to impossible by making a small probability even smaller. Likewise, multiplying a finite number so many times that it becomes inconceivably large doesn't get you any closer to infinitely large. But yes, I know what you're saying, and I almost corrected Micro myself before you replied. However, there's an equal muddying of the waters when you say that there's 'a possibility' when the layman doesn't really understand just how incredibly small that possibility is. In their mind 'a possibility' means that it is, in fact, likely.. that all it would take is a supercomputer. Something about people not quite fully grasping the really, really small and really, really large things. I'm not immune to that either - I can't wrap my head around the size of the universe (as far as we understand it), nor around things like poisons that need only a pinhead's worth to kill you.
Thus, "for all practical purposes, you can consider that to be on the level of 'impossible'."
I should have specified that I wasn't looking for the layman's version. As for the rest - yep, you got it. Note that I should place an asterisk beside my suggestion that you can't tell a program to only generate addresses that match a certain criteria, as some people have tried to attack a similar problem (Bitcoin mining) using SAT solvers. However, I'm not convinced their approach is actually fundamentally different and when I looked at it last, it would give an imperceivable advantage on a small stage of the process - while implementation in an ASIC would be nightmarish at best, so it has no practical purpose there. I can't readily imagine a situation in which it would be of help in vanity address generation either, but my math only goes so far ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Thanks for the follow up. If you know of a good thread with the techinical details, drop me a link. I think MICRO's link to the main page of the bitcoin wiki is only so helpful ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
|
|
|
|
langezwieper
Newbie
Offline
Activity: 12
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 16, 2014, 09:22:56 AM |
|
I downloaded the latest version and compiled it for OSX but I can't seem to specify a public address when I use ./oclvanitygen (or the miner) instead of ./vanitygen however the topic start of mentions it's both possible. What am I missing? -P doesn't seem to be an option for oclvanitygen.
|
|
|
|
Desertbeagles
Newbie
Offline
Activity: 17
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 18, 2014, 09:59:25 PM |
|
Hey guys. I was wondering if it was possible to make a 1 click set up/app or a step by step guide for setting this up on Mac. I would really like to be able to make some vanity address but I do not know how to build from source or any of that kinda stuff...
Thanks -Desertbeagles
|
|
|
|
tspacepilot
Legendary
Offline
Activity: 1456
Merit: 1081
I may write code in exchange for bitcoins.
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 20, 2014, 03:28:45 AM |
|
Hey guys. I was wondering if it was possible to make a 1 click set up/app or a step by step guide for setting this up on Mac. I would really like to be able to make some vanity address but I do not know how to build from source or any of that kinda stuff...
Thanks -Desertbeagles
Aren't there binaries for osx for vanitygen? In any case it's not too hard to build from source, I use GNU/Linux but as OSX is also unix based, I suppose the steps would be pretty similar: 1) wget http://locationofsource/tarball.tgz2) tar -xfzf tarball.tgz 3) cd tarball 4) ./configure && make && (sudo) make install I think you could figure out the mac specific stuff in like 20 minutes of reading, just google 'build environment osx'
|
|
|
|
Stery
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 118
Merit: 100
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 21, 2014, 02:30:02 PM |
|
How do you use these addresses with bitcoin core ?
|
|
|
|
TheRealSteve
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 21, 2014, 03:01:47 PM |
|
How do you use these addresses with bitcoin core ?
If you generated them yourself and want to make use of it from your wallet, you'll have to import the private key: https://en.bitcoin.it/wiki/How_to_import_private_keys#Using_bitcoind( see note about v7 - instructions for that are on a different page at this time ) If you just need to send funds to one, it's the same as any other address.
|
|
|
|
|
MICRO
Legendary
Offline
Activity: 2464
Merit: 1037
CEO @ Stake.com and Primedice.com
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 23, 2014, 07:42:42 PM |
|
And will probably steel all btc same as last site that done same thing . They store private keys and part private keys.
|
|
|
|
TheRealSteve
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 23, 2014, 07:51:19 PM |
|
Probably - nothing wrong with that either. I do think the way it's set up might be problematic. For one thing, I'm not seeing a field for a customer to provide their split key part. That means that the service could (not saying they are, but they could) be holding on to the keys for the generated vanity addresses. Even if they don't, they could still get hacked and the hackers get access to keys from there (this has happened before with another service). I certainly caution against this service's use until they implement split key generation. Best to stick to one of the other services that do offer split key generation;
|
|
|
|
TheRealSteve
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 24, 2014, 09:57:11 AM |
|
Yep. Hopefully its proprietor (Velkro? If not, I'd be happy to drop them a line at the e-mail address) can add split key generation, as aside from that it is fairly well-setup with concise instructions on how to import the keys, offering a paper wallet to print out, etc. VAMP ( http://vanityamp.com/ ) was almost like that, with a very polished interface, and based more on outsourced vanity mining (ala vanitypool) - that's still under reconstruction, though.
|
|
|
|
Kangaderoo
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 89
Merit: 11
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 25, 2014, 09:01:01 AM Last edit: June 25, 2014, 10:58:51 AM by Kangaderoo |
|
Just as been done with (SHA256 and Scrypt) mining software, I've been trying to port the Vanitygen code for CPU to make use of the SIDM functionality. By running the SHA256 and RMD160 4 times parallel (AVX1) I got a rough speed increase of about 25-30%. It seems that the actual EC_key generation is the big time consumer. Any idea how to speed this up? Is it possible/faster to only calculate only a X-coordinate, hash the compressed key, and try to find a (valid) key-pair after a confirmation a wanted prefix in the bitcoin address is found? You might run into false positives I guess, but this could be a trade off to faster hashing..... Code is @ https://github.com/kangaderoo/vanitygen[1KangaNsFtfsr7vgVhdvfdY8LyRVbm1Mbh]
|
BTC:1NeoArmnGyWHKfbje9JNWqw3tquMY7jHCw
|
|
|
|