Pages:
Author

Topic: BitCrack - A tool for brute-forcing private keys - page 4. (Read 74373 times)

full member
Activity: 1092
Merit: 227
I never thought bitcoin/blockchain technology will see a day where people are making efforts to brute force the only technology that we need to keep the way it is or just improve on the sides of network adoption, feasibility in terms of fees, p2p and KYC free adoption. This should be the development we need to have right now and not the other way around.

I see some negative implications of this idea. Irrespective of what others think I don’t like the idea of having brute force technology. It would be obvious that soon others will copy it and start misusing the same for their own benefit. Not sure if this is only for one time use but it’s bad idea.

By just reading it I’m frightened about my wallet security. Lolz.
copper member
Activity: 1330
Merit: 899
🖤😏
It is important to note that brute-forcing Bitcoin private keys is not a legal activity and is also not ethical. The tool you have created can be used for illegal activities such as stealing funds from individuals or organizations, and it can also be used for unethical purposes such as compromising the security and privacy of individuals. Therefore, it is important to use your skills and knowledge for ethical and legal purposes only.
It's time to leave the basement and join the outside world, bitcoin is an open source technology using a publicly accessible elliptic curve, whole point of using EC is due to the difficulty of finding randomly generated big private keys.

However to demonstrate how difficult it actually is, allegedly @Satoshi himself organized a series of puzzles placing bitcoins in extremely easy bit ranges and after some times some people figured it out and started  to post     topics about the subject, it was originally around 32 bitcoins, then it was increased to 100, and  2 weeks ago he added around 900 more bitcoins totalling around 1000 BTC as a prize for solvers. It has been done with consent and is totally legal.

Do also note that brute forcing any large private key will take billions of years, and brute forcing a small key in a very very small range will take decades with many high end GPUs.

Further more, all the available "cracking" tools are inefficient as they are just not enough to pose any threat.

Ps, around these woods we operate by bit and x,y, we are alien to terms such as ethics. Lol.😉
newbie
Activity: 2
Merit: 0

Were you in a cave for the last couple of years? I mean my old laptop with a low end GPU can eat 30MK/s, now you want us to chew 17 Mk in a day? Wasn't it enough that with trillions of keys per second we'd still be years from finding 66, now we have to keep searching till the sun dies off into darkness.🤣

Keep at it though, every person is an asset ( to share our desperation and despair). Sigh. Lol

Buddy this is a cpu only script at the moment and building on it, as Bitcrack is not working on any improvement. Yeah it does 16 Mil per thread, at 8 thread rig it should do 128 Mil per day, my server does about 512 Mil per process, but only run 1 at time as I need server to do allot of other stuff to.
Running 5 X processes of above that peaks by cpu at 80% gives me 128 x 5 Mil per day

If you think you can optimize the code to check faster, then try.

And will update the code to use GPU and CPU hopefully soon, just ironing some cuda bugs.
I did tests with bitcrack where I gave it 1 Bil keys to check with a correct one in these large ranges. It missed to match it, thinking due to same bug i'm having with cudo cores splitting the decimal processing when working with these large decimals.

With what 800 quad quadrillions possibilities your talking 100 of thousands of years, that is if you check from bottom to top, randomly is another ball game, as random numbers can repeat, but at least you have a fat chance in hell as who has a few millions years to check from top to bottom?

My data in my sheet in github did however reveal an interesting pattern. The decimals of all the private keys of every puzzle are within 12% to 49% of the base decimal (range)
So if the pattern repeats with next puzzles you can only check this above decimal ranges

I have a script currently doing that, just get the decimal of the private key :
current_decimal = int.from_bytes(bytes.fromhex(key.private_hex), 'big')
Check if is in range 12 - 49%, if not, no need to waste processing and checking it against public key
this however just gives me a 11 500 X 1.2 boost per thread per second

When I get the gpu part working I will also work on a reversed engineered sha256 function, we know the public key is generated by the private key, and we know the public key. So maybe we can find a formula to exclude a large list of the private keys to check that will never resolve to certain characters in the public key

Lastly I was thinking of doing a database of checked keys to, but to check database will slow it down, but if multiple rigs update it, might lead to someone finding it faster. Seems bit unfair as only someone will get the spoils even if it is a team effort and concerned that this will lead to poeple raping my server that hosts the what 80 gig database in the end

Also in my sheet I was hoping their is a pattern in the decimal multiplier from one puzzle to the next :

y = base high / decimal
x > y
z = x - y
x = z + y
x = x

So if they had a method to determine the next puzzle, a solution could be to find the x multiplier, but so far, I've not been able to find it
copper member
Activity: 1330
Merit: 899
🖤😏

Were you in a cave for the last couple of years? I mean my old laptop with a low end GPU can eat 30MK/s, now you want us to chew 17 Mk in a day? Wasn't it enough that with trillions of keys per second we'd still be years from finding 66, now we have to keep searching till the sun dies off into darkness.🤣

Keep at it though, every person is an asset ( to share our desperation and despair). Sigh. Lol
newbie
Activity: 2
Merit: 0
I wonder if keys were generated by some deterministic wallet first, and then truncated to N bits. Because in that case, it could be possible to recover the master key, and then sweep coins from all of them, while it would not mean that ECDSA is broken (because HD keys could be non-hardened).

Interesting puzzle, I checked for patterns between binary values, decimal values, floor values. Just cant find anything

I updated an excel sheet puzzle bitcoin.xlsx with allot more data of each puzzle. Like decimal, binary, floor, and allot more data per puzzle. Even multipliers of the data to the next puzzle.

Since this range is just so huge, I think a random generator would maybe work best to try and find the needle.

I attached below my python script trying the next puzzle randomly if someone might benefit to

https://github.com/negate7o4/Bitcoin-Puzzle

On my rig, I7 if I run 5 X instances, it checks about 11 500 possibilities per second per thread, but eats 80% cpu. So the code chews threw 16.5 Mil random possibilities per day

If you want to try a different puzzle, just change these values in the script :

address = '1FeexV6bAHb8ybZjqQMjJrcCrHGW9sb6uF'

start_key = '0000000000000000000000000000000000000000000000040000000000000000' stop_key = '000000000000000000000000000000000000000000000007ffffffffffffffff'

Also take note of the cpu threads the code uses, update according to your threads.

Their is also a text file in my repository of the correct pip's you need to install for the code to work
member
Activity: 71
Merit: 19
copper member
Activity: 1330
Merit: 899
🖤😏
Still it’s fascinating to play around and see what others use as approaches. This only shows how good Bitcoin really is and I’m shure if satoshi is still around this would be one of the threads he would read with interest to see how Bitcoin performs  Cheesy
Well, the vulnerabilities already exist, we don't know about them yet, this puzzle needs to go on for ever, and it should remain filled with hundreds of bitcoins, just imagine if someone had access to a backdoor or some sort, they could at least take the puzzle prizes because it wouldn't be theft, but if there is no puzzle prize, the exploiter could be tempted to go after people's coins.😉
hero member
Activity: 938
Merit: 642
Magic
Still it’s fascinating to play around and see what others use as approaches. This only shows how good Bitcoin really is and I’m shure if satoshi is still around this would be one of the threads he would read with interest to see how Bitcoin performs  Cheesy
newbie
Activity: 72
Merit: 0
this is senseless
member
Activity: 261
Merit: 19
the right steps towerds the goal
what about puzzle 66?  Undecided

For 66 I have been trying something like this.

 
================================ Deterministic wallet masked with leading Zeros ==================================


Bip44 : sadness behind zone combine purse sentence bench symbol rookie bag attract govern
Msk66 : 0000000000000000000000000000000000000000000000020000000000000000
Pkv66 : 000000000000000000000000000000000000000000000003e9542b9b08d3383b
Addrs : 13z7L2eYpaMRNEBmmT2EshBbxHUABDNccx
Range : 3e9542b9000000000:3e9542b9fffffffff
Prefx : 13zb1hQbW

VanBitCrackenS v1.0
Keyspace start=3E9542B9000000000
Keyspace   end=3E9542B9FFFFFFFFF
Search: 15 prefixes (Lookup size 15) [Compressed]
Started at Sun Mar 12 16:43:46 2023
CPU threads used: 0
GPU: GPU #0 NVIDIA GeForce RTX 3060 Ti (38x128 cores) Grid(304x512)
1118.441 MK/s (GPU 1118.441 MK/s) (2^36.25) [00:01:13 Elapsed Time][0]
[EXIT] Reached end of keyspace.

Finish at Sun Mar 12 16:45:01 2023

 ================================ Deterministic wallet masked with leading Zeros ==================================


Bip44 : deliver cute current mean dutch cloud city defy system exercise glide wet
Msk66 : 0000000000000000000000000000000000000000000000020000000000000000
Pkv66 : 000000000000000000000000000000000000000000000002b2d4e487b051ce63
Addrs : 13zb56FGSawmd1MuSsKJNrTWgNnRZwt6sz
Range : 2b2d4e48000000000:2b2d4e48fffffffff
Prefx : 13zb1hQbW

VanBitCrackenS v1.0
Keyspace start=2B2D4E48000000000
Keyspace   end=2B2D4E48FFFFFFFFF
Search: 15 prefixes (Lookup size 15) [Compressed]
Started at Sun Mar 12 16:47:34 2023
CPU threads used: 0
GPU: GPU #0 NVIDIA GeForce RTX 3060 Ti (38x128 cores) Grid(304x512)
1119.082 MK/s (GPU 1119.082 MK/s) (2^36.25) [00:01:13 Elapsed Time][0]
[EXIT] Reached end of keyspace.

Finish at Sun Mar 12 16:48:49 2023

 ================================ Deterministic wallet masked with leading Zeros ==================================


Bip44 : summer very sausage trust brown post immune advice valley opera little charge
Msk66 : 0000000000000000000000000000000000000000000000020000000000000000
Pkv66 : 000000000000000000000000000000000000000000000003598a8ee012faf870
Addrs : 13zbbSg7nRLSpyCNpJ3WZD1J9M6PUtvfC6
Range : 3598a8ee000000000:3598a8eefffffffff
Prefx : 13zb1hQbW

VanBitCrackenS v1.0
Keyspace start=3598A8EE000000000
Keyspace   end=3598A8EEFFFFFFFFF
Search: 15 prefixes (Lookup size 15) [Compressed]
Started at Sun Mar 12 16:50:04 2023
CPU threads used: 0
GPU: GPU #0 NVIDIA GeForce RTX 3060 Ti (38x128 cores) Grid(304x512)
1108.211 MK/s (GPU 1108.211 MK/s) (2^36.24) [00:01:13 Elapsed Time][0]
[EXIT] Reached end of keyspace.

Finish at Sun Mar 12 16:51:19 2023

 ================================ Deterministic wallet masked with leading Zeros ==================================


Bip44 : fatigue suggest claw strike give test use indoor hold romance coral insane
Msk66 : 0000000000000000000000000000000000000000000000020000000000000000
Pkv66 : 00000000000000000000000000000000000000000000000217a4dd28cf107aa2
Addrs : 13zPcX7WPcLCYSaavTwg2ntBGH8pVHb76Z
Range : 217a4dd2000000000:217a4dd2fffffffff
Prefx : 13zb1hQbW

VanBitCrackenS v1.0
Keyspace start=217A4DD2000000000
Keyspace   end=217A4DD2FFFFFFFFF
Search: 15 prefixes (Lookup size 15) [Compressed]
Started at Sun Mar 12 16:52:35 2023
CPU threads used: 0
GPU: GPU #0 NVIDIA GeForce RTX 3060 Ti (38x128 cores) Grid(304x512)
1097.404 MK/s (GPU 1097.404 MK/s) (2^36.24) [00:01:13 Elapsed Time][1]
[EXIT] Reached end of keyspace.

Finish at Sun Mar 12 16:53:50 2023

 ================================ Deterministic wallet masked with leading Zeros ==================================


Bip44 : stuff kiss clog easy present fancy scrub climb link input rural globe
Msk66 : 0000000000000000000000000000000000000000000000020000000000000000
Pkv66 : 0000000000000000000000000000000000000000000000024c4a7d632c865b7b
Addrs : 13zYHtjJYESDvXXnXtymtDxFqB5tYxjJqt
Range : 24c4a7d6000000000:24c4a7d6fffffffff
Prefx : 13zb1hQbW

VanBitCrackenS v1.0
Keyspace start=24C4A7D6000000000
Keyspace   end=24C4A7D6FFFFFFFFF
Search: 15 prefixes (Lookup size 15) [Compressed]
Started at Sun Mar 12 16:56:35 2023
CPU threads used: 0
GPU: GPU #0 NVIDIA GeForce RTX 3060 Ti (38x128 cores) Grid(304x512)
1108.418 MK/s (GPU 1108.418 MK/s) (2^36.25) [00:01:13 Elapsed Time][1]
[EXIT] Reached end of keyspace.

Finish at Sun Mar 12 16:57:50 2023

 ================================ Deterministic wallet masked with leading Zeros ==================================


Bip44 : inquiry suit dentist detail gap pumpkin income dwarf express figure person enter
Msk66 : 0000000000000000000000000000000000000000000000020000000000000000
Pkv66 : 000000000000000000000000000000000000000000000003159cfd7dde56dbc9
Addrs : 13zTojop1dzyxufJL5mkuWYCAiunW37vKN
Range : 3159cfd7000000000:3159cfd7fffffffff
Prefx : 13zb1hQbW

VanBitCrackenS v1.0
Keyspace start=3159CFD7000000000
Keyspace   end=3159CFD7FFFFFFFFF
Search: 15 prefixes (Lookup size 15) [Compressed]
Started at Sun Mar 12 16:59:37 2023
CPU threads used: 0
GPU: GPU #0 NVIDIA GeForce RTX 3060 Ti (38x128 cores) Grid(304x512)
1109.837 MK/s (GPU 1109.837 MK/s) (2^36.25) [00:01:13 Elapsed Time][0]
[EXIT] Reached end of keyspace.

Finish at Sun Mar 12 17:00:52 2023

 ================================ Deterministic wallet masked with leading Zeros ==================================


Bip44 : anxiety raccoon clarify mule immense left wing any race today copy home
Msk66 : 0000000000000000000000000000000000000000000000020000000000000000
Pkv66 : 0000000000000000000000000000000000000000000000021eaaae7cea5af2f2
Addrs : 13z5MJcCTKHwVzC6C2hbXNMyAwGXMceYd7
Range : 21eaaae7000000000:21eaaae7fffffffff
Prefx : 13zb1hQbW

