Post
Topic
Board Development & Technical Discussion
Re: BitCrack - A tool for brute-forcing private keys
by
butka
on 22/06/2018, 08:25:22 UTC
Hi all,

I've been working on a tool for brute-forcing Bitcoin private keys. The main purpose of this tool is to contribute to the effort of solving the Bitcoin puzzle transactions: https://blockchain.info/tx/08389f34c98c606322740c0be6a7125d9860bb8d5cb182c02f98461e5fa6cd15

Does your tool include the increasing bits of entropy with each consecutive address? This pattern was indicated before:

I see a pattern but I do not think it will help much.

My conjecture is that the sequence number (the BTC amount) simply states the number of random bits in the private key.

Check it out:

The 0.001 BTC output used a 1 bit key (already claimed obviously)

The 0.002 BTC output used a 2 bit key

The 0.003 BTC output used a 3 bit key

etc...

The 0.019 BTC output used a 19 bit key

So I would claim the next unclaimed output uses a 51 bit key.

Interesting.

Here's a thought.  What if that is the ONLY pattern.

Consider the possibility that the person that created this "puzzle" has done so as a form of "canary in the coal mine".

The idea would be to generate a bitcoin address completely randomly, but which only uses X bits of entropy.  Then progressively store large values of bitcoins for each increase in entropy to provide an incentive for someone to try and access it.

So:
  • The only possible address with 1 bit of entropy is the address associated with the private key having binary value 1
  • There are 3 possible addresses with 2 bits of entropy.  The addresses associated with the private keys having each of the following binary values (01, 10, 11), and one of them was chosen at random (11)
  • There are 7 possible addresses with 3 bits of entropy, The addresses associated with the private keys having each of the following values (001, 010, 011, 100, 101, 110,  and 111), and one of them was chosen at random (111)
  • There are 15 possible addresses with 4 bits of entropy, and one of them was chosen at random (1000)
  • There are 31 possible addresses with 5 bits of entropy, and one of them was chosen at random (10101)
  • There are 63 possible addresses with 6 bits of entropy, and one of them was chosen at random (110001)
  • There are 127 possible addresses with 7 bits of entropy, and one of them was chosen at random (1001100)
  • and so on

By looking at which addresses have been "claimed", the creator of the "puzzle" can get a feel for the current security of version 1 bitcoin addresses.

So, if there are 50 addresses that have been "claimed", perhaps they'll avoid using any bitcoin address that has a private key with less than 51 binary digits for storing large amounts (actually, I'd probably go a bit higher than that just to be safe), and would have a feel for how secure addresses with 160 or more bits of entropy would be.

If that is what's going on here, then there may not be a "formula" or "pattern" that can be used.  To get the 51st address, you'd just have to brute force try all addresses associated with private keys between 1125899906842624 and 2251799813685248 (which is only about 1.126 X 1015 addresses).