MultiversX Tracker is Live!

A real story of one laptop, some curiosity, and a deep dive into how Bitcoin private keys are born

Bitcoin Reddit

More / Bitcoin Reddit 192 Views

What Is This?

In 2015, someone created the "Bitcoin Puzzle" — 160 Bitcoin addresses, each holding a little more BTC than the last. The first ones got cracked quickly. Then more. Today, 69 puzzles have been solved, and Puzzle #71 still holds 7.1 BTC (over $580,000).

This repository is my attempt to find the key. I didn't succeed — but I learned things most people never discover about how wallets work under the hood.

Everything here runs on a standard laptop. No GPU farms. No rented cloud servers. Just an i5 with 8 GB of RAM and a lot of patience.

The Puzzle, Explained Simply

The creator left one big clue:

"It is just consecutive keys from a deterministic wallet (masked with leading 000...0001 to set difficulty)."

What does that mean?

Imagine you have a wallet that spits out private keys one after another — like a really fancy random number generator that always gives the same sequence if you start it with the same seed.

For each puzzle number n, the creator took the n-th key from that wallet, then applied a simple mask: set the first (n‑1) bits to 000...0001, and keep the lower bits from the wallet key. This made early puzzles easy (few bits to guess) and later puzzles hard (many bits).

The formula is: Private Key = 2^(n-1) + (wallet_key_n & (2^(n-1) - 1))

Puzzle Range Start Private Key (example)
#1 1 (1 bit) 1
#5 16 (5 bits) 21
#33 2^32 (33 bits) 7137437912
#71 2^70 (71 bits) ???

The wallet key is the same for all puzzles — only the mask changes. So if I could find the master seed that generates the wallet, I would get every remaining key at once.

How I Tried to Find the Seed

I took the 69 already-solved puzzles and used them as a "truth test." If I guessed a seed (or passphrase, or random generator setting), I could generate all 69 keys and check: do they match the known ones? If yes, I found the seed.

This turns an impossible search (2^70 possible keys for puzzle #71) into "just" finding the seed.

The Tools I Built

link to repo ; https://github.com/mlartab/bitcoin-puzzle-systematic-analysis

Here is every tool in this repo, and what it does.

Tool Language What It Does
seed_hunt_all.py Python Tests passphrases against BIP32 wallets (4 different derivation paths)
seed_hunt_sha256.py Python Tests passphrases against old-school SHA256 brainwallets
z3_crack.py Python Uses Z3 SAT solver to try to reverse-engineer the Mersenne Twister state
gen_observed.py Python Generates partial output lists for the untwister state-recovery tool
mt_brute.cpp C++ Scans ALL 4 billion possible 32-bit seeds for Python's random module
rand_brute.cpp C++ Scans ALL 4 billion possible seeds for C's rand()
java_crack.cpp C++ Tries to recover Java's Random seed using modular arithmetic (no brute force!)
scanner.py Python A custom range scanner I built to sweep through key ranges
submitted by /u/Gain-Fluffy
[link] [comments]
Get BONUS $200 for FREE!

You can get bonuses upto $100 FREE BONUS when you:
💰 Install these recommended apps:
💲 SocialGood - 100% Crypto Back on Everyday Shopping
💲 xPortal - The DeFi For The Next Billion
💲 CryptoTab Browser - Lightweight, fast, and ready to mine!
💰 Register on these recommended exchanges:
🟡 Binance🟡 Bitfinex🟡 Bitmart🟡 Bittrex🟡 Bitget
🟡 CoinEx🟡 Crypto.com🟡 Gate.io🟡 Huobi🟡 Kucoin.



Comments