Author

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

full member
Activity: 1162
Merit: 237
Shooters Shoot...
I'm very exciting to see the results of @mcdouglasx, as he said that he developed a new method and will solve #130 before the end of January.

It's 10 days left, so ! Wink let's go!

Today is the day for mcdouglasx to reveal his secret?

Sometimes calculations are off, could be +/- hours or days. And that's barring no down time via power outages, equipment failure, etc.

Hopefully he is close.
member
Activity: 194
Merit: 14
I'm very exciting to see the results of @mcdouglasx, as he said that he developed a new method and will solve #130 before the end of January.

It's 10 days left, so ! Wink let's go!

Today is the day for mcdouglasx to reveal his secret?
member
Activity: 348
Merit: 34
Anyone know how to get the private key for 58.5?


Code:
import bitcoin

target= 585

Div=10

N=115792089237316195423570985008687907852837564279074904382605163141518161494337

a=bitcoin.inv(Div,N)

b= target*a % N

print("target r:",target/Div)
print("pk:",b)

58.5

PK 0.5
57896044618658097711785492504343953926418782139537452191302581570759080747169

pk 58
58

58.5
57896044618658097711785492504343953926418782139537452191302581570759080747169
+
58
=
57896044618658097711785492504343953926418782139537452191302581570759080747227

in hex
0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20db
What about 58.51?)

5851/100

Code:
import bitcoin

target= 5851

Div=100

N=115792089237316195423570985008687907852837564279074904382605163141518161494337

a=bitcoin.inv(Div,N)

b= target*a % N

print("target r:",target/Div)
print("pk:",b)
If your script giving you result, then ok, other word, it's simple solutions, for play with every floating points, I am not at laptop at this time, later explain if your script not working...
member
Activity: 239
Merit: 53
New ideas will be criticized and then admired.
Anyone know how to get the private key for 58.5?


Code:
import bitcoin

target= 585

Div=10

N=115792089237316195423570985008687907852837564279074904382605163141518161494337

a=bitcoin.inv(Div,N)

b= target*a % N

print("target r:",target/Div)
print("pk:",b)

58.5

PK 0.5
57896044618658097711785492504343953926418782139537452191302581570759080747169

pk 58
58

58.5
57896044618658097711785492504343953926418782139537452191302581570759080747169
+
58
=
57896044618658097711785492504343953926418782139537452191302581570759080747227

in hex
0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20db
What about 58.51?)

5851/100

Code:
import bitcoin

target= 5851

Div=100

N=115792089237316195423570985008687907852837564279074904382605163141518161494337

a=bitcoin.inv(Div,N)

b= target*a % N

print("target r:",target/Div)
print("pk:",b)
jr. member
Activity: 35
Merit: 1
Anyone know how to get the private key for 58.5?


Code:
import bitcoin

target= 585

Div=10

N=115792089237316195423570985008687907852837564279074904382605163141518161494337

a=bitcoin.inv(Div,N)

b= target*a % N

print("target r:",target/Div)
print("pk:",b)

58.5

PK 0.5
57896044618658097711785492504343953926418782139537452191302581570759080747169

pk 58
58

58.5
57896044618658097711785492504343953926418782139537452191302581570759080747169
+
58
=
57896044618658097711785492504343953926418782139537452191302581570759080747227

in hex
0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20db
What about 58.51?)
member
Activity: 348
Merit: 34
Anyone know how to get the private key for 58.5?

Code:
import bitcoin

target= 585

Div=10

N=115792089237316195423570985008687907852837564279074904382605163141518161494337

a=bitcoin.inv(Div,N)

b= target*a % N

print("target r:",target/Div)
print("pk:",b)

58.5

PK 0.5
57896044618658097711785492504343953926418782139537452191302581570759080747169

pk 58
58

58.5
57896044618658097711785492504343953926418782139537452191302581570759080747169
+
58
=
57896044618658097711785492504343953926418782139537452191302581570759080747227

in hex
0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20db
member
Activity: 239
Merit: 53
New ideas will be criticized and then admired.
Anyone know how to get the private key for 58.5?

Code:
import bitcoin

target= 585

Div=10

N=115792089237316195423570985008687907852837564279074904382605163141518161494337

a=bitcoin.inv(Div,N)

b= target*a % N

print("target r:",target/Div)
print("pk:",b)
jr. member
Activity: 35
Merit: 1
Anyone know how to get the private key for 58.5?

Sure, nothing could be easier Cheesy

Just generate it from decimal 58.5 or HEX 3a.8  Roll Eyes Grin

Jokes aside - if you want to derive a private key from a floating-point decimal for experimental or educational purposes, you could devise your own method. Bitcoin private key from a floating-point decimal isn't standard practice, as Bitcoin private keys are typically generated using cryptographic algorithms that rely on random numbers.

good luck in whatever you're trying to achieve


I know already how to get private key that has floating 0.5 , I just curious if anyone got it
hero member
Activity: 630
Merit: 731
Bitcoin g33k
Anyone know how to get the private key for 58.5?

Sure, nothing could be easier Cheesy

Just generate it from decimal 58.5 or HEX 3a.8  Roll Eyes Grin

Jokes aside - if you want to derive a private key from a floating-point decimal for experimental or educational purposes, you could devise your own method. Bitcoin private key from a floating-point decimal isn't standard practice, as Bitcoin private keys are typically generated using cryptographic algorithms that rely on random numbers.

good luck in whatever you're trying to achieve

jr. member
Activity: 35
Merit: 1
Anyone know how to get the private key for 58.5?
member
Activity: 275
Merit: 20
the right steps towerds the goal
In the spirit of trying and testing new ideas I have created a gui slider bar with the min:max decimal representations of puzzle #66. You can slide the bar and it will print to the terminal. This idea doesn't really work and I imagine it's because of memory and cpu limitations.

UPDATE:
This code is a working example. It still has many limitations.

problem 1:   every number printed to the terminal is a multiple of 2.

problem 2:   the hexadecimal output is limited to 14 characters, I always have 000 at the end of the string.


slider_code.py
Code:
import tkinter as tk
from bitcoin import *

def update_bitcoin_key(value):
    decimal_value = int(value)
    hex_private_key = hex(int(decimal_value))[2:]
    private_key = '0' * 47 + hex_private_key + "21"
    public_key = privtopub(private_key)
    address = pubtoaddr(public_key)
    print(hex_private_key)
    #print(public_key)
    print(address)

root = tk . Tk ()    #remove spaces

value_slider = tk.Scale(root, from_=0x20000000000000000, to=0x3ffffffffffffffff, orient=tk.HORIZONTAL, length=400, command=update_bitcoin_key)
value_slider.pack(pady=20)

root.mainloop()
The default behavior of Tkinter's Scale widget is to increment in steps based on the range of values it's handling. With such a large range a slider might not be the best UI element.
newbie
Activity: 17
Merit: 0
In the spirit of trying and testing new ideas I have created a gui slider bar with the min:max decimal representations of puzzle #66. You can slide the bar and it will print to the terminal. This idea doesn't really work and I imagine it's because of memory and cpu limitations.

UPDATE:
This code is a working example. It still has many limitations.

problem 1:   every number printed to the terminal is a multiple of 2.

problem 2:   the hexadecimal output is limited to 14 characters, I always have 000 at the end of the string.


slider_code.py
Code:
import tkinter as tk
from bitcoin import *

def update_bitcoin_key(value):
    decimal_value = int(value)
    hex_private_key = hex(int(decimal_value))[2:]
    private_key = '0' * 47 + hex_private_key + "21"
    public_key = privtopub(private_key)
    address = pubtoaddr(public_key)
    print(hex_private_key)
    #print(public_key)
    print(address)

root = tk . Tk ()    #remove spaces

value_slider = tk.Scale(root, from_=0x20000000000000000, to=0x3ffffffffffffffff, orient=tk.HORIZONTAL, length=400, command=update_bitcoin_key)
value_slider.pack(pady=20)

root.mainloop()
member
Activity: 348
Merit: 34
I'm very exciting to see the results of @mcdouglasx, as he said that he developed a new method and will solve #130 before the end of January.

It's 10 days left, so ! Wink let's go!
3 days left



Any one seen PK for #120 #125
Any updates regarding above solved addresses ?
full member
Activity: 1162
Merit: 237
Shooters Shoot...
Agreed it is an avalanche effect, up to a point. From the private key perspective, but not the public key perspective.

Meaning, normally, if you have the same number of leading public key characters, they often will hash to the same leading characters in an address.

I was recently reading this, somewhere.

However, the private key is the wildcard. Trying to match the first x amount of characters and it hash to same public key or address is not the norm.

People like to tinker. Nothing wrong with that. Their idea may spawn something that helps solve quicker. Maybe, maybe not, but it doesn’t hurt anyone from a person tinkering out their ideas.

bx sha256 1234 - hash 1234
3a103a4e5729ad68c02a678ae39accfbc0ae208096437401b7ceab63cca0622f - Produced EC key from hash
bx ec-to-public 3a103a4e5729ad68c02a678ae39accfbc0ae208096437401b7ceab63cca0622f
03b57de06f5c674af0d789530249bb658b0e317d4d179e1b1b1b0aa2ba668bb5f5 - Public key
bx ec-to-public 3a103a4e5729ad68c02a678ae39accfbc0ae208096437401b7ceab63cca0622a - Only last digit of public key has been changed
02e70d3902ef877ba400f15ec109e1933956da79b14d6d33054f50cad9c30e5d5d - Public key

Changing f to a on the EC key resulted in two very different pub keys.
03b57de06f5c674af0d789530249bb658b0e317d4d179e1b1b1b0aa2ba668bb5f5
02e70d3902ef877ba400f15ec109e1933956da79b14d6d33054f50cad9c30e5d5d
Agreed; did you see my follow up explanation/question?
Now do hash160 effect. Compare changing characters in hash160 to final BTC address.
jr. member
Activity: 50
Merit: 30
Agreed it is an avalanche effect, up to a point. From the private key perspective, but not the public key perspective.

Meaning, normally, if you have the same number of leading public key characters, they often will hash to the same leading characters in an address.

I was recently reading this, somewhere.

However, the private key is the wildcard. Trying to match the first x amount of characters and it hash to same public key or address is not the norm.

People like to tinker. Nothing wrong with that. Their idea may spawn something that helps solve quicker. Maybe, maybe not, but it doesn’t hurt anyone from a person tinkering out their ideas.

bx sha256 1234 - hash 1234
3a103a4e5729ad68c02a678ae39accfbc0ae208096437401b7ceab63cca0622f - Produced EC key from hash
bx ec-to-public 3a103a4e5729ad68c02a678ae39accfbc0ae208096437401b7ceab63cca0622f
03b57de06f5c674af0d789530249bb658b0e317d4d179e1b1b1b0aa2ba668bb5f5 - Public key
bx ec-to-public 3a103a4e5729ad68c02a678ae39accfbc0ae208096437401b7ceab63cca0622a - Only last digit of public key has been changed
02e70d3902ef877ba400f15ec109e1933956da79b14d6d33054f50cad9c30e5d5d - Public key

Changing f to a on the EC key resulted in two very different pub keys.
03b57de06f5c674af0d789530249bb658b0e317d4d179e1b1b1b0aa2ba668bb5f5
02e70d3902ef877ba400f15ec109e1933956da79b14d6d33054f50cad9c30e5d5d

Resulting in the following addresses
bx ec-to-address 03b57de06f5c674af0d789530249bb658b0e317d4d179e1b1b1b0aa2ba668bb5f5
16sxaRqyfABv4LBsH1hEgj6tr1g5u2yNtC
bx ec-to-address 02e70d3902ef877ba400f15ec109e1933956da79b14d6d33054f50cad9c30e5d5d
1CQttaNNbyei9SPeo2WSc6fsc6asWmcvkP

However I have noticed public keys working towards address do somewhat share similar conversion traits. Not sure how it would be useful. Much like all the EC keys we are looking for all start the same. Just too many of possible values.
jr. member
Activity: 77
Merit: 1
is worth it to search the address by this method?

[2024-01-27 14:30:18] : Found address 13zCn8PenSN9QLGdeyccJv7kb8m8RnkDGY
[2024-01-27 14:30:18] : Private key HEX 0000000000000000000000000000000000000000000000030011c37937e0887a
[2024-01-27 14:30:18] : Found address 13zoZpGGwVs6ysE9wJbxWvyrWg5CLkVifw
[2024-01-27 14:30:18] : Private key HEX 0000000000000000000000000000000000000000000000030011c37937e0890d
[2024-01-27 14:30:19] Thread: Searched 3000 keys in 9.97 seconds
[2024-01-27 14:30:20] Thread: Searched 2000 keys in 11.07 seconds
[2024-01-27 14:30:20] Thread: Searched 3000 keys in 11.07 seconds
[2024-01-27 14:30:20] : Found address 13zb2pSKyRk7vbagvGvueczkrJ1aKJYpmR
[2024-01-27 14:30:20] : Private key HEX 0000000000000000000000000000000000000000000000030011c37937e08ad8

i only use Thread, any code to use with GPU or something else ? like pool scanning for faster ?
member
Activity: 499
Merit: 38


amazing, thanks.

I will study your code and implement some own logic of mine.

It has incredible possibilities for compiling. I was able to run this on an ARM processor as well on Amd Zen 2, 3 and 4

 on almost everything..... Grin

https://doc.rust-lang.org/rustc/platform-support.html

example
Code:
RUSTFLAGS="-C target-cpu=znver4" cargo build --release --target=x86_64-unknown-linux-gnu

run
Code:
./target/x86_64-unknown-linux-gnu/release/puzzle
jr. member
Activity: 149
Merit: 7
jr. member
Activity: 67
Merit: 1
It's not that easy in the 66 bit range there is only one address, those numbers must be 100% exactly one bit different and you will get a completely different address
member
Activity: 275
Merit: 20
the right steps towerds the goal
Agreed it is an avalanche effect, up to a point. From the private key perspective, but not the public key perspective.

Meaning, normally, if you have the same number of leading public key characters, they often will hash to the same leading characters in an address.

I was recently reading this, somewhere.

However, the private key is the wildcard. Trying to match the first x amount of characters and it hash to same public key or address is not the norm.

People like to tinker. Nothing wrong with that. Their idea may spawn something that helps solve quicker. Maybe, maybe not, but it doesn’t hurt anyone from a person tinkering out their ideas.

Thank you, I felt very good hearing this, look at the jump which I want, in sequence still challenging but far better then blindly random..


Jump to: