LoyceV


August 02, 2016, 11:58:49 AM 

Well for one you didnt check for all possible two symbol prefixes (missed capital letters) I did "i": case insensitive. but the actual reason why there are only 2^{160} different possible address is different. There are 2^{256} 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 2^{160} addresses. It is assumed that each address has 2^{96} 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 2^{96}+X keys while others have 2^{96}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? 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 10 ^{78} and 10 ^{80} atoms. Only 10 ^{80} tiny particles, such a small number.








Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.



forumaster


August 02, 2016, 01:10:54 PM 

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: C:\Users\Acer>C:\Users\Acer\Downloads\vanitygen0.22win\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... I updated everything with Nvidia GeForce Experience but nothing...




deisik
Legendary
Offline
Activity: 1274


August 02, 2016, 01:26:06 PM 

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!!?! 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




deisik
Legendary
Offline
Activity: 1274


August 02, 2016, 01:36:49 PM 

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 10^{78} and 10^{80} atoms. Only 10^{80} 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




deisik
Legendary
Offline
Activity: 1274


August 02, 2016, 01:51:36 PM 

See the picture above? Its about the physical(!) limitations of counting(!) to 2^{256}. Thus its somewhat wrong as we only need to check 2^{160} (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 10^{22} 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




altcointalk14


August 02, 2016, 07:17:30 PM 

I am having a problem trying to get oclvanitygen to work with one GPU card. R9270x Any suggestions, please installed a fresh copy of ubuntu 15.10 server AMDAPPSDKlinuxv2.9 ADL_SDK8 did the fgrlxupdates /vanitygenmaster# aticonfig listadapters * 0. 02:00.0 AMD Radeon (TM) R9 200 Series *  Default adapter I installed all the oclvanitygen requirements sudo aptget install libssldev libpcre3 libpcre3dev 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 [Wunusedbutsetvariable] 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 /vanitygenmaster# ./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!




altcointalk14


August 02, 2016, 07:30:28 PM 

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?




shorena
Legendary
Offline
Activity: 1316
ALL escrow is signed! https://keybase.io/verify


August 02, 2016, 07:37:55 PM 

Well for one you didnt check for all possible two symbol prefixes (missed capital letters) I did "i": case insensitive. Missed that :C but the actual reason why there are only 2^{160} different possible address is different. There are 2^{256} 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 2^{160} addresses. It is assumed that each address has 2^{96} 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 2^{96}+X keys while others have 2^{96}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 2^{256}. Thus its somewhat wrong as we only need to check 2^{160} (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 10^{22} 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 2 ^{256} 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 2 ^{256}. 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 2 ^{256} 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




altcointalk14


August 02, 2016, 07:49:01 PM 

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)




deisik
Legendary
Offline
Activity: 1274


August 02, 2016, 09:14:37 PM 

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 2 256I 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




aarons6
Legendary
Offline
Activity: 1092


August 02, 2016, 10:18:24 PM 

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..




deisik
Legendary
Offline
Activity: 1274


August 02, 2016, 10:19:10 PM 

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 jouleseconds) 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)




deisik
Legendary
Offline
Activity: 1274


August 02, 2016, 10:30:37 PM 

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)




altcointalk14


August 03, 2016, 01:46:15 AM 

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?)




shorena
Legendary
Offline
Activity: 1316
ALL escrow is signed! https://keybase.io/verify


August 03, 2016, 06:29:36 AM 

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 jouleseconds) 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.




deisik
Legendary
Offline
Activity: 1274


August 03, 2016, 06:56:51 AM 

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 jouleseconds) 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 enoughNeither 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




deisik
Legendary
Offline
Activity: 1274


August 03, 2016, 07:01:46 AM 

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




LoyceV


August 03, 2016, 07:24:09 AM 

No, if half of all addresses have been used there will very likely (just shy of 100%) a collision.
Nice "if", but of course this won't happen. Using half the addresses will never happen, using 0.0000000001% of the addresses will also never happen.




deisik
Legendary
Offline
Activity: 1274


August 03, 2016, 07:50:34 AM 

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
It seems that my "prophecy" of nearing the age of handcrafted collisions has come true sooner than I expected, lol. Someone apparently read my posts as of yesterday and decided to wait no longer... https://www.bitfinex.com/Just heard about the news




Polyatomic


August 03, 2016, 08:10:36 AM 

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 [Wunusedbutsetvariable] 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 /vanitygenmaster# ./oclvanitygen i 1address Difficulty: 13419245680 Killed error? nah man!, compiler diagnostic yes(thats a good thing) As far as i can tell, oclvanitygen should be working for you. Try adding a S (safe mode) to your command line is about all I can suggest.




