Pages:
Author

Topic: Bitcoin puzzle transaction ~32 BTC prize to who solves it - page 54. (Read 215539 times)

jr. member
Activity: 42
Merit: 0
Imagine that Sam Bankman-Fried is the creator of the puzzle.

I think this is the winner of the most ridiculous post.  Grin

How do you know it's not him?
member
Activity: 462
Merit: 24
Imagine that Sam Bankman-Fried is the creator of the puzzle.

I think this is the winner of the most ridiculous post.  Grin
newbie
Activity: 1
Merit: 0
Dear puzzle creator:
We, the united super united, wish that you empty all addresses so that all these lost souls can go new ways.
Thank you, puzzle creator.

The game is over for now.
Please clear all addresses up to ~130 bits via exclusive/private mining so that no one can steal the funds by double spending.

Dear puzzle hater,

Im not sure who the super united is, but if you ran out of creativity or wana stay in a box and go a new way, please go by your self Smiley
Thank you, puzzle lover
newbie
Activity: 11
Merit: 2
Why search for puzzle 66? Don't you think it's a waste of time?
full member
Activity: 1162
Merit: 237
Shooters Shoot...
Yeah, maybe I am doing something wrong lol:

Script copied/used:
Code:
import random
exp=30
while True:
    x = input('seed integer : ')
    seed_value = int(x)
    random.seed(seed_value)
    seed = str(seed_value)
    a = random.randrange(2**(exp-1), 2**exp)
    random_start = "%00x" % a
    print('Seed : ' + str(x) + ' KHex : ' + str(random_start) + '\n')

70 result and 30 result:

Code:
seed integer : 1806955914
Seed : 1806955914 KHex : 2a4dc25a

seed integer : 2052639366
Seed : 2052639366 KHex : 3e6b05ff

Top one is from 70 and second one is from 30. Neither match.

UPDATE: I figured it out. When I was running it in Python 2 IDLE, it did not match. But when I ran it in Python 3 IDLE, it did match. Interesting...
member
Activity: 462
Merit: 24
The price of the private key for Puzzle 66 will be 5 BTC. Any interested miner will soon be able to purchase the private key from me. The dealing will take place in the public domain to eliminate any possibility of fraud. During this period, the creator reserves the right to sweep funds from Puzzle 66.  Grin

Good idea.   Grin
member
Activity: 272
Merit: 20
the right steps towerds the goal

NGL, I do not get the same values when I copy and paste them in your python script.


I don't know why this script isn't working for you all; it's working fine for me. Anyway, the seed will be a 10-digit number, and there are around 20 or more seeds capable of generating the same 30-bit starting point. I've tried many random and sequential 10-digit numbers as seeds and stored all the data that I've tested. There will be no repeats. Not sure when luck will be on my side Sad

Here's way to do a byte-based search

Code:
import os, secp256k1 as ice
#Puzzle 66 config
start_bytes = bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\xff\xff\xff\xff\xff\xff\xff')
end_bytes = bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\xff\xff\xff\xff\xff\xff\xff')
target_binary = b'\x20\xd4Zjv%5p\x0c\xe9\xe0\xb2\x16\xe3\x19\x9435\xb8\xa5'
while True:
    random_bytes = os.urandom(9)
    initial_bytes = b'\x00' * 23
    full_bytes = initial_bytes + random_bytes
    if start_bytes <= full_bytes <= end_bytes:
        A0 = int.from_bytes(full_bytes, byteorder='big')
        H160 = ice.privatekey_to_h160(0, True, A0)
        if H160 == target_binary:
            HEX = "%064x" % A0
            wifc = ice.btc_pvk_to_wif(HEX)
            with open("KEYFOUNDKEYFOUND.txt", "a") as f:
                f.write(f'Private key (wif) Compressed : {wifc}\n')
            break

 I have a collection of about 100 useless scripts. Because the problem is speed in Python.
Many cryptographic libraries, including Python secp256k1, expect numerical inputs (integers) for private keys, rather than raw byte sequences. Cryptographic libraries might be faster if they operated directly on bytes rather than converting between bytes and integers.


Relying solely on Python for 66-bit counting is a waste of time. However, if Python is used only to generate the starting or ending points and the rest of the counting is done through GPUs, it could be a more efficient approach. This is what I am trying to achieve.

The price of the private key for Puzzle 66 will be 5 BTC. Any interested miner will soon be able to purchase the private key from me. The dealing will take place in the public domain to eliminate any possibility of fraud. During this period, the creator reserves the right to sweep funds from Puzzle 66.  Grin
member
Activity: 462
Merit: 24

NGL, I do not get the same values when I copy and paste them in your python script.


I don't know why this script isn't working for you all; it's working fine for me. Anyway, the seed will be a 10-digit number, and there are around 20 or more seeds capable of generating the same 30-bit starting point. I've tried many random and sequential 10-digit numbers as seeds and stored all the data that I've tested. There will be no repeats. Not sure when luck will be on my side Sad

Here's way to do a byte-based search

Code:
import os, secp256k1 as ice
#Puzzle 66 config
start_bytes = bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\xff\xff\xff\xff\xff\xff\xff')
end_bytes = bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\xff\xff\xff\xff\xff\xff\xff')
target_binary = b'\x20\xd4Zjv%5p\x0c\xe9\xe0\xb2\x16\xe3\x19\x9435\xb8\xa5'
while True:
    random_bytes = os.urandom(9)
    initial_bytes = b'\x00' * 23
    full_bytes = initial_bytes + random_bytes
    if start_bytes <= full_bytes <= end_bytes:
        A0 = int.from_bytes(full_bytes, byteorder='big')
        H160 = ice.privatekey_to_h160(0, True, A0)
        if H160 == target_binary:
            HEX = "%064x" % A0
            wifc = ice.btc_pvk_to_wif(HEX)
            with open("KEYFOUNDKEYFOUND.txt", "a") as f:
                f.write(f'Private key (wif) Compressed : {wifc}\n')
            break

 I have a collection of about 100 useless scripts. Because the problem is speed in Python.
Many cryptographic libraries, including Python secp256k1, expect numerical inputs (integers) for private keys, rather than raw byte sequences. Cryptographic libraries might be faster if they operated directly on bytes rather than converting between bytes and integers.
member
Activity: 272
Merit: 20
the right steps towerds the goal

NGL, I do not get the same values when I copy and paste them in your python script.


I don't know why this script isn't working for you all; it's working fine for me. Anyway, the seed will be a 10-digit number, and there are around 20 or more seeds capable of generating the same 30-bit starting point. I've tried many random and sequential 10-digit numbers as seeds and stored all the data that I've tested. There will be no repeats. Not sure when luck will be on my side Sad
member
Activity: 462
Merit: 24
Quote
puzzle: 70 349b84b6 Possibility : 17

Seed : 1806955914 KHex : 349b84b6
Seed : 2415342823 KHex : 349b84b6
Seed : 4197018240 KHex : 349b84b6
Seed : 4347224256 KHex : 349b84b6
Seed : 5346252972 KHex : 349b84b6
Seed : 5352843046 KHex : 349b84b6
Seed : 5508295646 KHex : 349b84b6
Seed : 5894986884 KHex : 349b84b6
Seed : 6295082112 KHex : 349b84b6
Seed : 6439889966 KHex : 349b84b6
Seed : 7631063478 KHex : 349b84b6
Seed : 7701692142 KHex : 349b84b6
Seed : 8187722094 KHex : 349b84b6
Seed : 8403615774 KHex : 349b84b6
Seed : 9409843844 KHex : 349b84b6
Seed : 9835928266 KHex : 349b84b6
Seed : 9937976764 KHex : 349b84b6


you can check here with copy paste any integer from above
NGL, I do not get the same values when I copy and paste them in your python script.

BUT, your post got me tinkering with seeds. I'm running a test on a 24 bit key (DC2A04). Just letting it run to see how many matches I can get. From 0 up until I get bored lol. A few hundred so far. Highest one is 1477709519, so far.


Code:
import random
exp=30
while True:
    x = input('seed integer : ')
    seed_value = int(x)
    random.seed(seed_value)
    seed = str(seed_value)
    a = random.randrange(2**(exp-1), 2**exp)
    random_start = "%00x" % a
    print('Seed : ' + str(x) + ' KHex : ' + str(random_start) + '\n')

I put "exp" as a variable. If it is 30 for his 70-bit list, then it matches.

Seed integer: 1806955914
Seed: 1806955914 KHex: 349b84b6

I did not use decimal numbers as seeds. I had faster results with a sequence of bytes represented in Python's byte literal format using the function os.urandom(length).

Let's start from the the fact that all puzzles are created from 32 zeros in bytes
b'\x00' * 23 (twenty-three zeroes) + 9 bytes (for Puzzle 66)
or


Code:
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'



Puzzle 1 have 1 bytes on end that is not zero
Puzzle 10 have 2 bytes on end that is not zero
Puzzle 20 have 3 bytes on end that is not zero
Puzzle 40 have 5 bytes on end that is not zero
Puzzle 50 have 7 bytes on end that is not zero

Code:
Puzzle 65 b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xa88\xb15\x05\xb2hg'
Puzzle 64 b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf7\x05\x1f'\xb0\x91\x12\xd4'
Puzzle 63 b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00|\xce^\xfd\xac\xcfh\x08'

Puzzle 66 have 9 bytes on end that is not zero. *(66 bits is equal to 8.25 bytes.)

So, seed for puzzle 66 need to be 9 or 10 lenght in bytes

seed = os.urandom(10)
full member
Activity: 1162
Merit: 237
Shooters Shoot...
Quote
puzzle: 70 349b84b6 Possibility : 17

Seed : 1806955914 KHex : 349b84b6
Seed : 2415342823 KHex : 349b84b6
Seed : 4197018240 KHex : 349b84b6
Seed : 4347224256 KHex : 349b84b6
Seed : 5346252972 KHex : 349b84b6
Seed : 5352843046 KHex : 349b84b6
Seed : 5508295646 KHex : 349b84b6
Seed : 5894986884 KHex : 349b84b6
Seed : 6295082112 KHex : 349b84b6
Seed : 6439889966 KHex : 349b84b6
Seed : 7631063478 KHex : 349b84b6
Seed : 7701692142 KHex : 349b84b6
Seed : 8187722094 KHex : 349b84b6
Seed : 8403615774 KHex : 349b84b6
Seed : 9409843844 KHex : 349b84b6
Seed : 9835928266 KHex : 349b84b6
Seed : 9937976764 KHex : 349b84b6


you can check here with copy paste any integer from above
NGL, I do not get the same values when I copy and paste them in your python script.

BUT, your post got me tinkering with seeds. I'm running a test on a 24 bit key (DC2A04). Just letting it run to see how many matches I can get. From 0 up until I get bored lol. A few hundred so far. Highest one is 1477709519, so far.
jr. member
Activity: 42
Merit: 0
It is immensely easier to guess Bill Gates' login and password to his bank account, and then guess his verification codes while trying to withdraw funds, than to find Puzzle from 66bit.
member
Activity: 462
Merit: 24
Can you share the ready code for puzzle 66? How do we run it for Puzzle 66?


something like this for his "lucky" python method

Code:
import random, secp256k1 as ice
puzzle = 66
target_hex = "20d45a6a762535700ce9e0b216e31994335db8a5"
target_binary = bytes.fromhex(target_hex)
while True:
    seed = random.getrandbits(161);random.seed(seed)
    A0 = random.randrange(2 ** (puzzle - 1), (2 ** puzzle) - 1)
    H160 = ice.privatekey_to_h160(0, True, A0)
    if H160 == target_binary:
        HEX = "%064x" % A0;wifc = ice.btc_pvk_to_wif(HEX)
        with open("KEYFOUNDKEYFOUND.txt", "a") as f:
          f.write(f'Seed: {seed}\n')
          f.write(f'Private key (wif) Compressed : {wifc}\n')
        break
jr. member
Activity: 64
Merit: 1
34Sf4DnMt3z6XKKoWmZRw2nGyfGkDgNJZZ
member
Activity: 272
Merit: 20
the right steps towerds the goal
Code:
while True:
    seed = random.getrandbits(161)
    random.seed(seed)
       
What do you guys think, why am I using a 2^161 bit number as a seed here? After a detailed study of all random processes, if the privatekeys are generated through truly random behavior, so the random.seed process to be the best, where we use an integer value as the seed. In this process, I came across a very important point. Suppose we are searching for a 2^66 bit key, then we will need to use atleast 2^67 bit integer as the seed where there are minimum 5 to a maximum of 20 such seeds that will generate the same private key, and if we use a smaller integer than a 2^67 bit number as the seed, then the possibility here will be less than 1%, whereas with a 2^67 bit number the possibility will 5% to 20% more..
Ex below:

Possibilities between 10 digit integer (1000000000,9999999999) as a seed

puzzle: 30 3d94cd64 Possibility : 15

Seed : 2052639366 KHex : 3d94cd64
Seed : 2323905501 KHex : 3d94cd64
Seed : 2889007956 KHex : 3d94cd64
Seed : 4803091600 KHex : 3d94cd64
Seed : 5331769548 KHex : 3d94cd64
Seed : 5694784015 KHex : 3d94cd64
Seed : 5792390035 KHex : 3d94cd64
Seed : 6994937489 KHex : 3d94cd64
Seed : 7090067961 KHex : 3d94cd64
Seed : 7452170991 KHex : 3d94cd64
Seed : 7858113595 KHex : 3d94cd64
Seed : 8992944053 KHex : 3d94cd64
Seed : 9469875945 KHex : 3d94cd64
Seed : 9524153307 KHex : 3d94cd64
Seed : 9684419123 KHex : 3d94cd64

puzzle: 34 34a65911 Possibility : 14

Seed : 1722252200 KHex : 34a65911
Seed : 2582475376 KHex : 34a65911
Seed : 3146132527 KHex : 34a65911
Seed : 4473671142 KHex : 34a65911
Seed : 5134795355 KHex : 34a65911
Seed : 5299026847 KHex : 34a65911
Seed : 5300649767 KHex : 34a65911
Seed : 5450281370 KHex : 34a65911
Seed : 6182674564 KHex : 34a65911
Seed : 6594937440 KHex : 34a65911
Seed : 7566838931 KHex : 34a65911
Seed : 8187842305 KHex : 34a65911
Seed : 8586215804 KHex : 34a65911
Seed : 9283526333 KHex : 34a65911

puzzle: 38 22382fac Possibility : 17

Seed : 1017443688 KHex : 22382fac
Seed : 1187626949 KHex : 22382fac
Seed : 1631857948 KHex : 22382fac
Seed : 1783928098 KHex : 22382fac
Seed : 2035912512 KHex : 22382fac
Seed : 2853290507 KHex : 22382fac
Seed : 3477553572 KHex : 22382fac
Seed : 3780988296 KHex : 22382fac
Seed : 3916938099 KHex : 22382fac
Seed : 5244479534 KHex : 22382fac
Seed : 6227911369 KHex : 22382fac
Seed : 6660947106 KHex : 22382fac
Seed : 7251913990 KHex : 22382fac
Seed : 7714721705 KHex : 22382fac
Seed : 7868071925 KHex : 22382fac
Seed : 9484955691 KHex : 22382fac
Seed : 9513527151 KHex : 22382fac

puzzle: 42 2a221c58 Possibility : 20

Seed : 1308278856 KHex : 2a221c58
Seed : 1379425098 KHex : 2a221c58
Seed : 2024762497 KHex : 2a221c58
Seed : 2609535036 KHex : 2a221c58
Seed : 2729740516 KHex : 2a221c58
Seed : 3275661006 KHex : 2a221c58
Seed : 3531204443 KHex : 2a221c58
Seed : 3598769574 KHex : 2a221c58
Seed : 4284691818 KHex : 2a221c58
Seed : 4709628279 KHex : 2a221c58
Seed : 7005421951 KHex : 2a221c58
Seed : 7183691932 KHex : 2a221c58
Seed : 7273191088 KHex : 2a221c58
Seed : 7576253169 KHex : 2a221c58
Seed : 7601317620 KHex : 2a221c58
Seed : 7871322617 KHex : 2a221c58
Seed : 8046353706 KHex : 2a221c58
Seed : 8891726737 KHex : 2a221c58
Seed : 9145147311 KHex : 2a221c58
Seed : 9800471746 KHex : 2a221c58

puzzle: 46 2ec18388 Possibility : 15

Seed : 1774835243 KHex : 2ec18388
Seed : 2937308955 KHex : 2ec18388
Seed : 3045928295 KHex : 2ec18388
Seed : 4641848762 KHex : 2ec18388
Seed : 5180804703 KHex : 2ec18388
Seed : 6035960426 KHex : 2ec18388
Seed : 7146220586 KHex : 2ec18388
Seed : 7156956377 KHex : 2ec18388
Seed : 7222816585 KHex : 2ec18388
Seed : 7545727131 KHex : 2ec18388
Seed : 8268637431 KHex : 2ec18388
Seed : 8709591535 KHex : 2ec18388
Seed : 9177834133 KHex : 2ec18388
Seed : 9287653195 KHex : 2ec18388
Seed : 9598790961 KHex : 2ec18388

puzzle: 50 22bd43c2 Possibility : 12

Seed : 1597954990 KHex : 22bd43c2
Seed : 1856859180 KHex : 22bd43c2
Seed : 1890522232 KHex : 22bd43c2
Seed : 2577736978 KHex : 22bd43c2
Seed : 6371285295 KHex : 22bd43c2
Seed : 6560037211 KHex : 22bd43c2
Seed : 7363977676 KHex : 22bd43c2
Seed : 7845176646 KHex : 22bd43c2
Seed : 8196730740 KHex : 22bd43c2
Seed : 9099833244 KHex : 22bd43c2
Seed : 9123680308 KHex : 22bd43c2
Seed : 9358095050 KHex : 22bd43c2

puzzle: 54 236fb6d5 Possibility : 19

Seed : 1663621769 KHex : 236fb6d5
Seed : 2206302900 KHex : 236fb6d5
Seed : 2597260125 KHex : 236fb6d5
Seed : 2615317878 KHex : 236fb6d5
Seed : 2730670030 KHex : 236fb6d5
Seed : 3007932907 KHex : 236fb6d5
Seed : 3326339756 KHex : 236fb6d5
Seed : 4309166434 KHex : 236fb6d5
Seed : 4488094942 KHex : 236fb6d5
Seed : 4847784268 KHex : 236fb6d5
Seed : 5906713946 KHex : 236fb6d5
Seed : 7356960439 KHex : 236fb6d5
Seed : 7626247310 KHex : 236fb6d5
Seed : 7749965571 KHex : 236fb6d5
Seed : 8485358824 KHex : 236fb6d5
Seed : 8889003136 KHex : 236fb6d5
Seed : 9026798147 KHex : 236fb6d5
Seed : 9651500975 KHex : 236fb6d5
Seed : 9731824276 KHex : 236fb6d5

puzzle: 58 2c675b85 Possibility : 08

Seed : 5195460147 KHex : 2c675b85
Seed : 5662132001 KHex : 2c675b85
Seed : 7714370860 KHex : 2c675b85
Seed : 8000772293 KHex : 2c675b85
Seed : 9136614552 KHex : 2c675b85
Seed : 9163101223 KHex : 2c675b85
Seed : 9216208020 KHex : 2c675b85
Seed : 9404555639 KHex : 2c675b85

puzzle: 62 363d541e Possibility : 16

Seed : 1249873414 KHex : 363d541e
Seed : 1740940588 KHex : 363d541e
Seed : 2496574222 KHex : 363d541e
Seed : 3468154272 KHex : 363d541e
Seed : 3712904381 KHex : 363d541e
Seed : 3887403068 KHex : 363d541e
Seed : 4463653170 KHex : 363d541e
Seed : 5570741169 KHex : 363d541e
Seed : 6613716909 KHex : 363d541e
Seed : 6918923634 KHex : 363d541e
Seed : 6922033862 KHex : 363d541e
Seed : 6988019520 KHex : 363d541e
Seed : 7204943190 KHex : 363d541e
Seed : 7676384085 KHex : 363d541e
Seed : 9416874734 KHex : 363d541e
Seed : 9962815469 KHex : 363d541e

puzzle: 66 HuhHuh?? Possibility : ??

puzzle: 70 349b84b6 Possibility : 17

Seed : 1806955914 KHex : 349b84b6
Seed : 2415342823 KHex : 349b84b6
Seed : 4197018240 KHex : 349b84b6
Seed : 4347224256 KHex : 349b84b6
Seed : 5346252972 KHex : 349b84b6
Seed : 5352843046 KHex : 349b84b6
Seed : 5508295646 KHex : 349b84b6
Seed : 5894986884 KHex : 349b84b6
Seed : 6295082112 KHex : 349b84b6
Seed : 6439889966 KHex : 349b84b6
Seed : 7631063478 KHex : 349b84b6
Seed : 7701692142 KHex : 349b84b6
Seed : 8187722094 KHex : 349b84b6
Seed : 8403615774 KHex : 349b84b6
Seed : 9409843844 KHex : 349b84b6
Seed : 9835928266 KHex : 349b84b6
Seed : 9937976764 KHex : 349b84b6

you can check here with copy paste any integer from above
Code:
import random
while True:
    x = input('seed integer : ')
    seed_value = int(x)
    random.seed(seed_value)
    seed = str(seed_value)
    a = random.randrange(2**29, 2**30)
    random_start = "%00x" % a
    print('Seed : ' + str(x) + ' KHex : ' + str(random_start) + '\n')



Anyone have seen or experience with Bitcrack / fork for load starting points by file ?

Not sure what you are exactly wanting, but the easiest way is to create a Python script to feed the program starting ranges, and to keep track of said starting ranges. Not sure if starting ranges = starting points, but that is what I would do.

How to implement starting points..
Seed : 4379095358 | Khex : 258bf8e5

============================= Puzzle 66 Total keys = (36,893,488,147,419,103,231) ===================================

Unique Randomm range: 258bf8e5000000000:258bf8e5fffffffff
Total scanned ranges: 150430
Remning keys decimal: 32,198,884,667,768,991,167
Scanned keys decimal: 4,694,603,479,650,112,064
Remaining percentage: 87.27525177101334%
Scanneddd percentage: 12.724748228986655%

□ □ □ □ □ □ □ □ □ □ □ □ □ □ ■ □
□ ■ □ ■ ■ □ □ □ ■ □ ■ ■ ■ ■ ■ ■
■ □ □ □ ■ ■ ■ □ □ ■ □ ■ □ □ □ □
□ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □
□ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □


Lastt Found Address : 13zb1hQbmBqXcinyp85aMhRTABytw5VPUD  3B2B6D6B702DC4DB4
Puzzl Sarch Address : 13zb1hQbWVsc2S7ZTZnP2G4undNNpdh5so.._________________
Prfix Match Address : ^^^^^^^^
Charr Match Totalss : 8
Total Found Address : 168


□ □ □ □ □ □ □ □ □ □ □ □ □ □ ■ ■
■ □ ■ ■ □ □ ■ □ ■ □ ■ ■ □ ■ ■ □
■ ■ □ ■ □ ■ ■ □ ■ □ ■ ■ □ ■ ■ ■
□ □ □ □ □ □ ■ □ ■ ■ □ ■ ■ ■ □ □
□ ■ □ □ ■ ■ □ ■ ■ □ ■ ■ □ ■ □ □


VanBitCrackenS v1.0
Keyspace start=258BF8E5000000000
Keyspace   end=258BF8E5FFFFFFFFF
Search: 16 prefixes (Lookup size 16) [Compressed]
CPU threads used: 0
GPU: GPU #0 NVIDIA GeForce RTX 3060 Ti (38x128 cores) Grid(304x512)
1118.150 MK/s (GPU 1118.150 MK/s) (2^35.81) [00:00:53 Elapsed Time][0]


Have a happy hunting.. And Please remember to include me in any success you achieve. Regards.


Note: Because I am feeling very tired now so if anyone is interested in getting all my data and scripts he can DM me Sad
member
Activity: 462
Merit: 24
Random seed search? are you doing? What exactly is this and how does it work? Can you share whether it works for puzzle 66?


Every time you request a random number using functions like random.randint(), random.random(), or others from the random module, it generates the next number in the sequence based on the seed value.

ON the smaller puzzles it is easy to guess what the seed is. You need to restart and restart app and you will find out which is the fastest seed by repetition.


I've tried all possible puzzles from 1 to 50 and iterate over possible seed values, set the seed, generate a random number, and check if it matches target number(WIF in decimal). Solved up to 50.

I tried the same method with #65 and I'm getting an approximate number for now.

Start position is constant_prefix = b''  and  if str(dec).startswith('30568')
with which I came to constant_prefix = b'r\xbd\x83\r\xec}'

the script itself generates the additional number of bytes to the required length

The closest I've come up with 9 to 2 ** 65


Code:
import random
import os

lower_range_limit = 18446744073709551615
upper_range_limit = 36893488147419103231

for x in range(10000000000000):
    # Random seed Config
    # constant_prefix = b''  # back to no constant
    constant_prefix = b'r\xbd\x83\r\xec}'
    prefix_length = len(constant_prefix)
    length = 9
    ending_length = length - prefix_length
    ending_bytes = os.urandom(ending_length)
    random_bytes = constant_prefix + ending_bytes
    random.seed(random_bytes)
    dec = random.randint(lower_range_limit, upper_range_limit)
    if str(dec).startswith('3056837731'):
        print(f"{dec} : {random_bytes}")



30568377314984161259 : b'r\xbd\x83\r\xec}\xfc\xbf\xde'


And need to be:
30568377312064202855
jr. member
Activity: 64
Merit: 1
34Sf4DnMt3z6XKKoWmZRw2nGyfGkDgNJZZ
it can be done in 1 second


It can be done in 1 millisecond if you hit the random seed, believe it or not.

You need to crack random.seed for each Puzzle. Here is example:


Code:
import random
import os
import time
import secp256k1 as ice

puzzle = 30
target = "d39c4704664e1deb76c9331e637564c257d68a08"
lower_range_limit = 2 ** (puzzle - 1)
upper_range_limit = (2 ** puzzle) - 1

start_time = time.time()

for x in range(10000000):
    #Random seed Config
    #constant_prefix = b''  #back to no constant
    constant_prefix = b'yx\xcb\x08\xb70l'
    prefix_length = len(constant_prefix)
    length = 8
    ending_length = length - prefix_length
    ending_bytes = os.urandom(ending_length)
    random_bytes = constant_prefix + ending_bytes
    random.seed(random_bytes)
    dec = random.randint(lower_range_limit, upper_range_limit)
    h160 = ice.privatekey_to_h160(0, True, dec).hex()
    if h160 == target:
        HEX = "%064x" % dec
        caddr = ice.privatekey_to_address(0, True, dec)
        wifc = ice.btc_pvk_to_wif(HEX)
        print(f"Puzzle: {puzzle}")
        print("Bitcoin address Compressed: " + caddr)
        print("Private Key (decimal): " + str(dec))
        print("Private key (wif) Compressed : " + wifc)
        print(f"Random seed: {random_bytes}")
        break

end_time = time.time()
execution_time_ms = (end_time - start_time) * 1000

print("Execution Time (ms):", execution_time_ms)


Puzzle: 30
Bitcoin address Compressed: 1LHtnpd8nU5VHEMkG2TMYYNUjjLc992bps
Private Key (decimal): 1033162084
Private key (wif) Compressed : KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M8diLSC5MyERoW
Random seed: b'yx\xcb\x08\xb70l\xf1'
Execution Time (ms): 1.9545555114746094



Random seed search? are you doing? What exactly is this and how does it work? Can you share whether it works for puzzle 66?
member
Activity: 462
Merit: 24
it can be done in 1 second


It can be done in 1 millisecond if you hit the random seed, believe it or not.

You need to crack random.seed for each Puzzle. Here is example:


Code:
import random
import os
import time
import secp256k1 as ice

puzzle = 30
target = "d39c4704664e1deb76c9331e637564c257d68a08"
lower_range_limit = 2 ** (puzzle - 1)
upper_range_limit = (2 ** puzzle) - 1

start_time = time.time()

for x in range(10000000):
    #Random seed Config
    #constant_prefix = b''  #back to no constant
    constant_prefix = b'yx\xcb\x08\xb70l'
    prefix_length = len(constant_prefix)
    length = 8
    ending_length = length - prefix_length
    ending_bytes = os.urandom(ending_length)
    random_bytes = constant_prefix + ending_bytes
    random.seed(random_bytes)
    dec = random.randint(lower_range_limit, upper_range_limit)
    h160 = ice.privatekey_to_h160(0, True, dec).hex()
    if h160 == target:
        HEX = "%064x" % dec
        caddr = ice.privatekey_to_address(0, True, dec)
        wifc = ice.btc_pvk_to_wif(HEX)
        print(f"Puzzle: {puzzle}")
        print("Bitcoin address Compressed: " + caddr)
        print("Private Key (decimal): " + str(dec))
        print("Private key (wif) Compressed : " + wifc)
        print(f"Random seed: {random_bytes}")
        break

end_time = time.time()
execution_time_ms = (end_time - start_time) * 1000

print("Execution Time (ms):", execution_time_ms)


Puzzle: 30
Bitcoin address Compressed: 1LHtnpd8nU5VHEMkG2TMYYNUjjLc992bps
Private Key (decimal): 1033162084
Private key (wif) Compressed : KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M8diLSC5MyERoW
Random seed: b'yx\xcb\x08\xb70l\xf1'
Execution Time (ms): 1.9545555114746094
member
Activity: 196
Merit: 67
JLP's kangaroo for example is definitely not fully optimized when it comes to this...

Hi @all.

Testing JLP's kangaroo with an RTX 4090 and getting a speed of 2230 MK/s.

What speeds are you getting? eg. for RTX 3080, RTX 3080Ti, RTX 4080

Thanks for your answers.
newbie
Activity: 30
Merit: 0
Does anyone know if keyhunt has a version that supports custom range searches? (bsgs mode, without -b parameter, use -range instead)
Any version, but preferably the last of them. You use instead of -b value, for example -r 349B84B64310000000:349B84B6431A6FFFFF
Pages:
Jump to: