What hardware is needed to solve Bitcoin Puzzles 71 and 135 in a day?

5 replies 362 views
Posts: 1 · Reputation: 92
#1Aug 21, 2018, 11:59 PM
Hey everyone, I'm trying to get a clearer picture of what kind of hardware I'd need to brute-force Bitcoin Puzzle #71 (which is 71-bit) and Puzzle #135 (135-bit) in just one day using standard brute-force techniques. For Puzzle #71, this is the range we're looking at: 0x400000000000000000 : 0x7fffffffffffffffff So that gives us around 2^70 keys, or about 1.18e21 keys. Right now, I’m running this command: xxBitCrack.exe keyspace 400000000000000000:7fffffffffffffffff -c 1PWo3JeB9jrGwfHDNpdGK54CRas7fsVzXU Using 1 CPU at 3 million keys per second, it would take about 12.5 million years to finish the scan on a single CPU. Just to roughly break it down: To complete it in 1 year, I’d need around 12.5 million CPUs running at that speed. To wrap it up in 1 day, I’d be looking at about 4.55 billion CPUs. For Puzzle #135 (which is 135-bit), the keyspace is: 2^135 ≈ 4.05e40 keys This is way larger and makes brute-forcing pretty much impossible. But still, I want to figure out what kind of hash rate I'd need to do it in 1 day just for perspective. So, my questions are: ✅ How many CPUs (at ~3M keys/sec) would it take to brute-force: Puzzle #71 in a day Puzzle #135 in a day ✅ How many GPUs (like RTX 4090, RX 7900 XTX, etc.) would be needed with realistic speeds (around 2-4 billion keys/sec per GPU)? ✅ Is there any real way to tackle Puzzle 71 with a big GPU cluster or pool, or is it still just not practical? ✅ For Puzzle 135, is estimating even worth it, or is it just out of reach no matter how many resources we pool together worldwide? I’m really keen to hear from anyone interested in this puzzle cracking and keyspace math.
4 Reply Quote Share
greglaserFull Member
Posts: 180 · Reputation: 542
#2Aug 23, 2018, 09:01 PM
To keep things simple without going into technical details and exhausting calculations for 71 --> the range comprises 1180591620717411303423 addresses to be scanned.  It all depends on where the target address is located in this range, but if we assume that it's at the end, it would take almost 2 million 4090 GPUs to reach it in 24 hours. If the target is in the middle of the range, let's say that 1 million GPU 4090s would suffice with GPU 5090s, let's say that this number would require around 20% fewer GPUs, i.e. 1M5 or 750K This is using Bitcrack or Vanitysearch, perfectly optimized for the system used. For the 135 it's different insofar as the pubkey is available, the tools and speed are also different, but the difficulty is just as great. RetiredCoder's RCKangaroo, which was perfectly optimized for its configuration (i.e. over 12GK/s for the 130é), took 2 months to achieve this using 400 GPU 3090s, with the target at 62% of the range. In 1 day, we would have needed almost 60 times as many 3090 GPUs, say at least 24,000 RTX 3090 GPUs. For the 135th, the search space is more than 30 times larger, so we'd need at least 750k GPUs 3090 to get there in 24 hours, if the target is 60% of the range, using software perfectly optimized to run on such a configuration. Whether it's the 71st or the 135th, the difficulty of getting there is roughly the same, even if the software or the way of doing it is different, since for one the pubkey is known. We wish you good luck.
0 Reply Quote Share
WildChadFull Member
Posts: 48 · Reputation: 298
#3Aug 23, 2018, 09:32 PM
If your considering seriously to crack anyone of them, you should go for 135 because it's difficulty is much less then 71 but the reward is much higher . Pollards Kangaroo helps you reduce it from 135 to 67.5 while you cannot reduce the puzzle 71 because you don't know the public key and on that you have two hashing to do. And as per the best of my knowledge, the most optimised approach for  cracking puzzle 71 is leveraging the fact that the first 185 bits are zero and the 186th bit is one. One can use that knowledge to specifically make a tool that does not do full 256 bit EC multiplication but saves a significant amount of the computation by using a 71 bit secret key input for each multiplication....this reduces the scalar size for EC multiplication, making each individual key generation and address hash calculation significantly faster.  This thing is implemented in a little different form in software like the BitcoinAddressFinder , which start with the assumption that first 96 bits of the private key are 0, and instead they brute force on the remaining 160 bit space. That reduces the search space by  large orders of magnitude. And specifically the number 160 because 160 is the number of bits in the HASH160 wallet format. BUT FOR THE CASE OF PUZZLE 71 OUR SPACE IS EVEN SMALLER. Those tools use the fact that effectively searching the 160 bit private key space can give you the private key for a given wallet, even if the original public key that was related to the wallet had 256 bit sk. Those effectively have 80 bits of security, which is still enormous if you are not a attacker with Nation state level resources. Other  optimization by puzzle cracking software include for eg, probabilistic filters like the bloom filter,which makes the checks effectively O(1) if you are checking multiple pubkeys in any case. If you want to have a realistic estimation, the RTX 5090 with  speed of about 9 G keys per second on optimised tools for secp256k1  would require about 692-696 yrs.
6 Reply Quote Share
5tack5atsSenior Member
Posts: 142 · Reputation: 897
#4Aug 24, 2018, 02:18 AM
BS. Bloom filters are useless for puzzles. unless someone wants that O(1) to mean having a painful slow kernel for no reason whatsoever. The only reason to ever use a bloom filter is when searching for more than one vanity address, but that's most often stupid in itself anyway, and has nothing to do with any single-target puzzles.
2 Reply Quote Share
WildChadFull Member
Posts: 48 · Reputation: 298
#5Aug 24, 2018, 04:57 AM
I have already mentioned it. See the quotation. Cool name btw "KtimesG" 😃
4 Reply Quote Share
Posts: 2 · Reputation: 63
#6Aug 24, 2018, 06:43 AM
Indeed 135 with an sqrt algo takes less time to scan than 71 on any given hardware. Trouble is kangaroo has some quirks, I test ran it a hundred times for 10% of the expected ~2*sqrt(n) time (which if you are lottery solving on cpu for 135 is around three thousand years) and it found the key zero times. While for brute force its of course 10 times. I think it needs time to lay traps first and the chance sucks so bad at the beginning. Also seems like the solving time is predetermined by the initial conditions(even though you have no way of knowing it). So with kangaroo not only do you need to commit to the full time, you also have to make that commitment knowing your run could be pre-determined to take twice that. Not cool at all to say the least
5 Reply Quote Share

Related topics