VanBitCrackenS v1.0
Keyspace start=21EAAAE7000000000
Keyspace   end=21EAAAE7FFFFFFFFF
Search: 15 prefixes (Lookup size 15) [Compressed]
Started at Sun Mar 12 17:02:11 2023
CPU threads used: 0
GPU: GPU #0 NVIDIA GeForce RTX 3060 Ti (38x128 cores) Grid(304x512)
1112.090 MK/s (GPU 1112.090 MK/s) (2^36.25) [00:01:13 Elapsed Time][0]
[EXIT] Reached end of keyspace.

Finish at Sun Mar 12 17:03:26 2023

 ================================ Deterministic wallet masked with leading Zeros ==================================


Bip44 : scout boring super zebra swamp dance maze caution popular wait dance drive
Msk66 : 0000000000000000000000000000000000000000000000020000000000000000
Pkv66 : 00000000000000000000000000000000000000000000000232b86039f7aedbd8
Addrs : 13zwx4VKzyRUmQEjecnHxso88RVa34RJFC
Range : 232b8603000000000:232b8603fffffffff
Prefx : 13zb1hQbW

VanBitCrackenS v1.0
Keyspace start=232B8603000000000
Keyspace   end=232B8603FFFFFFFFF
Search: 15 prefixes (Lookup size 15) [Compressed]
Started at Sun Mar 12 17:05:01 2023
CPU threads used: 0
GPU: GPU #0 NVIDIA GeForce RTX 3060 Ti (38x128 cores) Grid(304x512)
1106.019 MK/s (GPU 1106.019 MK/s) (2^36.25) [00:01:13 Elapsed Time][0]
[EXIT] Reached end of keyspace.

Finish at Sun Mar 12 17:06:16 2023

 ================================ Deterministic wallet masked with leading Zeros ==================================


Bip44 : reveal muffin accident harbor disagree maple enter spice divert stock when suit
Msk66 : 0000000000000000000000000000000000000000000000020000000000000000
Pkv66 : 000000000000000000000000000000000000000000000002c5c95f84b0f9520c
Addrs : 13zsB9pM1WXH2FdnVhpoyJkiMsaDpL5WgT
Range : 2c5c95f8000000000:2c5c95f8fffffffff
Prefx : 13zb1hQbW

VanBitCrackenS v1.0
Keyspace start=2C5C95F8000000000
Keyspace   end=2C5C95F8FFFFFFFFF
Search: 15 prefixes (Lookup size 15) [Compressed]
Started at Sun Mar 12 17:07:37 2023
CPU threads used: 0
GPU: GPU #0 NVIDIA GeForce RTX 3060 Ti (38x128 cores) Grid(304x512)
1109.461 MK/s (GPU 1109.461 MK/s) (2^36.25) [00:01:13 Elapsed Time][0]
[EXIT] Reached end of keyspace.

Finish at Sun Mar 12 17:08:51 2023

 ================================ Deterministic wallet masked with leading Zeros ==================================


Bip44 : sibling fence brave mirror picnic only harvest remember make torch protect daughter
Msk66 : 0000000000000000000000000000000000000000000000020000000000000000
Pkv66 : 000000000000000000000000000000000000000000000002a641ddfe686bb93f
Addrs : 13znKyww6sn8NhxibmPvfzqueLPLoEk9hi
Range : 2a641ddf000000000:2a641ddffffffffff
Prefx : 13zb1hQbW

VanBitCrackenS v1.0
Keyspace start=2A641DDF000000000
Keyspace   end=2A641DDFFFFFFFFFF
Search: 15 prefixes (Lookup size 15) [Compressed]
Started at Sun Mar 12 17:13:31 2023
CPU threads used: 0
GPU: GPU #0 NVIDIA GeForce RTX 3060 Ti (38x128 cores) Grid(304x512)
1118.169 MK/s (GPU 1118.169 MK/s) (2^36.25) [00:01:13 Elapsed Time][0]
[EXIT] Reached end of keyspace.

Finish at Sun Mar 12 17:14:46 2023

 ================================ Deterministic wallet masked with leading Zeros ==================================


Bip44 : paper ask blind spoon flat length arch bird upgrade certain abstract thank
Msk66 : 0000000000000000000000000000000000000000000000020000000000000000
Pkv66 : 000000000000000000000000000000000000000000000002264864827ec5d907
Addrs : 13zsck36JGo8jFPcHDqTZwK7AAgsJXMtgw
Range : 22648648000000000:22648648fffffffff
Prefx : 13zb1hQbW

VanBitCrackenS v1.0
Keyspace start=22648648000000000
Keyspace   end=22648648FFFFFFFFF
Search: 15 prefixes (Lookup size 15) [Compressed]
Started at Sun Mar 12 17:16:33 2023
CPU threads used: 0
GPU: GPU #0 NVIDIA GeForce RTX 3060 Ti (38x128 cores) Grid(304x512)
1111.710 MK/s (GPU 1111.710 MK/s) (2^36.25) [00:01:13 Elapsed Time][0]
[EXIT] Reached end of keyspace.

Finish at Sun Mar 12 17:17:48 2023
newbie
Activity: 33
Merit: 0
I'd throw in "Quantum computers" into the discussion but considering that commercial versions are 20+ years away from reality, it's more likely that people will be alerted by some Google Project Zero researcher who finds and discloses a flaw in ECDSA, than by any brute forcing a bunch of crackers are doing Smiley

However, we'd make a good benchmark on how practical the exploits are for random people to pull off.

Yes, I was thinking about QCs as well. In fact, it is quite likely that some undisclosed powerful machine managed to find the #120 after searching for smaller ranges on the blockchain. Quite possibly without being aware of this forum.

I would say that a science lab team would not actually send the BTC - they normally follow good ethical standards.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
I personally do not believe it was intended to test the overall strength of the blockchain or bitcoin encryption. There are scientists who use very powerful hardware in very advanced laboratories who have been testing encryption challenges for years. And they do not usually visit forums in order to share their findings, primarily due to security concerns.

I'd throw in "Quantum computers" into the discussion but considering that commercial versions are 20+ years away from reality, it's more likely that people will be alerted by some Google Project Zero researcher who finds and discloses a flaw in ECDSA, than by any brute forcing a bunch of crackers are doing Smiley

However, we'd make a good benchmark on how practical the exploits are for random people to pull off.
newbie
Activity: 1
Merit: 0
what about puzzle 66?  Undecided
member
Activity: 261
Merit: 19
the right steps towerds the goal
chid = 12 e3d5306d21a01002b9c1c7009d09e9b4773b8f17ee609c760b225179c283983a
mask = 12 0000000000000000000000000000000000000000000000000000000000001000
puzz = 12 000000000000000000000000000000000000000000000000000000000000183a
addr = 12 1CQkWJjiN8XriTHTxHp1DTwmK6Jqw8g7uL

chid = 13 f7eaeb7e36ad6c888106571363dceb9ddbfb15ec42d599e8385f89a3f78d0975
mask = 13 0000000000000000000000000000000000000000000000000000000000002000
puzz = 13 0000000000000000000000000000000000000000000000000000000000002975
addr = 13 1D9Ke1efDzABEGjStePtq3K2kFvXL2ub9

chid = 14 f9a54d6d6d2242caab523cbf6b6f1a2f84333b9bed0f8c3be4b87014908a929b
mask = 14 0000000000000000000000000000000000000000000000000000000000004000
puzz = 14 000000000000000000000000000000000000000000000000000000000000529b
addr = 14 1DkS6GGepLbDtAsv5RUWZNzFpqpXp6Ghyp

chid = 15 b8a00b1257c99ba1a2478b41d283586f0c76c48b4237b5db31631feb371091e7
mask = 15 0000000000000000000000000000000000000000000000000000000000008000
puzz = 15 00000000000000000000000000000000000000000000000000000000000091e7
addr = 15 15GRgqRJr8LiacnRPb2iaSEJtXhfDJ1Q17

chid = 16 7c4fc3241d8ee50aa0e72f46c92ee3deae067fc09fbecfff28032174921ce7fb
mask = 16 0000000000000000000000000000000000000000000000000000000000010000
puzz = 16 000000000000000000000000000000000000000000000000000000000001e7fb
addr = 16 1Cx3WDjc3vHW4DTvGq1MtrU2rrVMvMZJR7

chid = 17 8f1641f977618f5f646df45cddc1faac4277fe6beed9ba61264f313d4b0ecf6a
mask = 17 0000000000000000000000000000000000000000000000000000000000020000
puzz = 17 000000000000000000000000000000000000000000000000000000000002cf6a
addr = 17 1LsG5kw7QwioKiMW3wspU3XTN31989c1Ds

chid = 18 1a6d15e555182b9961fd9b16b3ab1fa555b8f94c4e44395881d76713f0ed787c
mask = 18 0000000000000000000000000000000000000000000000000000000000040000
puzz = 18 000000000000000000000000000000000000000000000000000000000005787c
addr = 18 121KXamvwbNoaLYyjddVD9NqahMjjebTqK

chid = 19 f0aa486210b7d2e881eeffd95d02e4b9bf114191fe6d8648529abde391c496ab
mask = 19 0000000000000000000000000000000000000000000000000000000000080000
puzz = 19 00000000000000000000000000000000000000000000000000000000000c96ab
addr = 19 1Ka5pj9nmYQ5kwBewhydq2BVnLAQRSF3sG

chid = 20 aa48bf28b307ad3efe5ed2e35e244b39c4d91c7e6b1ee071ef8fa7cf56543c9e
mask = 20 0000000000000000000000000000000000000000000000000000000000100000
puzz = 20 0000000000000000000000000000000000000000000000000000000000143c9e
addr = 20 1Jj9EHtu2zM9Gu5hTRVfvtvHaKosnAR8cz

chid = 21 2933504b93161ab48a70acca16be5eaef56ef950e030b4f7b656d04e8b6fc17f
mask = 21 0000000000000000000000000000000000000000000000000000000000200000
puzz = 21 00000000000000000000000000000000000000000000000000000000002fc17f
addr = 21 1KrXCyRHiaQ9bdyCp1SC8kn9GDaFLCssQJ

chid = 22 32b349e7e2b975a82d3aa1b2ff12fda6f53697ef9745ed6621f70174c72bcf23
mask = 22 0000000000000000000000000000000000000000000000000000000000400000
puzz = 22 00000000000000000000000000000000000000000000000000000000006bcf23
addr = 22 15Fd9aZQTB2P483wHrLgF187BBrCom3Mft

chid = 23 75aad343bb176dd9b7e82a5e0918d04ebed50cce7a9b433cc422109769c20381
mask = 23 0000000000000000000000000000000000000000000000000000000000800000
puzz = 23 0000000000000000000000000000000000000000000000000000000000c20381
addr = 23 1J1KX8vL6GfnymvSG2dR9spJ3bJ5gv1Rqj

chid = 24 2a65a466500a6b0f7a2ee912e722b4a38663dd1482ce4afeeacbcc8ffeed84cc
mask = 24 0000000000000000000000000000000000000000000000000000000001000000
puzz = 24 0000000000000000000000000000000000000000000000000000000001ed84cc
addr = 24 1HNZxLPMtA9iXegM9iYkGwiDapn6XkYgBk

chid = 25 3b8ab28ba02f4bc9632b6efeb72cbee545b70e8b49e12178c34486c3d53d4fab
mask = 25 0000000000000000000000000000000000000000000000000000000002000000
puzz = 25 00000000000000000000000000000000000000000000000000000000033d4fab
addr = 25 1HQqmYJ6NHTs4SPcmSt69YEU4BUD2VLkiw

chid = 26 8efe03ce609a8c25bc8fb7a82044ec013919242f8f3cab81666224812700d4a4
mask = 26 0000000000000000000000000000000000000000000000000000000004000000
puzz = 26 000000000000000000000000000000000000000000000000000000000700d4a4
addr = 26 13u92beTk3qRVh2VLwnc9G9UtbVzWeR93C

chid = 27 ef928b336e2c8fbdd808536b577fe878f7c82da6fc653e3bb51218661330c81e
mask = 27 0000000000000000000000000000000000000000000000000000000008000000
puzz = 27 000000000000000000000000000000000000000000000000000000000b30c81e
addr = 27 1BRqzvah75SGWh34b4AZ2XJWhJorepzmaT

chid = 28 f8cf921da04b8b3174b8ba0bb2c04379d4610ad61356c79922fa36309f29e525
mask = 28 0000000000000000000000000000000000000000000000000000000010000000
puzz = 28 000000000000000000000000000000000000000000000000000000001f29e525
addr = 28 17m1CeXkduhc2hVhgrjuMmH2d8PgWaJMuN

chid = 29 2d6c63c2f05686b7613897ef6fc699698f05dd68a93628539394ee23f430a262
mask = 29 0000000000000000000000000000000000000000000000000000000020000000
puzz = 29 000000000000000000000000000000000000000000000000000000003430a262
addr = 29 146HxCNRbZ8ubS1vhkaPEpbAa7S1vCpdGT

chid = 30 6be61d75070afc39047966f05f16e01382e705c6c43a2595d88700a82d2344d5
mask = 30 0000000000000000000000000000000000000000000000000000000040000000
puzz = 30 000000000000000000000000000000000000000000000000000000006d2344d5
addr = 30 1NwomQRwzPMViy9L3ssaFoNLNaZtLWEui3

chid = 31 bd25220eaa31e92add8f6de398ffafa1470fc09227e117fed62b2b0b9e2b83e5
mask = 31 0000000000000000000000000000000000000000000000000000000080000000
puzz = 31 000000000000000000000000000000000000000000000000000000009e2b83e5
addr = 31 1P5ZHhtYRmsp3mE7sWyRKnqo1eduHtKEpY

chid = 32 c8da00ae90f90a8d6002c867046810a3b1bedbde939484e42964f0bd6c25e10a
mask = 32 0000000000000000000000000000000000000000000000000000000100000000
puzz = 32 000000000000000000000000000000000000000000000000000000016c25e10a
addr = 32 12xC3wyccymCikuGTSG1MiyBWhD4MJqQk4

chid = 33 258ba754521e220d6fc4fee153f1f320d82305390b7b7b3040611470e2bdebc9
mask = 33 0000000000000000000000000000000000000000000000000000000200000000
puzz = 33 00000000000000000000000000000000000000000000000000000002e2bdebc9
addr = 33 19EwBKvqhN9ezbG8mtzEbuV9QdkFoG5bAh

chid = 34 95a795c4cfcfa4282e959e5e60df61d637cadeb3b9209b3e74efb81440b6fc37
mask = 34 0000000000000000000000000000000000000000000000000000000400000000
puzz = 34 0000000000000000000000000000000000000000000000000000000440b6fc37
addr = 34 1K8QPAQYUGdRrqopZkVeX9deoMzAecjgec

chid = 35 4e8c25418c4a65ba839545c4065554eef1a1a50ca04acb9f0c1a76bd9e2fa6c2
mask = 35 0000000000000000000000000000000000000000000000000000000800000000
puzz = 35 0000000000000000000000000000000000000000000000000000000d9e2fa6c2
addr = 35 1K4GnWwVw2bn8pA8YpKTZBrG2DsUS4vg4g

chid = 36 34cd337ec3b05e74fabaa74af7a30fa6a4e2c95fc4a30279df0455c9503ab5e4
mask = 36 0000000000000000000000000000000000000000000000000000001000000000
puzz = 36 00000000000000000000000000000000000000000000000000000019503ab5e4
addr = 36 1JCEJ2x29UvuZMgK722CdPXA9keYSCzWqz

chid = 37 3689b4052ea0c35fcab305c0de93cc505778dc5c06241c320a6b31afcfad2566
mask = 37 0000000000000000000000000000000000000000000000000000002000000000
puzz = 37 0000000000000000000000000000000000000000000000000000002fcfad2566
addr = 37 1AKrsv2HUtVFoqru7NaGHebH2FKNT6k4RC

chid = 38 d08eb583e512a67ab8d1cea3920b1d1622bbd7652bba92070c348abbeb74998c
mask = 38 0000000000000000000000000000000000000000000000000000004000000000
puzz = 38 0000000000000000000000000000000000000000000000000000007beb74998c
addr = 38 18YTwRx1n4jfuNwGNNc5ByWqiEnVnzCEfj

chid = 39 4304213ffafa56e0412f65f5f2d29114f91d696f5b726a22e87d4f8ac01ba451
mask = 39 0000000000000000000000000000000000000000000000000000008000000000
puzz = 39 0000000000000000000000000000000000000000000000000000008ac01ba451
addr = 39 16UMY9fn5dHQsE4fwP4tFXXPEdHTbw9jve

chid = 40 37479f75de648319a47a8a08d6afe4586ab709c94d58844097cc6f7465921222
mask = 40 0000000000000000000000000000000000000000000000000000010000000000
puzz = 40 0000000000000000000000000000000000000000000000000000017465921222
addr = 40 1QABWzhHYxsviPaWrTonKBErmocsHWwXVz

chid = 41 e4fb5ea534fa454d50f326e6130f5d52d52f0a720ea44b740a915717ea191fa0
mask = 41 0000000000000000000000000000000000000000000000000000020000000000
puzz = 41 00000000000000000000000000000000000000000000000000000317ea191fa0
addr = 41 12B6C3jrhMzpQsYg1aAMM3TJSMLgwkSdLb

chid = 42 74d47f128061946f08fc1999b675d7fb44856744103b7c18bd88017a66af3226
mask = 42 0000000000000000000000000000000000000000000000000000040000000000
puzz = 42 0000000000000000000000000000000000000000000000000000057a66af3226
addr = 42 1N9rS25fXmvMDaXEgKEuobVSbkFCPTWkJ3

chid = 43 8c009e839183dd916bb75dd4bc188a21437781069c8765a65e0742cd9dba9b8e
mask = 43 0000000000000000000000000000000000000000000000000000080000000000
puzz = 43 00000000000000000000000000000000000000000000000000000acd9dba9b8e
addr = 43 1JcMwgy2w7C6FKUD6uPZRvL3qHVuYZCWVB

chid = 44 6de042a16f18949d4dbdcd88934f72ad176febaf4838ccc7cfe0888e2693071d
mask = 44 0000000000000000000000000000000000000000000000000000100000000000
puzz = 44 0000000000000000000000000000000000000000000000000000188e2693071d
addr = 44 1LiL4ec54Z13zoM6udpvpAj2BiN2Kosvsx

chid = 45 f4e125c7fdd0775cbfacca1e9f65f3ee130be2304f5f6985777da00d14d39517
mask = 45 0000000000000000000000000000000000000000000000000000200000000000
puzz = 45 0000000000000000000000000000000000000000000000000000200d14d39517
addr = 45 1Bt9G7KPd1T2GDXKGFEXcXrz9jiovRDhwb

chid = 46 edde3d6e7fb1783f8aa7773c37b0cdd1b99eb6ff79e52de682ce88c746ea4882
mask = 46 0000000000000000000000000000000000000000000000000000400000000000
puzz = 46 000000000000000000000000000000000000000000000000000048c746ea4882
addr = 46 18ZL2pKJh5hFhBsH4ztbzqqJv3gJkxTS6j

chid = 47 d0368def3d784cd7500a4d9ec101031f431e8805a40336ebdeb889f272529758
mask = 47 0000000000000000000000000000000000000000000000000000800000000000
puzz = 47 000000000000000000000000000000000000000000000000000089f272529758
addr = 47 1Nqtyz4TmDgcaAF7cLxQutRoR4HkkFUVhb

chid = 48 970c9760c43d7f0224c18df0dd7636e24c537f9c28e5f9af8a1a4d89e82737fd
mask = 48 0000000000000000000000000000000000000000000000000001000000000000
puzz = 48 00000000000000000000000000000000000000000000000000014d89e82737fd
addr = 48 15BPVRV8mUpVPuivqe9wSkN1QEfejvaAR2

chid = 49 0b674768af21d28ee6b0622df9bb5f9086e2f99d9090937f11733af6cf963533
mask = 49 0000000000000000000000000000000000000000000000000002000000000000
puzz = 49 00000000000000000000000000000000000000000000000000033af6cf963533
addr = 49 1LdtPki6Q8oSTQcQRCc7jsKchmHfcwPxYN

chid = 50 78b5de41251eff3f90a7de55b98b83b2126fa1285cbd12b53d82c4acea791a71
mask = 50 0000000000000000000000000000000000000000000000000004000000000000
puzz = 50 0000000000000000000000000000000000000000000000000006c4acea791a71
addr = 50 17F6zDuQaEcWFVeuoo21Wq6BSkbHVMgVdz

chid = 51 743620e3e00696db6f822968a44fd2f7d6ffe8fd05026e15fa5773e93b227801
mask = 51 0000000000000000000000000000000000000000000000000008000000000000
puzz = 51 000000000000000000000000000000000000000000000000000f73e93b227801
addr = 51 1CxQXeKaH37gDMvaFUFMfk5L9im857WCyT

chid = 52 1082b760aef71626d93660d67a3b881b227e082959995e0b81f3c611d76afd90
mask = 52 0000000000000000000000000000000000000000000000000010000000000000
puzz = 52 0000000000000000000000000000000000000000000000000013c611d76afd90
addr = 52 15rsg71Xm33reLtBwmecdq14YHpJkPDcR8

chid = 53 586a619996b668680dbac7875cde1c696b56a3e75bea1407279ec2a6676e7685
mask = 53 0000000000000000000000000000000000000000000000000020000000000000
puzz = 53 000000000000000000000000000000000000000000000000003ec2a6676e7685
addr = 53 1Prw79oRa2tbF2hom4N6ajm3nFXqbnkzDc

chid = 54 25e060e38a3e1ccf258353b8d33677722d8844a07f5482567922fdda5fbf2756
mask = 54 0000000000000000000000000000000000000000000000000040000000000000
puzz = 54 0000000000000000000000000000000000000000000000000062fdda5fbf2756
addr = 54 1LWcTNcwBQ6iiGtPFDTcY84MvKe3yr4Umo

chid = 55 8e69a99c0aa02b5f2063fbc27dcde25fe3b69d93c4f3472d9133ae4800ee5a4d
mask = 55 0000000000000000000000000000000000000000000000000080000000000000
puzz = 55 00000000000000000000000000000000000000000000000000b3ae4800ee5a4d
addr = 55 1DMaEzF58zRRcsw5fmj4tWGU6QSEPm5MQq

chid = 56 23f1b089dec1de329b8882f2f72e34322f94cce2da4a8f11fda701bad71729ba
mask = 56 0000000000000000000000000000000000000000000000000100000000000000
puzz = 56 00000000000000000000000000000000000000000000000001a701bad71729ba
addr = 56 1A2xHoWPN55RJqNxfKykhei7U3qqqJhnnY

chid = 57 876c0868f48554033068bd534874eeab9f44f843e5b62d3e91bb6766d3437ce8
mask = 57 0000000000000000000000000000000000000000000000000200000000000000
puzz = 57 00000000000000000000000000000000000000000000000003bb6766d3437ce8
addr = 57 15w72gJjQ2rQVRGeVeLhac9n7iJHdFEoqv

chid = 58 ba4ba53636465c058fa1c32401ffdee3bf701928140f02fad0ab6aff2df91e78
mask = 58 0000000000000000000000000000000000000000000000000400000000000000
puzz = 58 00000000000000000000000000000000000000000000000004ab6aff2df91e78
addr = 58 13cS5jzh8EfqyJoFoxNUYFhXta8UuAbUz3

chid = 59 61e8674ec717dab1a1fa10510c9c5fadf206b1093face56e525f2f7faa7279c8
mask = 59 0000000000000000000000000000000000000000000000000800000000000000
puzz = 59 0000000000000000000000000000000000000000000000000a5f2f7faa7279c8
addr = 59 1824pskx3KvmU6vgvFqfc7eEs4G2zxdyi7

chid = 60 483c0f888ca2580ea8329f3a05fad436366ef1edcf239d1ee9185bb978b60fc7
mask = 60 0000000000000000000000000000000000000000000000001000000000000000
puzz = 60 00000000000000000000000000000000000000000000000019185bb978b60fc7
addr = 60 12dFVUHWxMz6GvQA1D6zrAogZft9ajeNUH

chid = 61 30989fb2c5dd9d3865b6a7c8b74528d88344cd3f9e498f0e67f9d7e29e60d924
mask = 61 0000000000000000000000000000000000000000000000002000000000000000
puzz = 61 00000000000000000000000000000000000000000000000027f9d7e29e60d924
addr = 61 17k3c2baMMvReYp5wuMKvmwXkQ8Xe94pg4

chid = 62 9088488b7530b1094a2922a5ffcfae576ee32dccdcca81ca5ae782dc76ad527e
mask = 62 0000000000000000000000000000000000000000000000004000000000000000
puzz = 62 0000000000000000000000000000000000000000000000005ae782dc76ad527e
addr = 62 1ETyLHX7tp2ZkrtwEBVchjZAYrS5MXPtg8

chid = 63 a40ae5be8cc37e1ff39a8bf81f7f5f0b164e11e4408e91f9376914bbc97aac3c
mask = 63 0000000000000000000000000000000000000000000000008000000000000000
puzz = 63 000000000000000000000000000000000000000000000000b76914bbc97aac3c
addr = 63 1C1awYFTn6LobbyetwopgVwh2v9UPFiMVq

chid = 64 95cc6f31f552f03eaede91b89e345f41ff06d6ce816d0a460ebcd7d0eacbe579
mask = 64 0000000000000000000000000000000000000000000000010000000000000000
puzz = 64 0000000000000000000000000000000000000000000000010ebcd7d0eacbe579
addr = 64 18SmQG5WHwkMqKVJXBYe1yHTLog53qWdme

chid = 65 4fa517f3c33ae0b4417d426007ecc263a1f33c7c8dfb677d5d8bdf810edd8a07
mask = 65 0000000000000000000000000000000000000000000000020000000000000000
puzz = 65 0000000000000000000000000000000000000000000000035d8bdf810edd8a07
addr = 65 1PVm3xXbdUkyooPGYdRAyEW48182AjPRdu

chid = 66 a7b9cd7d218cd4ab7a382aa4c823d1d43330e578868ca80880cf0f3c36fa6ad4
mask = 66 0000000000000000000000000000000000000000000000040000000000000000
puzz = 66 00000000000000000000000000000000000000000000000480cf0f3c36fa6ad4
addr = 66 1AT7oovTNs8ViFoSiE8uGh3TngAjC8MBNZ

chid = 67 8fe5782ffacfdd622be74389ba441ac3c7c5524015edda6c13b234551eda02bb
mask = 67 0000000000000000000000000000000000000000000000080000000000000000
puzz = 67 00000000000000000000000000000000000000000000000c13b234551eda02bb
addr = 67 17ADKjSRaBsdx24NMErFhwy6WxJGA791BW

chid = 68 3b87dbbe806affbcf7d03ddebeb42085ee79af4e14df04a8c6c58a95ebef5b54
mask = 68 0000000000000000000000000000000000000000000000100000000000000000
puzz = 68 000000000000000000000000000000000000000000000018c6c58a95ebef5b54
addr = 68 123Kqkzc8PfgmwfeE64GN9HwdNWXFFFb6D

chid = 69 5971d14218af57944e48ea66e2e047201230587f76be218c6b47db523ce2c84a
mask = 69 0000000000000000000000000000000000000000000000200000000000000000
puzz = 69 00000000000000000000000000000000000000000000002c6b47db523ce2c84a
addr = 69 148VnjnCJyMDhhqkmYKGyrZuzGFSYrqeuT

chid = 70 f6db9416862a167a7ce4b95568fde3e96142a3d6b5995064aa68e44e2a299ff6
mask = 70 0000000000000000000000000000000000000000000000400000000000000000
puzz = 70 000000000000000000000000000000000000000000000064aa68e44e2a299ff6
addr = 70 1MqG3jkAm9F3xnFHg5rWUt1JvK73DoXaGf

chid = 71 79eb4bf5b726961917fb9195cedbb621bcee2feee8df739f5962b8de4b2bfb5e
mask = 71 0000000000000000000000000000000000000000000000800000000000000000
puzz = 71 00000000000000000000000000000000000000000000009f5962b8de4b2bfb5e
addr = 71 12JJXoeJKmvjnY7bdhv1PtgYLYq4dwEy29

chid = 72 cac57a9f3708328bb7d6a0a426286a097b77fb6b498989b072cc59cbe027035a
mask = 72 0000000000000000000000000000000000000000000001000000000000000000
puzz = 72 0000000000000000000000000000000000000000000001b072cc59cbe027035a
addr = 72 1LWS2fDgLJ3e1zhQ95Fwa7iGw7jcXCFrv2

chid = 73 4980897aba5286ca92f9e86338e32f9f2076b5cb08bceb327b8115331c608566
mask = 73 0000000000000000000000000000000000000000000002000000000000000000
puzz = 73 0000000000000000000000000000000000000000000003327b8115331c608566
addr = 73 1HGnuhfFbVv84REnn13GfjYfYwrcHbnXPz

chid = 74 1ea25eceec68530760e1bbad3afa32c5af0f995d893d21ada9f660c4fa9b02b9
mask = 74 0000000000000000000000000000000000000000000004000000000000000000
puzz = 74 0000000000000000000000000000000000000000000005ada9f660c4fa9b02b9
addr = 74 1CxAwHJvGsD5PYEWNBf5ZYz7Ag13kJMY4G

chid = 75 764b1f04f8586fcc025a27037c0a9a90395d2fd8b648cebe057929d8abd0606d
mask = 75 0000000000000000000000000000000000000000000008000000000000000000
puzz = 75 000000000000000000000000000000000000000000000ebe057929d8abd0606d
addr = 75 1En27bcj8hr9Pskwy2tUMWqRWjZVtajR19


Needs too much effort more then guessing 256 bit key  Cry Cry
newbie
Activity: 33
Merit: 0
I see it exactly the opposite way. There are numerous reasons why the true and happy finder would never want to disclose this information here in the forum, if this person is active here in the forum at all. I even claim that there are more logical reasons to hide it than to hang it on the big bell and supposedly brag about it.

This assumption can also be reflected analogously to a block find where a solo miner collects the reward but wants to remain anonymous. There are dozens of reasons for that.

I tend to agree. For quite some time I've been coming here every now and then to check on any progress and play around with Kangaroos and BitCracks Smiley

In the event that I could come up with a solution, I would prefer to keep a low profile. For a while, at least as I devote my attention to resolving the next problem in line - in this case, #125.

But more importantly than 'who did it?', let's not forget, are the fundamentals of this challenge (incorrectly referred to as a puzzle).

These principles should be the basis for all of our efforts, and for all of our discussions here. As stated in the creator's post: "It is simply a crude measuring instrument, of the cracking strength of the community. "

The reference to "community" was interesting in that it could be interpreted as an invitation for more minds to collaborate in order to solve whatever can be solved. This is also hinted at in this line:

"Finally, I wish to express appreciation of the efforts of all developers of new cracking tools and technology."

We could argue that this "community" spirit hinted at by the creator has faded. Not disappeared, but faded.

Almost everyone seems to be in it for their own benefit. This includes the undersigned...

Moreover, the recent resolution of #120 without sharing the good news only heightens a feeling of individualism instead of a sense of community.

Sorry if I offended anyone. This post is intended solely as a reminder of the importance of returning to the basics. For all of us to remember, why was this challenge even started in the first place?

I personally do not believe it was intended to test the overall strength of the blockchain or bitcoin encryption. There are scientists who use very powerful hardware in very advanced laboratories who have been testing encryption challenges for years. And they do not usually visit forums in order to share their findings, primarily due to security concerns.

Just my two cents...
member
Activity: 261
Merit: 19
the right steps towerds the goal
Quote
A few words about the puzzle.  There is no pattern.  It is just consecutive keys from a deterministic wallet (masked with leading 000...0001 to set difficulty).  It is simply a crude measuring instrument, of the cracking strength of the community.
That changes a lot. Because using totally random key every time would be harder to crack than some deterministic wallet. Now, the big question is: which deterministic wallet was used? Because there are some of them, and they use different algorithms to derive keys.

To better illustrate, why cracking some deterministic wallet may be easier, consider this example: we start from the master private key, and then we use addition to derive keys. We use some hash that contains the master public key, and some nonce, representing the index of our child key. What does it mean in that case?

For example, a very simple, but unsafe method, is to use "childKey=masterKey+SHA-256(masterPubKey||index)", in practice something stronger is used in real implementations, but let's start from that. Then, by inspecting revealed private and public keys, it is possible to focus on that master key, instead of trying to crack child keys alone. Also note that all public keys from 160-256 range are revealed, we can assume that those keys also follow the pattern. And even if there are no coins, then still, we can use those public keys as an additional information in our algorithms.

Let's assume that our masterKey is equal to SHA-256("master"), just to have some deterministic-but-randomly-looking hash to work with:

Code:
SHA-256("master")=fc613b4dfd6736a7bd268c8a0e74ed0d1c04a959f59dd74ef2874983fd443fc9
masterPubKey=028B9C3A3CBE772731BAF46F35CF3F2A5E96F32725F7FC3F43165B5DB18EAEAA13
index=0x00000000
SHA-256(028B9C3A3CBE772731BAF46F35CF3F2A5E96F32725F7FC3F43165B5DB18EAEAA1300000000)=4723005bf4956bc7c135caa5c1bda0fd0cd6d37de2cfbfd66c0aed31ac32da3b
mask=(1<<0)=0000000000000000000000000000000000000000000000000000000000000001
firstKey=mask+(childKey%mask)
firstKey=0000000000000000000000000000000000000000000000000000000000000001

Then, we can go further and further, by trying to generate child keys, and checking how close we are to the keys from the puzzle. For example, the first 10 keys from this example, looks like that:

Code:
child0=4723005bf4956bc7c135caa5c1bda0fd0cd6d37de2cfbfd66c0aed31ac32da3b
mask0=0000000000000000000000000000000000000000000000000000000000000001
puzzle0=0000000000000000000000000000000000000000000000000000000000000001

child1=11077a18f7bcf2c2f572e07bcaa2e808157efc25dd80123000b1eb0612e4dd00
mask1=0000000000000000000000000000000000000000000000000000000000000002
puzzle1=0000000000000000000000000000000000000000000000000000000000000002

child2=70604aac4e4b6488567526d8c5ca59ef99d2e6a8cdb168be06b4413e3f96ebc4
mask2=0000000000000000000000000000000000000000000000000000000000000004
puzzle2=0000000000000000000000000000000000000000000000000000000000000004

child3=54195d0cb0683a71a007141d90a20bb4648c6aae075165cadb6742cb272e7f9a
mask3=0000000000000000000000000000000000000000000000000000000000000008
puzzle3=000000000000000000000000000000000000000000000000000000000000000a

child4=ec2c3fce8b21ffca469f5f5748141eb754fabe2640643c59b9a34512c3c33777
mask4=0000000000000000000000000000000000000000000000000000000000000010
puzzle4=0000000000000000000000000000000000000000000000000000000000000017

child5=48ef0d29d9416db21ba741074e816b6d8e6935a1de2c96d3dbf41012812c13d3
mask5=0000000000000000000000000000000000000000000000000000000000000020
puzzle5=0000000000000000000000000000000000000000000000000000000000000033

child6=563b062080afa9baf038b4fbb930660e8a255e99ef3c597368dc7df2a2adc0c6
mask6=0000000000000000000000000000000000000000000000000000000000000040
puzzle6=0000000000000000000000000000000000000000000000000000000000000046

child7=b9d4d7680493db643e3158e05899d10a8c878a385a297aac8e97cc5abcb7d4b9
mask7=0000000000000000000000000000000000000000000000000000000000000080
puzzle7=00000000000000000000000000000000000000000000000000000000000000b9

child8=bcd20822e9da2938100576f22c9ed21d9a70689cb691a61c567bd046f665fdfb
mask8=0000000000000000000000000000000000000000000000000000000000000100
puzzle8=00000000000000000000000000000000000000000000000000000000000001fb

child9=9b27d4fbbcc9f9359f2b82f9cc16b5d485a169f4ccdc93b07d837e40be7e8144
mask9=0000000000000000000000000000000000000000000000000000000000000200
puzzle9=0000000000000000000000000000000000000000000000000000000000000344

And then, we can compare our example with real keys:

Code:
real=0001, fake=0001
real=0003, fake=0002
real=0007, fake=0004
real=0008, fake=000a
real=0015, fake=0017
real=0031, fake=0033
real=004c, fake=0046
real=00e0, fake=00b9
real=01d3, fake=01fb
real=0202, fake=0344

And there is more: there is no need to brute force every combination here. If we assume some kind of algorithm, we can make optimizations just for that. So, if we assume that keys are added to the master key, and if mask is calculated with modulo and sum, then we can check selected keys, and create requirements for that master key.

For example, modulo addition, and modulo multiplication, has a nice property, that we can use any order. So, if we have "a+b", or "b+a", then "(a+b)%n" and "(b+a)%n" is also the same. We can also use those rules for multiplication. Then, we don't have to check every single master private key. We can simply assume that if keys are added, then the master key modulo N is in a given range. Then, we can create specific master keys, and skip many of them.

This can be a significant step. All we need to know which wallets were trending at that time of the transaction and how they derived the private key.
copper member
Activity: 1330
Merit: 899
🖤😏
Also note that all public keys from 160-256 range are revealed,

Not only 160-256 but also 65-70-75-80-85-90-95-100-105-110-115-120 all have been solved, and up to 160 every 5 puzzles have their public keys revealed.
hero member
Activity: 789
Merit: 1909
Quote
A few words about the puzzle.  There is no pattern.  It is just consecutive keys from a deterministic wallet (masked with leading 000...0001 to set difficulty).  It is simply a crude measuring instrument, of the cracking strength of the community.
That changes a lot. Because using totally random key every time would be harder to crack than some deterministic wallet. Now, the big question is: which deterministic wallet was used? Because there are some of them, and they use different algorithms to derive keys.

To better illustrate, why cracking some deterministic wallet may be easier, consider this example: we start from the master private key, and then we use addition to derive keys. We use some hash that contains the master public key, and some nonce, representing the index of our child key. What does it mean in that case?

For example, a very simple, but unsafe method, is to use "childKey=masterKey+SHA-256(masterPubKey||index)", in practice something stronger is used in real implementations, but let's start from that. Then, by inspecting revealed private and public keys, it is possible to focus on that master key, instead of trying to crack child keys alone. Also note that all public keys from 160-256 range are revealed, we can assume that those keys also follow the pattern. And even if there are no coins, then still, we can use those public keys as an additional information in our algorithms.

Let's assume that our masterKey is equal to SHA-256("master"), just to have some deterministic-but-randomly-looking hash to work with:

Code:
SHA-256("master")=fc613b4dfd6736a7bd268c8a0e74ed0d1c04a959f59dd74ef2874983fd443fc9
masterPubKey=028B9C3A3CBE772731BAF46F35CF3F2A5E96F32725F7FC3F43165B5DB18EAEAA13
index=0x00000000
SHA-256(028B9C3A3CBE772731BAF46F35CF3F2A5E96F32725F7FC3F43165B5DB18EAEAA1300000000)=4723005bf4956bc7c135caa5c1bda0fd0cd6d37de2cfbfd66c0aed31ac32da3b
mask=(1<<0)=0000000000000000000000000000000000000000000000000000000000000001
firstKey=mask+(childKey%mask)
firstKey=0000000000000000000000000000000000000000000000000000000000000001

Then, we can go further and further, by trying to generate child keys, and checking how close we are to the keys from the puzzle. For example, the first 10 keys from this example, looks like that:

Code:
child0=4723005bf4956bc7c135caa5c1bda0fd0cd6d37de2cfbfd66c0aed31ac32da3b
mask0=0000000000000000000000000000000000000000000000000000000000000001
puzzle0=0000000000000000000000000000000000000000000000000000000000000001

child1=11077a18f7bcf2c2f572e07bcaa2e808157efc25dd80123000b1eb0612e4dd00
mask1=0000000000000000000000000000000000000000000000000000000000000002
puzzle1=0000000000000000000000000000000000000000000000000000000000000002

child2=70604aac4e4b6488567526d8c5ca59ef99d2e6a8cdb168be06b4413e3f96ebc4
mask2=0000000000000000000000000000000000000000000000000000000000000004
puzzle2=0000000000000000000000000000000000000000000000000000000000000004

child3=54195d0cb0683a71a007141d90a20bb4648c6aae075165cadb6742cb272e7f9a
mask3=0000000000000000000000000000000000000000000000000000000000000008
puzzle3=000000000000000000000000000000000000000000000000000000000000000a

child4=ec2c3fce8b21ffca469f5f5748141eb754fabe2640643c59b9a34512c3c33777
mask4=0000000000000000000000000000000000000000000000000000000000000010
puzzle4=0000000000000000000000000000000000000000000000000000000000000017

child5=48ef0d29d9416db21ba741074e816b6d8e6935a1de2c96d3dbf41012812c13d3
mask5=0000000000000000000000000000000000000000000000000000000000000020
puzzle5=0000000000000000000000000000000000000000000000000000000000000033

child6=563b062080afa9baf038b4fbb930660e8a255e99ef3c597368dc7df2a2adc0c6
mask6=0000000000000000000000000000000000000000000000000000000000000040
puzzle6=0000000000000000000000000000000000000000000000000000000000000046

child7=b9d4d7680493db643e3158e05899d10a8c878a385a297aac8e97cc5abcb7d4b9
mask7=0000000000000000000000000000000000000000000000000000000000000080
puzzle7=00000000000000000000000000000000000000000000000000000000000000b9

child8=bcd20822e9da2938100576f22c9ed21d9a70689cb691a61c567bd046f665fdfb
mask8=0000000000000000000000000000000000000000000000000000000000000100
puzzle8=00000000000000000000000000000000000000000000000000000000000001fb

child9=9b27d4fbbcc9f9359f2b82f9cc16b5d485a169f4ccdc93b07d837e40be7e8144
mask9=0000000000000000000000000000000000000000000000000000000000000200
puzzle9=0000000000000000000000000000000000000000000000000000000000000344

And then, we can compare our example with real keys:

Code:
real=0001, fake=0001
real=0003, fake=0002
real=0007, fake=0004
real=0008, fake=000a
real=0015, fake=0017
real=0031, fake=0033
real=004c, fake=0046
real=00e0, fake=00b9
real=01d3, fake=01fb
real=0202, fake=0344

And there is more: there is no need to brute force every combination here. If we assume some kind of algorithm, we can make optimizations just for that. So, if we assume that keys are added to the master key, and if mask is calculated with modulo and sum, then we can check selected keys, and create requirements for that master key.

For example, modulo addition, and modulo multiplication, has a nice property, that we can use any order. So, if we have "a+b", or "b+a", then "(a+b)%n" and "(b+a)%n" is also the same. We can also use those rules for multiplication. Then, we don't have to check every single master private key. We can simply assume that if keys are added, then the master key modulo N is in a given range. Then, we can create specific master keys, and skip many of them.
full member
Activity: 1050
Merit: 219
Shooters Shoot...
What does masked with leading 000...0001 to set difficulty mean? I mean how would someone add that to a program?
It means they were able to set the bit range "difficulty" by masking the leading characters of the private key.

JLPs Kangaroo program does it like this:

Code:
if(dpSize > 256) dpSize = 256;
    dMask = (1ULL << (256 - dpSize)) - 1;
    dMask = ~dMask;


Now that is for distinguished points, but the concept is the same.

So if you run a -dp of say 40, then the leading 10 characters (of the xpoint) would be 0s (zeros). I imagine it would be easy to implement something similar in wallet software or a script to generate private keys, and change the masking to mask the leading characters of the private key.

Pages:
Jump to: