3 ms·
If you check 1 billion addresses a second, and there are 100 million addresses with a balance, then it would take on average roughly (2^256 / 10^8) * 10^-9 seco
by tromp 5y ago
If you check 1 billion addresses a second, and there are 100 million addresses with a balance, then it would take on average roughly (2^256 / 10^8) * 10^-9 seconds, which
is 36717430630808027468154168254911183362909051 billion years.
EDIT: Only 463439129036942 billion years, taking into account that there are effectively only 2^160 addresses.
- john_alan 5y agoYou could shorten that by recognising the address space is more like 2^160 in BTC, due to the address generation process, more than one private key can spend from a given address, technically.
- wruza 5y agoThis reduces that number of years by 28 digits, afaiu, and that is still a pretty big number of billions of years.
- berkes 5y agoIs that the average time until the first collision, or the time it will take to generate all possible private keys?
- tromp 5y agoAverage time until collision.
- deleted 5y ago[deleted]
- wruza 5y agoNow that it looks like a phone number, one could unleash a horde of telemarketers at it.
- ben_w 5y agoFeels like a Hitchhiker’s quote: """Coincidentally, 2276709 is also the telephone number of a flat in Islington where Arthur once went to a party, met a nice girl, and lost her to a party-crasher. While the flat and telephone have been demolished along with Earth, they are forever linked to the fact that Arthur Dent and Ford Prefect—against all odds—are rescued 29 seconds after being ejected from the Vogon spaceship."""
- frisco 5y agoYou could check a lot more than 1B address per second.
- tromp 5y agoNot easily, as you need to do an elliptic curve point x scalar multiplication, which takes tons of cycles on a CPU and even tons of gates on an ASIC. Please provide a link to hardware that can do it much faster...
- jakedata 5y agoTwo or more of whatever you are using to perform the calculations? I mean it won't appreciably shorten the search time but it would double the processing rate.
- virtue3 5y agoThere's kind of a reason you don't count the coefficient in big O notation etc. It doesn't really matter. If you can't exponentially increase the amount of power / transactions you don't really have a chance of figuring out a collision. 100x machines with a computation that takes 100 billion years is still 1 billion years.
- rocqua 5y agoI'd guess a GPU at 2Ghz (2. Billion per second) might run parallel enough to compensate for the number of cycles required for a given point. I doubt whether this would get far past 1 billion a second though.
- terrahashing 5y agoHashing hardware capability is typically measured in trillions per second (TH/s) so the math might be better using trillion instead of billion. As I understand it, the rental cost of 1 PH/s (which I think is one-thousand-trillion?) is about $10/hour. From that I think you could work out an actual cost to generate a collision!
- deleted 5y ago[deleted]
- ben_w 5y agoEven taking the smaller value of 463439129036942 billion years at 1 billion/second (and therefore 463439129036942000 years at a quadrillion/second), at $10 / hour / PH/s, that’s $4.06e22, or ≈ 480 million years of Earth’s 2020 global nominal GDP.
- zeckalpha 5y agoThis assumes a uniform key space. If PRNGs used to generate keys are biased, then there may be a way to exploit that bias.