Pages:
Author

Topic: Vanitygen: Vanity bitcoin address generator/miner [v0.22] - page 49. (Read 1153383 times)

legendary
Activity: 3514
Merit: 1280
English ⬄ Russian Translation Services
No, if half of all addresses have been used there will very likely (just shy of 100%) a collision.

I mean if we generate just one more arbitrary address at one pass. The probability of that address collision will be the same if we just flip a coin, once (I think the birthday paradox is not applicable here, or I just don't understand something). I don't know how many addresses vanity (for example) actually checks before spitting out the "new" one it finally generates, so technically you might be right. In any case, this only further confirms my point...

That we might be nearer than previously thought to the onset of a new era, an era of devastating collisions
legendary
Activity: 3514
Merit: 1280
English ⬄ Russian Translation Services
The physical limitations assumed in the picture are the following. Take the thing that requires the least amount of energy to represent a bit in either a 0 or a 1 state. IIRC its the spin of some particle. This lowest possible amount of energy is defined by the law of thermodynamics

Actually no, the lowest possible amount of energy is defined by quantum mechanics and can be calculated using Planck's constant (which equals 6.63*10^-34 joule-seconds) by multiplying it by minimal frequency, i.e. E(min) = h x f(min). The minimal possible frequency is determined by the age of the Universe (4.4*10^17 seconds). So we get the minimal possible energy that an object can possess equal to 6.63*10^-34 x 1 / 4.4*10^17 = 1.5*10^-51 joules. In this way, we only need to make such an object oscillate between the two lowest levels of energy given by Planck's constant (this may require only a tiny amount of energy, thereby making a Dyson sphere totally excessive)...

Provided we find such an object in the first place (some low frequency photon whose wavelength is equal to the diameter of the Universe)

Exactly all these details I am not familiar with is why I dont like this picture. I roughly understand whats its trying to tell (probably wrong after read your post) us, but I cant check whether or not the claim is true, because I dont understand physics good enough

Neither do I, but I just know that thermodynamics in physics is like statistics in mathematics, meaning there are three types of lies - just lies, damned lies, and statistics, lol...

That's why I didn't believe that picture when I first saw it
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
The physical limitations assumed in the picture are the following. Take the thing that requires the least amount of energy to represent a bit in either a 0 or a 1 state. IIRC its the spin of some particle. This lowest possible amount of energy is defined by the law of thermodynamics

Actually no, the lowest possible amount of energy is defined by quantum mechanics and can be calculated using Planck's constant (which equals 6.63*10^-34 joule-seconds) by multiplying it by minimal frequency, i.e. E(min) = h x f(min). The minimal possible frequency is determined by the age of the Universe (4.4*10^17 seconds). So we get the minimal possible energy that an object can possess equal to 6.63*10^-34 x 1 / 4.4*10^17 = 1.5*10^-51 joules. In this way, we only need to make such an object oscillate between the two lowest levels of energy given by Planck's constant (this may require only a tiny amount of energy, thereby making a Dyson sphere totally excessive)...

Provided we find such an object in the first place (some low frequency photon whose wavelength is equal to the diameter of the Universe)

Exactly all these details I am not familiar with is why I dont like this picture. I roughly understand whats its trying to tell (probably wrong after read your post) us, but I cant check whether or not the claim is true, because I dont understand physics good enough.



i think the main thing that people arent factoring in is, not just the possibility of a collision.. but you also have to factor in the luck in colliding with a used address.

this will significantly lower your chances..

I think the chances actually increase. Why? If we have fully used the address space (i.e. all possible addresses have been found and used), then the probability of collision will be equal to 1, that is, any address you may find will necessarily lead to a collision. If only half of the address space is taken, the probability diminishes to 0.5...

In this way, by filling up the address space, we increase the probability of collision (that was precisely my point)

No, if half of all addresses have been used there will very likely (just shy of 100%) a collision.
sr. member
Activity: 751
Merit: 253
Regarding oclvanitygen

Does anyone know how many keys are searched before generating a new random key?

and

Is there anyway to change this setting? (If it generates a random key every million keys, is there any way to change to a billion or a thousand keys before generating a new random key?)
legendary
Activity: 3514
Merit: 1280
English ⬄ Russian Translation Services
i think the main thing that people arent factoring in is, not just the possibility of a collision.. but you also have to factor in the luck in colliding with a used address.

this will significantly lower your chances..

I think the chances actually increase. Why? If we have fully used the address space (i.e. all possible addresses have been found and used), then the probability of collision will be equal to 1, that is, any address you may find will necessarily lead to a collision. If only half of the address space is taken, the probability diminishes to 0.5...

In this way, by filling up the address space, we increase the probability of collision (that was precisely my point)
legendary
Activity: 3514
Merit: 1280
English ⬄ Russian Translation Services
The physical limitations assumed in the picture are the following. Take the thing that requires the least amount of energy to represent a bit in either a 0 or a 1 state. IIRC its the spin of some particle. This lowest possible amount of energy is defined by the law of thermodynamics

Actually no, the lowest possible amount of energy is defined by quantum mechanics and can be calculated using Planck's constant (which equals 6.63*10^-34 joule-seconds) by multiplying it by minimal frequency, i.e. E(min) = h x f(min). The minimal possible frequency is determined by the age of the Universe (4.4*10^17 seconds). So we get the minimal possible energy that an object can possess equal to 6.63*10^-34 x 1 / 4.4*10^17 = 1.5*10^-51 joules. In this way, we only need to make such an object oscillate between the two lowest levels of energy given by Planck's constant (this may require only a tiny amount of energy, thereby making a Dyson sphere totally excessive)...

Provided we find such an object in the first place (some low frequency photon whose wavelength is equal to the diameter of the Universe)
legendary
Activity: 1736
Merit: 1006
i think the main thing that people arent factoring in is, not just the possibility of a collision.. but you also have to factor in the luck in colliding with a used address.


this will significantly lower your chances..
legendary
Activity: 3514
Merit: 1280
English ⬄ Russian Translation Services
I don't understand what that picture should tell me.

Thats impossible to use the entire energy our sun has left fueling the best possible computer and let it count to 2256

I got that, but I'm not sure whether this claim is actually true. If I ain't missing something, counting to 2^256 means incrementing by one, from zero right up to that value? So how big is that number in decimal notation? I guess it should be something like 10^77. The Sun emits around 3.8 x 10^26 joules of energy per second. If we take one year as a reasonable term for counting to 2^256, we will have 1.2 x 10^34 joules to do that, or approximately 10^-33 joules per increment. The smallest transistor (which could be considered as a simplest increment device) has been made from just 1 atom, while graphene nanoscale transistors have been clocked up to 1,000 GHz (which gives 10^12 increments per second)....

So we need to know how much power an atomic scale transistor consumes to (in)validate that claim in practice
sr. member
Activity: 751
Merit: 253
Has anyone had luck running with a GPU thru a riser connected to PCIe x 1 slot ?

I can mine with a GPU on the PCIe x 1 slot.  (with a riser)
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
Well for one you didnt check for all possible two symbol prefixes (missed capital letters)
I did "-i": case insensitive.

Missed that :C

Quote
but the actual reason why there are only 2160 different possible address is different. There are 2256 private keys. The public key to each private key gets hashed with RIPEMD160 among another algorithm (SHA256) which has a 160 bit output. Thus the can never be more than 2160 addresses. It is assumed that each address has 296 private keys that allow spending coins from them. This might not be true for all keys as its unclear whether the distribution is uniform. Its possible that some addresses have 296+X keys while others have 296-X keys, where X is not zero.
This doesn't explain why I don't find 1 public key for every private key. This is the other way around: 1 public key has a lot of (unknown!) private keys, but each private key should have 1 public key, right?
If I run vanitygen for 1 second searching for all possible prefixes at 127 kkeys/s, why don't I get 127,000 keys?

It should. Not sure, I dont get any numbers when I run it with -k 1, but its not 300k per second. Might be the output slowing it down.



See the picture above? Its about the physical(!) limitations of counting(!) to 2256. Thus its somewhat wrong as we only need to check 2160 (which is faster) and we are not counting (ECDSA math and hashes are slower than counting). The ballpark is still correct though. In my example above I even assumed 1022 attacks per second.

I don't understand what that picture should tell me.

Thats impossible to use the entire energy our sun has left fueling the best possible computer and let it count to 2256

By the way, what is it? Some virus or a star? Further, I don't quite understand how real are these physical limitations of counting, and what do they have to do with finding a collision? If there are 10 billion Bitcoin addresses, the chances of finding just one collision are multiplied by the number of already created addresses, right? In other words, if all possible addresses were created, then any address you generated would be a collision...

Let's assume for simplicity that a search in the database of existing addresses doesn't take time at all

IIRC its a dyson sphere around our sun. Its a theoretical concept of a civilization so advanced that it can build a sphere around a sun to harvest 100% (or very close to) of its energy output.

The physical limitations assumed in the picture are the following. Take the thing that requires the least amount of energy to represent a bit in either a 0 or a 1 state. IIRC its the spin of some particle. This lowest possible amount of energy is defined by the law of thermodynamics. Now take a good estimate of what the sun can output in terms of energy and calculate how many bit flips you can fuel with that energy. The result is that you cant do enough bit flips to count to 2256. Keep in mind that this is physics and my understanding of these things is limited. I personally think I understand the pictures point, but I dont like it. Mainly because 2256 does not matter anyway and its not a good explanation without a deep knowledge of physics. Its essentially a "because physics says so" which is useless if you cant follow the argument.

Anyway, trailing off. I assumed no lookup time and no other constrains. I also took half of all possible addresses and not all of them, because of the birthday paradox[1] which essentially means that you have a almost 100% chance of finding a collision after checking half of all possible hashes.

[1] https://en.wikipedia.org/wiki/Birthday_problem
sr. member
Activity: 751
Merit: 253
I guess, it did not like riser card,

but,

When it asked which device to use, it looks like it had TWO  zeros??
Available OpenCL platforms:
0: [Advanced Micro Devices, Inc.] AMD Accelerated Parallel Processing
  0: [Advanced Micro Devices, Inc.] Pitcairn
  1: [GenuineIntel] Intel(R) Pentium(R) CPU G3220 @ 3.00GHz

Onboard AMD GPU. Pitcairn

Also, 17.6Mkeys/sec  is that expected for R9 270x?
sr. member
Activity: 751
Merit: 253
I am having a problem trying to get oclvanitygen to work with one GPU card.  R9270x

Any suggestions, please Smiley

installed a fresh copy of ubuntu 15.10 server
AMD-APP-SDK-linux-v2.9
ADL_SDK8
did the fgrlx-updates

/vanitygen-master# aticonfig --list-adapters
* 0. 02:00.0 AMD Radeon (TM) R9 200 Series
* - Default adapter

I installed all the oclvanitygen requirements
sudo apt-get install libssl-dev libpcre3 libpcre3-dev

but I have an error with the compile:
make oclvanitygen
cc -ggdb -O3 -Wall   -c -o oclengine.o oclengine.c
oclengine.c: In function ‘vg_ocl_prefix_check’:
oclengine.c:1553:18: warning: variable ‘tablesize’ set but not used [-Wunused-but-set-variable]
  int orig_delta, tablesize;
                  ^
cc oclvanitygen.o oclengine.o pattern.o util.o -o oclvanitygen -ggdb -O3 -Wall -lpcre -lcrypto -lm -lpthread -lOpenCL

So, I tried to run with this command
 /vanitygen-master# ./oclvanitygen -i 1address
Difficulty: 13419245680
Killed

Any ideas?

I also tried compiling with the oclengine.c line 459 change but had the exact same error.

Thanks for any help!
legendary
Activity: 3514
Merit: 1280
English ⬄ Russian Translation Services
See the picture above? Its about the physical(!) limitations of counting(!) to 2256. Thus its somewhat wrong as we only need to check 2160 (which is faster) and we are not counting (ECDSA math and hashes are slower than counting). The ballpark is still correct though. In my example above I even assumed 1022 attacks per second.

I don't understand what that picture should tell me. By the way, what is it? Some virus or a star? Further, I don't quite understand how real are these physical limitations of counting, and what do they have to do with finding a collision? If there are 10 billion Bitcoin addresses, the chances of finding just one collision are multiplied by the number of already created addresses, right? In other words, if all possible addresses were created, then any address you generated would be a collision...

Let's assume for simplicity that a search in the database of existing addresses doesn't take time at all
legendary
Activity: 3514
Merit: 1280
English ⬄ Russian Translation Services
One more example to try to put it into perspective: even though there are billions of stars in billions of galaxies, each weighing billions of tonnes, each containing billions and billions of atoms, the visible universe is estimated to contain between 1078 and 1080 atoms.
Only 1080 tiny particles, such a small number.

"You're comparing apples with rainbows"

I specifically made reference to the capacity of the top supercomputers reachable today. I assume that we can consider it as an established fact that the time required to find a collision (which is in inverse proportion to the odds of finding this collision) and available computing power are negatively correlated...

That is, the more computing power you have, the faster you will find a collision
legendary
Activity: 3514
Merit: 1280
English ⬄ Russian Translation Services
These chances are really high actually. If we write them in a more concise manner that would be 6.84 x 10^-38. Just for comparison, the top supercomputer as of today is capable of making 9.3 x 10^16 floating point calculations per second (and they are now talking about reaching 10^18 flops by 2020).
You're comparing apples with rainbows there...

The values are not even remotely related to one another... how many floating point calcs you can do in a second, is not a number you can directly compare to the chances of 1billion users (who each have 10 addresses) having an address collision!!?! Huh

It wasn't me who brought forth the example of 1 billion users (with 10 addresses each) having an address collision, so I couldn't possibly relate them to each other. Thereby you are blaming the wrong person here...

My point was totally different
sr. member
Activity: 378
Merit: 250
Hi, i don't know why but oclvanitygen don't work with my gpu, i have Windows 7 Home Premium with a Nvidia Geforce GT540M
here is the log:
Code:
C:\Users\Acer>C:\Users\Acer\Downloads\vanitygen-0.22-win\oclvanitygen.exe -o boat.txt 1Boat
Difficulty: 4476342
Error loading kernel file 'calc_addrs.cl': No such file or directory
Available OpenCL platforms:
0: [NVIDIA Corporation] NVIDIA CUDA
  0: [NVIDIA Corporation] GeForce GT 540M
but there is the calc_addrs.cl file! indeed vanitygen64 works well...
is NVIDIA SM2.1 supported? if not, it could explain this error...  Huh Huh
I updated everything with Nvidia GeForce Experience but nothing... Undecided
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
Well for one you didnt check for all possible two symbol prefixes (missed capital letters)
I did "-i": case insensitive.

Somehow, I thought the odds of a collision should be on the order of something like 10^-1000. But even that I wouldn't consider as quite impossible on a long enough timeline...

And don't forget about pure luck
This is the reason I said it's hard to comprehend very small chances (and very large numbers). If you're that lucky, why don't you guess the winning lotto numbers every time?

One more example to try to put it into perspective: even though there are billions of stars in billions of galaxies, each weighing billions of tonnes, each containing billions and billions of atoms, the visible universe is estimated to contain between 1078 and 1080 atoms.
Only 1080 tiny particles, such a small number.
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
These chances are really high actually. If we write them in a more concise manner that would be 6.84 x 10^-38. Just for comparison, the top supercomputer as of today is capable of making 9.3 x 10^16 floating point calculations per second (and they are now talking about reaching 10^18 flops by 2020).
You're comparing apples with rainbows there...

The values are not even remotely related to one another... how many floating point calcs you can do in a second, is not a number you can directly compare to the chances of 1billion users (who each have 10 addresses) having an address collision!!?! Huh

Bear in mind... people aren't saying it isn't possible... as the odds are >0... they're just soooooooooooooooooooooo very tiny... that if it does happen, well... that's just "Bad Luck™"

If people are afraid of this they should just never reuse addresses. This greatly limits the chances they lose a large amount of coins. The chance that it happens once is so tiny, what are the odds that you "guess" 100, 500 or 1000 addresses?
HCP
legendary
Activity: 2086
Merit: 4318
These chances are really high actually. If we write them in a more concise manner that would be 6.84 x 10^-38. Just for comparison, the top supercomputer as of today is capable of making 9.3 x 10^16 floating point calculations per second (and they are now talking about reaching 10^18 flops by 2020).
You're comparing apples with rainbows there...

The values are not even remotely related to one another... how many floating point calcs you can do in a second, is not a number you can directly compare to the chances of 1billion users (who each have 10 addresses) having an address collision!!?! Huh

Bear in mind... people aren't saying it isn't possible... as the odds are >0... they're just soooooooooooooooooooooo very tiny... that if it does happen, well... that's just "Bad Luck™"
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
-snip-
Quote
2^160 possible addresses
Do I understand correctly that not all private keys have a valid public key?
I ran this:
Code:
./vanitygen -i 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 1g 1h 1i 1j 1k 1l 1m 1n 1o 1p 1q 1r 1s 1t 1u 1v 1w 1x 1y 1z -o tempfile.txt -q -k
for 11.345 seconds. It checks about 127 kkey/s, and found 5366 keys. That results in 473 keys/s being found, while 270 times more keys have been checked.

Well for one you didnt check for all possible two symbol prefixes (missed capital letters), but the actual reason why there are only 2160 different possible address is different. There are 2256 private keys. The public key to each private key gets hashed with RIPEMD160 among another algorithm (SHA256) which has a 160 bit output. Thus the can never be more than 2160 addresses. It is assumed that each address has 296 private keys that allow spending coins from them. This might not be true for all keys as its unclear whether the distribution is uniform. Its possible that some addresses have 296+X keys while others have 296-X keys, where X is not zero.



So the chances of a collision occurring in your scenario are approximately 0.000000000000000000000000000000000000684%

See why we don't consider collisions an issue?

These chances are really high actually. If we write them in a more concise manner that would be 6.84 x 10^-38. Just for comparison, the top supercomputer as of today is capable of making 9.3 x 10^16 floating point calculations per second (and they are now talking about reaching 10^18 flops by 2020). Yes, I know that generating an address requires many calculations but, on the other hand, someone could develop a highly specialized chip for doing just that. In fact, I expected the chances to be way lower than that, and way lower is actually an underestimation of being truly lower. Somehow, I thought the odds of a collision should be on the order of something like 10^-1000. But even that I wouldn't consider as quite impossible on a long enough timeline...

And don't forget about pure luck

See the picture above? Its about the physical(!) limitations of counting(!) to 2256. Thus its somewhat wrong as we only need to check 2160 (which is faster) and we are not counting (ECDSA math and hashes are slower than counting). The ballpark is still correct though. In my example above I even assumed 1022 attacks per second.

Brute-Force is not possible. The only way to attack bitcoin is to find a flaw. In terms of math you need a shortcut. Its easy to calculate A+5=C for any A. If you know the result C you can easily reverse the input from that. This is currently not possible for private key -> public key calculations. Currently we can only select a random private key, calculate the public key and check the result. These shortcuts will be found and when that day comes bitcoin will need to adapt. They will however not be found over night (see e.g. RSA and factorisation), but there will be gradual improvement from 2256 steps to maybe 2192 and enough time to adapt to a different algorihm[1].

[1] a sidenote: SegWit actually make this super easy.
Pages:
Jump to: