Pages:
Author

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

member
Activity: 873
Merit: 22
$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk
Bro,I talk about this scrypt:
" Most likely, the sha-256 hash is simply a hash of the text that contains instructions on how to correctly convert a public key to a range of 80 bits an so on (which will be available tomorrow)."
? ))
Copy the instructions that kTimesG posted and paste to the https://emn178.github.io/online-tools/sha256.html and and get the hash a6c39217128593909a1fcc0fd92c07a6f5abd32c36a8e7cf4e91f1a8f0651db0
I don't understand why you need it hash. This sha-256 hash was made to show that the instruction was not rewritten and was posted in its original form. Specifically, the hash has nothing to do with the solving.


So, how to correct convert pubkey to smaler range ?
sr. member
Activity: 652
Merit: 316
Bro,I talk about this scrypt:
" Most likely, the sha-256 hash is simply a hash of the text that contains instructions on how to correctly convert a public key to a range of 80 bits an so on (which will be available tomorrow)."
? ))
Copy the instructions that kTimesG posted and paste to the https://emn178.github.io/online-tools/sha256.html and and get the hash a6c39217128593909a1fcc0fd92c07a6f5abd32c36a8e7cf4e91f1a8f0651db0
I don't understand why you need it hash. This sha-256 hash was made to show that the instruction was not rewritten and was posted in its original form. Specifically, the hash has nothing to do with the solving.
member
Activity: 873
Merit: 22
$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk
Bro, provide your script ? Wink
This is a jlp kangaroo, with precalculated tame kangaroos.
You can make them yourself. By running a kangaroo in the required range with the -m 3 parameter in a loop with a false public key. In this way you will accumulate a lot of DPs.
After that, you will only need wild kangaroos.


Bro,I talk about this scrypt:

" Most likely, the sha-256 hash is simply a hash of the text that contains instructions on how to correctly convert a public key to a range of 80 bits an so on (which will be available tomorrow)."

? ))
sr. member
Activity: 652
Merit: 316
Bro, provide your script ? Wink
This is a jlp kangaroo, with precalculated tame kangaroos.
You can make them yourself. By running a kangaroo in the required range with the -m 3 parameter in a loop with a false public key. In this way you will accumulate a lot of DPs.
After that, you will only need wild kangaroos.
member
Activity: 873
Merit: 22
$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk
Congrats to the solver: 14q4SoQwENXXzsVT3GMwDrDUGiW5QZeiDg

Hope he explain what he do.

@Etar it was you?

No. The script found the key in 158s, and then there was an error in processing of calculating fee. LoL
Code:
Searching time: 158 s
2024-11-02 01:44:19.349: Kangaroo private key: 0x2d56cbf370cbeef9e80a
2024-11-02 01:44:19.349: Real private key: 0x659756abf6c17ca70e5aad97e6e197ddf3d01540be6ddd93e441f8d4b4a85653b20b4cdcc5c748207a0daa16191d07a425d8080c276f9412472e0429e61bc355
2024-11-02 01:44:19.350: Real private key 256: 0xb40e7d34265ab9533a64622bd1a188fb8abb8829af545169abad49b46be5fe56
f8cff579d1262612ba8afb053c457464ecea8e51d30b32fd002f7de958efb872 fee 866 size 485 1.7855670103092784 sat/byte
Traceback (most recent call last):




Quote


 (which will be available tomorrow).

Bro, provide your script ? pls Wink
sr. member
Activity: 652
Merit: 316
Etar - why are you even loading the hashtable into memory? It's wasted time. What if you have 100 GB of DP data?
@kTimesG, thanks for the competition, it was interesting.
I didn't write any additional tools for this puzzle. I used what was already on hand.
If we were talking about tens of thousands of dollars, then of course i would have to work.
The only thing I changed JLP Kangaroo v1.7 so that it would only produce wild kangaroos.
Hash table with DP=20 weighs about 7GB, and loading time is 34s.
Code:
LoadWork: [HashTable 7449.0/9315.7MB] [34s]

My transformation steps:
Code:
03a61fc84b6429f07fc0edf25265ef7a0ced3cd9a0edea85e9f58b50b5d73f66e7 - minrange = 03634641685eca3f8284bcd4ddf233dac92a551bb5ff74a0b3fd587d4da7c13eea
03634641685eca3f8284bcd4ddf233dac92a551bb5ff74a0b3fd587d4da7c13eea / (2^361) = 0334a20e64c9a70138783b125ad81196c76585403905dda56a644ac83ac9620045
0334a20e64c9a70138783b125ad81196c76585403905dda56a644ac83ac9620045 in range 1..2^80
The private key from the kangaroo was 0x2d56cbf370cbeef9e80a
(0x2d56cbf370cbeef9e80a * (2^361) +  minrange)%N = 0xb40e7d34265ab9533a64622bd1a188fb8abb8829af545169abad49b46be5fe56
sr. member
Activity: 652
Merit: 316
Congrats to the solver: 14q4SoQwENXXzsVT3GMwDrDUGiW5QZeiDg

Hope he explain what he do.

@Etar it was you?

No. The script found the key in 158s, and then there was an error in processing of calculating fee. LoL
Code:
Searching time: 158 s
2024-11-02 01:44:19.349: Kangaroo private key: 0x2d56cbf370cbeef9e80a
2024-11-02 01:44:19.349: Real private key: 0x659756abf6c17ca70e5aad97e6e197ddf3d01540be6ddd93e441f8d4b4a85653b20b4cdcc5c748207a0daa16191d07a425d8080c276f9412472e0429e61bc355
2024-11-02 01:44:19.350: Real private key 256: 0xb40e7d34265ab9533a64622bd1a188fb8abb8829af545169abad49b46be5fe56
f8cff579d1262612ba8afb053c457464ecea8e51d30b32fd002f7de958efb872 fee 866 size 485 1.7855670103092784 sat/byte
Traceback (most recent call last):
member
Activity: 873
Merit: 22
$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk
Quote
TBH I am disappointed it took 39 minutes for the TX to be replaced. I guess no one really cared after all. What if this was the real 80 bit puzzle being emptied, you'll never have 40 minutes.

I will make a deal with you. You do the same challenge, or another, in an 80 bit range, with a wallet that has 8.0 bitcoin in it, and I guarantee you it will be replaced in less than 39 minutes  Wink

Yes, do it please ))
hero member
Activity: 862
Merit: 662
@kTimesG Thank you for your challenge Smiley it was really funny

I will make a deal with you. You do the same challenge, or another, in an 80 bit range, with a wallet that has 8.0 bitcoin in it, and I guarantee you it will be replaced in less than 39 minutes  Wink

Hahahaha, yeah the 350$ don't attract much people. In any case those side-challenges/puzzles are really cool to learn.
full member
Activity: 1232
Merit: 242
Shooters Shoot...
Quote
TBH I am disappointed it took 39 minutes for the TX to be replaced. I guess no one really cared after all. What if this was the real 80 bit puzzle being emptied, you'll never have 40 minutes.

I will make a deal with you. You do the same challenge, or another, in an 80 bit range, with a wallet that has 8.0 bitcoin in it, and I guarantee you it will be replaced in less than 39 minutes  Wink
member
Activity: 165
Merit: 26
Congrats to the solver: 14q4SoQwENXXzsVT3GMwDrDUGiW5QZeiDg

So, who won?

Well, that was one hell of a long block to mine: 57 minutes.

I pushed the TX immediately after the block before it was mined. Also you posted the correct key that needed to be solved a couple of minutes after the TX was pushed, so basically no excuses. So... congrats on that, if it helps.

TBH I am disappointed it took 39 minutes for the TX to be replaced. I guess no one really cared after all. What if this was the real 80 bit puzzle being emptied, you'll never have 40 minutes.

I gathered some interesting information with this occasion.

Etar - why are you even loading the hashtable into memory? It's wasted time. What if you have 100 GB of DP data?

The brute-force option was fun to see, but of course totally unfeasible.

Correct steps for solving, and also a proof about the values that were expected to be used.

SHA-256 of the code below is the one I posted earlier, and the hash was quoted by other users.

Code:
minKey = 0x659756abf6c17ca70e0000000000000000000140be6ddd93e441f8d4b4a85653b20b4cdcc5c748207a0daa16191d07a425d8080c276f9412472e0429e61bc355
maxKey = 0x659756abf6c17ca70fffffffffffffffffffff40be6ddd93e441f8d4b4a85653b20b4cdcc5c748207a0daa16191d07a425d8080c276f9412472e0429e61bc355

# PubKey:
#  X: a61fc84b6429f07fc0edf25265ef7a0ced3cd9a0edea85e9f58b50b5d73f66e7
#  Y: 1203ad05355adda4bb954e52adb62aaccbdbee069610cb20e566e26e9102b565
# BTC Address(c): 1ECDLP8osCZHBB1LH5PVAUfFegeMgFb52q

# Step 1: determine position and size of the middle (unknown) bits

range_mask = min_key ^ max_key          # every 1 bit in result = input bits differed

# get number of zeroes
shift = range_mask.bit_length() - range_mask.bit_count()

# remove the right zeros
range_mask >>= shift

# if at least one 0 is still present, the mask is invalid (and we shifted at least one 1 as well)
if range_mask.bit_count() != range_mask.bit_length():
    raise ValueError('Invalid mask')

assert range_mask.bit_length() <= 80

assert shift == 361

# Step 2: normalize private key search interval to [1, max]

min_elem = min_key * G

# check that the middle (unknown) bits are not all 0
if min_elem == public_key:
    # if hidden bits are all 0, key normalization would result in PAI -> unsolvable
    private_key = min_key
    return

# subtract min_key from unknown private_key
elem = public_key - min_elem    # guaranteed to be a valid point

# right-shift the unknown subtracted key ("divide" by the nth power of two)
# because we know the number of even bits, it's guaranteed the keyspace is reduced by 2**shift
shift_inv = pow(1 << shift, -1, secp256k1.N)    # == inv(2**shift)
elem = shift_inv * elem

# IDLP PubKey:
#  X: 0x34a20e64c9a70138783b125ad81196c76585403905dda56a644ac83ac9620045
#  Y: 0x6f7db39f0310d65e68dc83fe9c538c4a62ef8e70db4b0d44adbabd5245dd23ff

# Step 3: solve the key, as it resides in the [1, 2**range_len - 1] interval
# this would be the input to kangaroo, BSGS, etc. which could internally adjust,
# if needed, the public key, working interval, etc.
idlp_key = solve_ecdlp(elem, 1, range_mask)

# reverse steps: left-shift the key, fill back subtracted value
private_key = min_key | (idlp_key << shift)

# if the solved key is correct, then the original key must also be correct
assert (private_key * G) == public_key      # X0 == X1 and Y0 == Y1

# for brevity
assert idlp_key == 0x2d56cbf370cbeef9e80a
assert private_key == 0x659756abf6c17ca70e5aad97e6e197ddf3d01540be6ddd93e441f8d4b4a85653b20b4cdcc5c748207a0daa16191d07a425d8080c276f9412472e0429e61bc355
assert private_key % secp256k1.N == 0xb40e7d34265ab9533a64622bd1a188fb8abb8829af545169abad49b46be5fe56
hero member
Activity: 862
Merit: 662
0x2d56cbf370cbeef9e80a

Thank you key was: b40e7d34265ab9533a64622bd1a188fb8abb8829af545169abad49b46be5fe56

My method:
Take original public key: 03a61fc84b6429f07fc0edf25265ef7a0ced3cd9a0edea85e9f58b50b5d73f66e7

Code:
./keymath 03a61fc84b6429f07fc0edf25265ef7a0ced3cd9a0edea85e9f58b50b5d73f66e7 - 0x20b4cdcc5c748207a0daa16191d07a425d8080c276f9412472e0429e61bc355
Result: 036f778728f5a13be638ffb3935e4cc629b92c69612f7bb7921811a97b51bd8b66

./keymath  036f778728f5a13be638ffb3935e4cc629b92c69612f7bb7921811a97b51bd8b66 / 0x1000000000000000000000000000000000000000000000000000000000000000
Result: 034c32bfc4e92bfdd9dcb7b6cd1c88da23cc588c0718440e10a297296da3b2713e

./keymath  034c32bfc4e92bfdd9dcb7b6cd1c88da23cc588c0718440e10a297296da3b2713e - 0x40be6ddd93e441f8d4b4a85653b
Result: 03595f999c25e5afdd1ae1bfb1710924b26698eb51d3e2c131749fb54c018d896c

./keymath  03595f999c25e5afdd1ae1bfb1710924b26698eb51d3e2c131749fb54c018d896c / 0x1000000000000000000000000000
Result: 0228239ee788ae6784f825e96e31110097929ef0b4348cd6041f5335a542d47f18

./keymath  0228239ee788ae6784f825e96e31110097929ef0b4348cd6041f5335a542d47f18 - 0x659756abf6c17ca70000000000000000000000
Result: 02bfc064566b29109fa93495d1a47cd499889cd708674e0200a2cd5db57138741e

./keymath  02bfc064566b29109fa93495d1a47cd499889cd708674e0200a2cd5db57138741e - 0xe00000000000000000000
Result: 03a4134422eef408a6f8cb1aa8256bfd20cb0852d1fa4a06de5f3e8134e87b3271

./keymath  03a4134422eef408a6f8cb1aa8256bfd20cb0852d1fa4a06de5f3e8134e87b3271 - 1
Result: 03a1708bbb4e9b81a738eaca200d2b06a8f1d351aa3b07c8e255850500bef5ec2b

./keymath  03a1708bbb4e9b81a738eaca200d2b06a8f1d351aa3b07c8e255850500bef5ec2b / 2
Result: 0334a20e64c9a70138783b125ad81196c76585403905dda56a644ac83ac9620045

This last is the Transformed/rotated key: 0334a20e64c9a70138783b125ad81196c76585403905dda56a644ac83ac9620045

Once that you solve that key now we do modmath operations in backwards order:

Code:
./modmath 0x2d56cbf370cbeef9e80a x 2
Result: 5aad97e6e197ddf3d014

./modmath 0x5aad97e6e197ddf3d014 + 1
Result: 5aad97e6e197ddf3d015

./modmath 0x5aad97e6e197ddf3d015 + 0xe00000000000000000000
Result: e5aad97e6e197ddf3d015

./modmath 0xe5aad97e6e197ddf3d015 + 0x659756abf6c17ca70000000000000000000000
Result: 659756abf6c17ca70e5aad97e6e197ddf3d015

./modmath 0x659756abf6c17ca70e5aad97e6e197ddf3d015 x 0x1000000000000000000000000000
Result: 59756abf6c17ca70e5aad97e6e197de6dce82297e44c3e998111c8b31eba787a

./modmath 0x59756abf6c17ca70e5aad97e6e197de6dce82297e44c3e998111c8b31eba787a + 0x40be6ddd93e441f8d4b4a85653b
Result: 59756abf6c17ca70e5aad97e6e197de6dce826a3cb2a17d7c53155fe693fddb5

./modmath 0x59756abf6c17ca70e5aad97e6e197de6dce826a3cb2a17d7c53155fe693fddb5 x 0x1000000000000000000000000000000000000000000000000000000000000000
Result: b203305760937132c056b815b884815764e3801d87e4bd57647f458a85ca3b01

./modmath 0xb203305760937132c056b815b884815764e3801d87e4bd57647f458a85ca3b01 + 0x20b4cdcc5c748207a0daa16191d07a425d8080c276f9412472e0429e61bc355
Result: b40e7d34265ab9533a64622bd1a188fb8abb8829af545169abad49b46be5fe56


Code:
Original key: b40e7d34265ab9533a64622bd1a188fb8abb8829af545169abad49b46be5fe56
Extended key: 0x659756abf6c17ca70e5aad97e6e197ddf3d01540be6ddd93e441f8d4b4a85653b20b4cdcc5c748207a0daa16191d07a425d8080c276f9412472e0429e61bc355
full member
Activity: 1232
Merit: 242
Shooters Shoot...
Who want to solve this key?

Transformed/rotated public key: 0334a20e64c9a70138783b125ad81196c76585403905dda56a644ac83ac9620045   <<<<------------- This ONE

On range from 1 to 0x100000000000000000000 ?


Original key public key: 03a61fc84b6429f07fc0edf25265ef7a0ced3cd9a0edea85e9f58b50b5d73f66e7

I know it's over. But this took 27 seconds to find (pre-compiled tames)

0x2d56cbf370cbeef9e80a
member
Activity: 873
Merit: 22
$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk
Searching time: 251 s

Nice, near 5 minutes.., that is with some precalculated Distinguished points?


Quote
Code:
BTC Address(c): 1ECDLP8osCZHBB1LH5PVAUfFegeMgFb52q

minKey = 0x659756abf6c17ca70e0000000000000000000140be6ddd93e441f8d4b4a85653b20b4cdcc5c74 8207a0daa16191d07a425d8080c276f9412472e0429e61bc355
maxKey = 0x659756abf6c17ca70fffffffffffffffffffff40be6ddd93e441f8d4b4a85653b20b4cdcc5c74 8207a0daa16191d07a425d8080c276f9412472e0429e61bc355


@albertobsd, solved previously, looks like.
hero member
Activity: 862
Merit: 662
Congrats to the solver: 14q4SoQwENXXzsVT3GMwDrDUGiW5QZeiDg

Hope he explain what he do.

@Etar it was you?
member
Activity: 873
Merit: 22
$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk
Who want to solve this key?

Transformed/rotated public key: 0334a20e64c9a70138783b125ad81196c76585403905dda56a644ac83ac9620045

On range from 1 to 0x100000000000000000000 ?


Original key public key: 03a61fc84b6429f07fc0edf25265ef7a0ced3cd9a0edea85e9f58b50b5d73f66e7

Im try
hero member
Activity: 862
Merit: 662
Who want to solve this key?

Transformed/rotated public key: 0334a20e64c9a70138783b125ad81196c76585403905dda56a644ac83ac9620045   <<<<------------- This ONE

On range from 1 to 0x100000000000000000000 ?


Original key public key: 03a61fc84b6429f07fc0edf25265ef7a0ced3cd9a0edea85e9f58b50b5d73f66e7
member
Activity: 873
Merit: 22
$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk
My question, how to use 512 pub for search another key  ? Undecided

Seriously?

I already explain some method: https://bitcointalksearch.org/topic/m.64646739

It is more or less the same with some twist. Just try to understand what are you doing. Good look to every one. I am going to publish my method once that the puzzle was redeemed.

About your method is interesting, yes. Thank you.

For what this privkey ?

0x659756abf6c17ca70e829a43c7752f1417002440be6ddd93e441f8d4b4a85653b20b4cdcc5c74 8207a0daa16191d07a425d8080c276f9412472e0429e61bc355
hero member
Activity: 862
Merit: 662
My question, how to use 512 pub for search another key  ? Undecided

Seriously?

I already explain some method: https://bitcointalksearch.org/topic/m.64646739

It is more or less the same with some twist. Just try to understand what are you doing. Good luck to every one. I am going to publish my method once that the puzzle was redeemed.
member
Activity: 873
Merit: 22
$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk
what is a "trick" of this ? Undecided

modmath don't have any issue, the trick is process the public key properly because some operations may fail with keymath.

But that is not the only way, literally there are hundreds of way to process this "puzzle" with some other tools or customs scripts.


My question, how to use 512 pub for search another key  ? Undecided
Pages:
Jump to: