Author

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

newbie
Activity: 14
Merit: 0
Here, I give you 2 which are really close to each other, lets go.😉


Code:
03b4f75b9205bdcfcf269e604e27066ea422f11e7c1cf50dee6d6b005510e4deaf
02f92b4119e2ecdc2924ff6983f65c3b5af9ed036ce5a6469f3462965840e3daef

The difference between the two public keys is 6.

If I had more time I would find the sum. Once you know the difference and sum then you can solve for the private keys individually. Simple algebra really.
member
Activity: 239
Merit: 53
New ideas will be criticized and then admired.
Here, I give you 2 which are really close to each other, lets go.😉


Code:
03b4f75b9205bdcfcf269e604e27066ea422f11e7c1cf50dee6d6b005510e4deaf
02f92b4119e2ecdc2924ff6983f65c3b5af9ed036ce5a6469f3462965840e3daef
03b4f75b9205bdcfcf269e604e27066ea422f11e7c1cf50dee6d6b005510e4deaf
Actually, if this were possible, bitcoin was underground.
I would say it is above
1000000000000000000000000000000000000000
but my calculations have errors, so if I'm right I'll take it as a coincidence., but I will continue investigating.
Although I am more than 99% sure that this is not possible, we always have to explore all angles in science..
member
Activity: 239
Merit: 53
New ideas will be criticized and then admired.
just to test if it's possible, not sure but for the sake of science.
let's do a test.

Someone send me a pubkey that is within the decimal range of puzzle #130 without revealing the pk.

start= 680564733841876926926749214863536422911 
         
end= 1361129467683753853853498429727072845823

       

What I want to experiment with is if I can tell you if a pubkey is greater or less than:

1000000000000000000000000000000000000000

I know it's crazy  but I don't lose anything by testing my calculations in ecc
newbie
Activity: 7
Merit: 0
Working on a script to run on a quantum computer, WE SHALL SEE THE RESULTS  Grin

Code:
.from qiskit import QuantumCircuit, execute, Aer
from qiskit.circuit.library import PhaseOracle

target_address_hex = "20d45a6a762535700ce9e0b216e31994335db8a5"
target_address_decimal = int(target_address_hex, 16)

def sha256_compression_function(qc, message_bits):
    # Implement SHA-256 compression using quantum gates
    # You need to add the actual logic here

    # For demonstration purposes, we'll just apply a simple quantum oracle
    oracle = PhaseOracle(message_bits, target=target_address_decimal)
    qc.append(oracle, range(qc.num_qubits))

# Define the range for iteration
start_range = 36893488147419103232
end_range = -73786976294838206464

# Main loop
for decimal_value in range(start_range, end_range+1):
    # Convert decimal value to bytes and binary string
    message_bytes = decimal_value.to_bytes(32, byteorder="big")
    binary_message = ''.join(format(byte, '08b') for byte in message_bytes)

    # Create quantum circuit
    qc = QuantumCircuit(256)

    # Apply bit operations to encode the initial state and message onto the qubits
    # Implement encoding logic based on your requirements

    # Implement the SHA-256 compression function using a quantum oracle
    sha256_compression_function(qc, binary_message)

    # Measure the final state of the qubits
    qc.measure_all()

    # Simulate the circuit
    job = execute(qc, backend=Aer.get_backend('qasm_simulator'), shots=1024)

    # Get the results and extract the final state
    counts = job.result().get_counts(qc)
    final_state = [int(bits, 2) for bits in counts.keys()][0]

    # Check if the generated hash matches the target address
    if final_state == target_address_decimal:
        print(f"Target address found!")
        print(f"Decimal Value: {decimal_value}")
        print(f"Simulated Bitcoin hash160: {hex(final_state)[2:].zfill(40)}")
        break


Hi mate,

how it is going so far? How much is the real rate of keys/s?
full member
Activity: 1162
Merit: 237
Shooters Shoot...
wow, iwas telling some co workers about the script i wrote and how it works.. They never heard of this puzzle and wanted a shot, my script is currently searching for puzzle 66,67,68 and 69 just by iterating through the decimal range for 20000000000000000 - 2ffffffffffffffff
they both bought the script for $50 bucks each lol. i'm fine with selling the shovels  Grin Grin
Good deal.

I really hope you added the suggestions that were mentioned by various people here in the forum, because your script was extremely slow and a lot of steps that were not needed.

Send me your coworkers contact info so I can sell them a better script that does the same thing at 120x the speed of yours. Maybe $500?  Wink
hero member
Activity: 630
Merit: 731
Bitcoin g33k
my script is currently searching for puzzle 66,67,68 and 69 just by iterating through the decimal range for 20000000000000000 - 2ffffffffffffffff

cool! wish you best of luck in finding the jewels in the universe of simple 18,446,744,073,709,551,615 ... hum....whatever  Tongue
newbie
Activity: 17
Merit: 0
wow, iwas telling some co workers about the script i wrote and how it works.. They never heard of this puzzle and wanted a shot, my script is currently searching for puzzle 66,67,68 and 69 just by iterating through the decimal range for 20000000000000000 - 2ffffffffffffffff
they both bought the script for $50 bucks each lol. i'm fine with selling the shovels  Grin Grin
member
Activity: 500
Merit: 38
       # Implement the SHA-256 compression function using a quantum oracle search for target address prefix 20d45
        sha256_compression_function(qc, binary_message, expression="message[0] == '1' and message[1] == '0' and message[2] == '1' and message[3] == '1'")

You are applying sha256 on the privatekey and compare it to the #66 hash160??? How should this ever return something related to #66?
Also is the sha256_compression_function just trying random bits?

I just looked at the whole code now...you are right.

The expression "message[0] == '1' and message[1] == '0' and message[2] == '1' and message[3] == '1'" in the sha256_compression_function is hardcoding specific conditions based on the target address. In a real scenario, the conditions would depend on the actual hash function and Bitcoin address generation process.

The absence of ecdsa.SigningKey.from_string is notable.
For example
Code:
signing_key = ecdsa.SigningKey.from_string(private_key_bytes, curve=ecdsa.SECP256k1)

If we doesn't have this, there must be an encoder that does it. Let's say fastecdsa SEC1Encoder which is fully hardcoded in C.

This method is commonly used in classical (non-quantum) code for dealing with ECDSA (Elliptic Curve Digital Signature Algorithm) signatures in Bitcoin. If you are working with Bitcoin addresses, you would typically use libraries like ecdsa/fastecdsa to handle key generation and signing.

I'm losing 0.001 part of a second just for that in Python. ECDSA signing function is the most time consuming and is a bottleneck in the overall speed. It's painfully slow. I would love to throw it out as well, but i can't. That's not how things works.

The code seems to be treating the quantum computation as a search problem, attempting to find a hash collision that matches the target address. However, the actual Bitcoin address generation process involves public key derivation, hash functions, and elliptic curve cryptography, which are not accurately represented in the code.
jr. member
Activity: 76
Merit: 4
I doubt if 10 minutes for 66 even on a super computer is enough and after the 10 minutes its $1.60 per minute so 130 would cost a lot more money than 66. eventually the cost will go down.

Keep in mind the limitations imposed by the IBM Quantum provider, such as the number of allowed jobs, 10 minutes execution time, and queuing times (a shared resources).

Instead of applying Controlled-X gates individually in a loop, you can use Qiskit's QuantumCircuit.mct (Multiple-Control Toffoli) gate to combine multiple Controlled-X gates into a single operation.

qc.mct(list(range(16)), 16)

Code:
def sha256_compression_function(qc, message_bits, expression):
    # Ensure the length of message_bits is 256
    assert len(message_bits) == 256,

    # Apply Controlled-X gates based on the message bits
    qc.mct(list(range(16)), 16)  # Combine Controlled-X gates into a single operation

    # Manually construct the boolean conditions from the expression
    qc.x([i for i, char in enumerate(expression) if char == '1' and i < 16])


Good Luck !

p.s.
I think it takes at least a week or two to hit something with this...... Every day is $1.60x1440.
High class gambling. Grin

I need to make changes to the Kangaroo_CPU.dll file. How can I do this? I cannot see its content. I tried various programs but I could not see the codes. The programs give errors, I think it is encrypted

 DLLs and SOs are binary files that contain compiled code. If you have access to the source code of the library, it is always better to make the necessary changes there and recompile the library. This is the safest and most recommended approach. If not, the question arises as to what is hidden in them?  Huh
Yes no one should expect to hit it in 10 inutes but I put the code up so others could get a taste of the future and others could use it as a framework to modify and improve on the code.
jr. member
Activity: 47
Merit: 12
gmaxwell creator of 1000 BTC puzzl + Pinapple fund
       # Implement the SHA-256 compression function using a quantum oracle search for target address prefix 20d45
        sha256_compression_function(qc, binary_message, expression="message[0] == '1' and message[1] == '0' and message[2] == '1' and message[3] == '1'")

You are applying sha256 on the privatekey and compare it to the #66 hash160??? How should this ever return something related to #66?
Also is the sha256_compression_function just trying random bits?
member
Activity: 500
Merit: 38
I doubt if 10 minutes for 66 even on a super computer is enough and after the 10 minutes its $1.60 per minute so 130 would cost a lot more money than 66. eventually the cost will go down.

Keep in mind the limitations imposed by the IBM Quantum provider, such as the number of allowed jobs, 10 minutes execution time, and queuing times (a shared resources).

Instead of applying Controlled-X gates individually in a loop, you can use Qiskit's QuantumCircuit.mct (Multiple-Control Toffoli) gate to combine multiple Controlled-X gates into a single operation.

qc.mct(list(range(16)), 16)

Code:
def sha256_compression_function(qc, message_bits, expression):
    # Ensure the length of message_bits is 256
    assert len(message_bits) == 256,

    # Apply Controlled-X gates based on the message bits
    qc.mct(list(range(16)), 16)  # Combine Controlled-X gates into a single operation

    # Manually construct the boolean conditions from the expression
    qc.x([i for i, char in enumerate(expression) if char == '1' and i < 16])


Good Luck !

p.s.
I think it takes at least a week or two to hit something with this...... Every day is $1.60x1440.
High class gambling. Grin

I need to make changes to the Kangaroo_CPU.dll file. How can I do this? I cannot see its content. I tried various programs but I could not see the codes. The programs give errors, I think it is encrypted

 DLLs and SOs are binary files that contain compiled code. If you have access to the source code of the library, it is always better to make the necessary changes there and recompile the library. This is the safest and most recommended approach. If not, the question arises as to what is hidden in them?  Huh
jr. member
Activity: 56
Merit: 1
I need to make changes to the Kangaroo_CPU.dll file. How can I do this? I cannot see its content. I tried various programs but I could not see the codes. The programs give errors, I think it is encrypted
jr. member
Activity: 76
Merit: 4
@unclevito, your code looks like a time travel code, and you got a chance at using a quantum computer just to waste it on 66? They are not good at brute forcing, they should be used for public key calculations.
6.6 bitcoins is over $250,000 dollars so 66 is not a waste unless you are an evil billionaire
Public key operations are much faster with QC, anyways you could spend the same amount of energy and resources to solve for 130, which has 13 Bitcoins, unless you are an evil billionaire!😉
I doubt if 10 minutes for 66 even on a super computer is enough and after the 10 minutes its $1.60 per minute so 130 would cost a lot more money than 66. eventually the cost will go down.
jr. member
Activity: 76
Merit: 4
@unclevito, your code looks like a time travel code, and you got a chance at using a quantum computer just to waste it on 66? They are not good at brute forcing, they should be used for public key calculations.

anyone can use it since you are using IBM's resources. any computer that can execute python can get it running. Sooner or later we will all be using super computers so at least get a taste of one



@unclevito, your code looks like a time travel code, and you got a chance at using a quantum computer just to waste it on 66? They are not good at brute forcing, they should be used for public key calculations.
6.6 bitcoins is over $250,000 dollars so 66 is not a waste unless you are an evil billionaire
jr. member
Activity: 35
Merit: 1
I downgrade the public 130 to 104 , and got a 15 public each one substracted from constant value and each public has his constant values. For puzzle 66 that doesn't have public key yet , I have 33 million value needs to be scanned in range 2**40
I'm sorry but I can't really understand what you are saying, what is a constant value? What is the relation between 2**40 and puzzle 130 with puzzle 66? They are totally separate, you can't possibly solve 66 with public key operations, because you'd need to generate rmd160 on each key to compare, so don't mix up those two. Moreover if you want, you can scan and find any key in 2**40 bit range using kangaroo in a second, I linked to the topic a few posts above.


If anyone is wondering about these kids trolling, it's normal ever since the prize were increased after I asked for it, they started their personal attacks, just like 2018 when they realized I was appointed as a merit source after I asked for it. envy burns really deep I suppose.

[insert satoshi and admin's reaction meme here "WTH is he talking about?"] Lol.
I would try that if I have enough resources for kangaroo . And about the relationship between 2**40 and puzzle 66 , you don't have to think about it , I am just playing around
jr. member
Activity: 76
Merit: 4
I wrote a program to connect to IBM quantum to test looking for puzzle 66 and am currently connected to IBM_Kyoto Japan super computer with the free 10 minutes outcome unknown, is 10 minutes enough?. System puts you in and out of queue with 2 to 3 second snipets so the 10 minutes could take hours before any results if any. anyone who wants to try it go to my github page to download  script/instructions https://github.com/unclevito2017 If like me I have already tried everything

import qiskit
from qiskit import execute, Aer, IBMQ
from qiskit.circuit.library import PhaseOracle
from qiskit_ibm_provider import IBMProvider
from qiskit import QuantumCircuit

def sha256_compression_function(qc, message_bits, expression):
    # Ensure the length of message_bits is 256
    assert len(message_bits) == 256, "Message must be 256 bits long"

    # Apply controlled-X gates based on the message bits
    for i, bit in enumerate(message_bits[:32]):
        if bit == '1' and i < 16:  # Ensure i is within the valid range
            qc.cx(i, 31)  # Apply CX gate to qubit 16 with control qubit i

    # Manually construct the boolean conditions from the expression
    for i, char in enumerate(expression):
        if char == '1' and i < 16:  # Ensure i is within the valid range
            qc.x(i)  # Apply X gate to qubit i

    # Apply the oracle to each qubit individually
    for i in range(16):
        qc.cx(i, 16)  # Controlled-X gate with control qubit i and target qubit 16
        qc.x(i)  # Reset the control qubit qubit 16

def main():
    # Load IBM Quantum account
    IBMQ.load_account()
    provider = IBMProvider()  # No hub, group, or project parameters

    # Target Bitcoin address
    target_address_hex = "20d45a6a762535700ce9e0b216e31994335db8a5"
    target_address_decimal = int(target_address_hex, 16)

    # Define the range for iteration in hexadecimal
    start_range = 0x2000000000000000
    end_range = 0x3fffffffffffffff

    # Iterate over the range
    for decimal_value in range(int(start_range), int(end_range) + 1):
        # Convert decimal value to bytes and binary string
        hex_value = hex(decimal_value)[2:].zfill(32)  # Ensure a fixed length of 32 characters
        message_bytes = bytes.fromhex(hex_value)
        binary_message = ''.join(format(byte, '08b') for byte in message_bytes)
        binary_message = binary_message.zfill(256)  # Pad to 256 bits

        # Initialize quantum circuit with the initial state based on the binary message
        qc = QuantumCircuit(32, 32, name="qc", global_phase=0)

        # Apply bit operations to encode the initial state and message onto the qubits
        for i, bit in enumerate(binary_message[:16]):
            if bit == '1':
                qc.x(i)

        # Implement the SHA-256 compression function using a quantum oracle search for target address prefix 20d45
        sha256_compression_function(qc, binary_message, expression="message[0] == '1' and message[1] == '0' and message[2] == '1' and message[3] == '1'")

        # Measure the final state of the qubits
        qc.measure_all()

        # Use the IBM Quantum backend
        backend = provider.get_backend('ibm_kyoto')

        # Simulate the circuit on the IBM Quantum backend
        job = execute(qc, backend=backend, shots=1024)

        # Get the results and extract the final state
        counts = job.result().get_counts(qc)
        final_state = int(list(counts.keys())[0].replace(" ", ""), 2)

        # Check if the generated hash matches the target address characters 10
        if hex(final_state)[:10] == hex(target_address_decimal)[:10]:
            print(f"Target address found!")
            print(f"Decimal Value: {decimal_value}")
            print(f"Simulated Bitcoin hash160: {hex(final_state)[2:].zfill(40)}")
            break

    else:
        print("Target address not found within the specified range.")

if __name__ == "__main__":
    main()

https://ibb.co/zXfjbwB">https://i.ibb.co/BysdjRQ/quantum.jpg" alt="quantum" border="0">
jr. member
Activity: 85
Merit: 2
Three accounts so far. Sadly its not very funny. Its driving people away and we lose the purpose of this forum.


Who else cracked down out of laughing because digaran is talking and replying to himself with his accounts?  Grin Grin
I can't laugh Smiley I can tell you where he screwed up. He said: - I am close to the decision 130. This is Digaran, I have no doubt.
member
Activity: 93
Merit: 16
Who else cracked down out of laughing because digaran is talking and replying to himself with his accounts?  Grin Grin
I can't laugh Smiley I can tell you where he screwed up. He said: - I am close to the decision 130. This is Digaran, I have no doubt.
jr. member
Activity: 35
Merit: 1
Actually am on a path to solve puzzle 130. The numbers am posting here are connected to the private key of puzzle 130. I however, am the only one who can trace back how. Once I solve it, I will let you in on my nonsensical calculations.
I told you to ignore anyone here complaining, if you read their posts you'll realize they have nothing substantial to add to the conversation. They also think you and other newbies are my alt accounts, so whatever insult they throw is directed to me, don't take offense.

Let me give you a bit of advice, 6 months ago I was exactly where you are now, using keysubtracter has it's own tricks, but it's also very confusing. you'll understand later. Regardless I wish you get what you want if you really deserve it. Good luck.

I have seen that. I don't know why someone would think you are talking to yourself!!!!  I have been through the loops you are talking about and that's why past here am not using a key subtracter anymore. I can easily find myself with negative values. At least I am in a range that can be scanned.
I downgrade the public 130 to 104 , and got a 15 public each one substracted from constant value and each public has his constant values. For puzzle 66 that doesn't have public key yet , I have 33 million value needs to be scanned in range 2**40
vhh
newbie
Activity: 14
Merit: 2
Who else cracked down out of laughing because digaran is talking and replying to himself with his accounts?  Grin Grin

Agree  Grin Grin
Jump to: