Bitcoin Forum
May 21, 2024, 05:23:18 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: March 14, 2024, 08:01:28 AM
I have a question, which is faster, generating the public key and then calculating the hash160 by adding and subtracting the private key, compared to calculating the hash160 by adding and subtracting the public key?

For example, I already know the public key of private key 1, to calculate the hash160 address of private key 2, is it faster to generate the public key and then generate the hash160 address by private key 2, or is it faster to calculate the hash160 by adding 1 to the public key of private key 1?
2  Bitcoin / Bitcoin Technical Support / About taproot address on: January 31, 2024, 07:32:26 AM
Hi everyone.

I'm struggling with the taproot address.

In python, how to convert a hexadecimal privatekey to taproot address?

I use bech32m lib but the taproot address generated is doesn't match to the correct address.

Can anyone explain taproot address generation process? I want use a hexadecimal privatekey to generate taproot address.

Thank you.
3  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: January 10, 2024, 02:15:22 AM
I think I figured out how publickey subtraction works. I apologize if I misunderstood.
But I have a question, in programs that support multiple publickeys as input, such as kangaroo and keyhunt, do they look up all the publickeys in parallel? Or do they just look them up line by line? So far in my testing, JLP's kangaroo does lookup line by line, which would be very slow to lookup all publickeys, so what is the point of publickey subtraction?
4  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: January 08, 2024, 05:01:19 AM
HI everyone, maybe someone here can explain to me how public key subtraction works? Thanks.
5  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: September 08, 2023, 06:55:33 AM
Looks like those who is searching for #66 are at 354d range, even myself also search at the same range. If my research correct, #66 range should be in between 354df - 358ae. Even this range will take ages to scan. LoL.

How did you come to this conclusion?
6  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: August 23, 2023, 04:51:46 AM
Hello everyone! is there any topic or a reply with FULL Guide on how to join you Gents in this quest?

I'm a newbie in python but I believe I can follow a guide if someone would like to help me start hunting with you!
I can run a CPU script on a laptop and a GPU script on a Gaming PC.

Anyone can help me Setup or Guide me? Please

See this site and you will get answer.

https://privatekeys.pw/puzzles/bitcoin-puzzle-tx
7  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: August 22, 2023, 01:59:17 PM
Alright, after numerous calculations, I've come to the point where I need someone who is interested in puzzle 66 and capable of counting 48 bits within a few minutes. I have a total of 588 ranges for them to work on, with the opportunity to claim the prize of 6.6 BTC. Alternatively, if the author of the puzzle – the one who created this challenge to test the difficulty of increasing bits – has come across my post, I challenge them to assist me in improving my counting speed. I am confident in my ability to crack puzzle 66 in a matter of days.

How can I cooperate with you?
8  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: August 18, 2023, 09:04:36 AM
Is there anyone here who owns or can rent h100 gpu? I would like to know the performance of tools such as Bitcrack on this GPU.

I don't think that anyone would be willing to rent that GPU for you because I have searched it on a site and the rent of that GPU is around $1.99/hr which is very high for most people. If you really want to test the performance on Bitcrack on that GPU then you'll have to rent it out yourself.

Here is the link of the site that's offering renting of that GPU:
lambdalabs link

I must confirm you that I'm in no way affiliated with that site, I simply made a Google search and found that site. I would also recommend you to research about the legitimacy of the site your self before paying for GPU's rent. I would not be responsible for any damages or losses that occurs if you purchase plans on that site.

I have tried renting h100 on this website before, but it shows h100 are out of capacity.

So I want to ask if anyone has tried hunting on the h100, and if so, could you share the specific speed?
9  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: August 18, 2023, 08:30:25 AM
Is there anyone here who owns or can rent h100 gpu? I would like to know the performance of tools such as Bitcrack on this GPU.
10  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: August 17, 2023, 05:50:17 AM
My second version is slightly improved, but I still have the bottleneck of list cloning. For instance, if I have a 1GB list and I use 4 cores for the search, it uses 4GB of RAM.

Write a separate section of the function for generating the list and call it in your main function.
11  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: August 12, 2023, 12:21:45 PM
Using this code below to find the private key for puzzle 30, which specifies that the first 4 bits are 1. Running it with 12 processes on my i7-12700kf, the private key was found in about 1 minute and 28 seconds.

Code:
000000000000000000000000000000000000000000000000000000003d94cd64
hash160: d39c4704664e1deb76c9331e637564c257d68a08
Target hash found!
Time: 0 h, 1 m, 28 s

Code:
import hashlib
import ecdsa
import random
import time
from multiprocessing import Process, Event

target_hash = "d39c4704664e1deb76c9331e637564c257d68a08"

def binary_to_hex(bin_string):
    return hex(int(bin_string, 2))[2:].zfill(len(bin_string) // 4)


def worker(num_zeros, num_ones, stop_event):


    while True:
        if stop_event.is_set():
            break

        bits = ['0'] * num_zeros + ['1'] * (num_ones - 4)
        random.shuffle(bits)

        bits.insert(0, '1')
        bits.insert(1, '1')
        bits.insert(2, '1')
        bits.insert(3, '1')
        private_key_bin = ''.join(bits)

        private_key_bin = '0' * (256 - 30) + private_key_bin

        private_key_hex = binary_to_hex(private_key_bin)

        sk = ecdsa.SigningKey.from_string(bytes.fromhex(private_key_hex), curve=ecdsa.SECP256k1)
        public_key = sk.get_verifying_key().to_string().hex()

        compressed_public_key = '02' + public_key[0:64] if int(public_key[-2:], 16) % 2 == 0 else '03' + public_key[0:64]
        compressed_public_key_bytes = bytes.fromhex(compressed_public_key)

        ripemd160_hash = hashlib.new('ripemd160')
        ripemd160_hash.update(hashlib.sha256(compressed_public_key_bytes).digest())
        hashed_compressed_public_key = ripemd160_hash.digest().hex()


        if hashed_compressed_public_key == target_hash:
            print(private_key_hex)
            print("hash160:", hashed_compressed_public_key)
            print("Target hash found!")

            stop_event.set()
            break



def main():
    num_processes = 12
    processes = []
    stop_event = Event()

    start_time = time.time()

    for _ in range(num_processes):
        process = Process(target=worker, args=(14, 16, stop_event))
        processes.append(process)

    for process in processes:
        process.start()

    for process in processes:
        process.join()

    if stop_event.is_set():
        for process in processes:
            process.terminate()

    end_time = time.time()
    execution_time_seconds = end_time - start_time

    hours = int(execution_time_seconds // 3600)
    minutes = int((execution_time_seconds % 3600) // 60)
    seconds = int(execution_time_seconds % 60)

    print(f"Time: {hours} h, {minutes} m, {seconds} s")



if __name__ == '__main__':
    main()



Quote
Using this code below to find the private key for puzzle 30, which specifies that the first 4 bits are 1. Running it with 12 processes on my i7-12700kf, the private key was found in about 1 minute and 28 seconds.

Of course, it's just trying my luck. But who isn't trying their luck for hunters who don't have a lot of gpu? I believe that any other tool used by each of us hunters with only a small amount of resources is using random mode to search for private keys, so why not rule out some combinations with lower probability to try some private keys with higher probability?
12  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: August 12, 2023, 12:07:47 PM
Quote
Just start to scan from 50-50, 51-49, 52-48 and so on and it will save a lot of time and unnecessary scan from the beginning of useless less likely range.

The key is how to write code to run the specified 0 and 1 digits on the gpu.

Also, I think that there is a high probability that the hexadecimal number of the private key for puzzle 66 starts with 3. That is, the highest 2 bits of the binary private key we can both set to 1, and we can specify the number of bits for 0s and 1s, and we can even search for less than just 2^63 private keys if we use bits with a probability of more than 40%! Of course, this is an extreme case, using too many coincidences.

If we continue to exclude combinations with negligible probability, such as 10 consecutive 0's or 1's, then the search space will be further reduced.

13  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: August 08, 2023, 09:16:07 AM
I wrote a simple script for solving puzzle 66: https://github.com/allinbit/btc_puzzle

If it could be ported to gpu then it would be faster but I don't know anything about it. Smiley
14  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: August 08, 2023, 05:49:41 AM
Let's outline what james5000 does from a mathematical point of view:

For puzzle 66, we have 66 binary digits, and following james5000's idea, we can set the number of digits of 0s and 1s within a specific range(the digits of 0 and 1 shall not exceed 41% of the 66 digits):

Code:
Number of 0    Number of 1
      27                  39
      28                  38
      29                  37
      30                  36
      31                  35
      32                  34
      33                  33
      34                  32
      35                  31
      36                  30
      37                  29
      38                  28
      39                  27


Now let's calculate the key space possibilities:

For a 66-bit binary number, where 0 has 27 bits and 1 has 39 bits, since the leftmost bit is fixed to be 1, we have 65 bits left to fill with 38 ones (since one 1 is already used for the leftmost bit) and 27 zeros.

Now, think of this as trying to choose locations for the 38 ones out of the remaining 65 bits. Once the positions for the ones are determined, the positions for the zeros are also fixed.

The number of ways to choose 38 locations out of 65 is given by the combination formula or "n choose k", represented as n!/(k!(n-k)!)

In this case, n = 65 and k = 38, so we got 65!/(38!x27!)

This formula calculates the number of ways to arrange 38 ones in a 65-bit string.

We then apply the formula to the remaining combinations, the probability of all keys is::
Code:
65!/(38!x27!) + 65!/(37!x28!) + 65!/(36!x29!) + 65!/(35!x30!) + 65!/(34!x31!) + 65!/(33!x32!) + 65!/(32!x33!) + 65!/(31!x34!) + 65!/(30!x35!) + 65!/(29!x36!) + 65!/(28!x37!) + 65!/(27!x38!) + 65!/(26!x39!)

Which equal to 3.287737502x10^19, is smaller than 2^65 and about 44.56% of 2^66. That means we only need to search 44.56% of the original key space to potentially find the private key for puzzle 66!

I don't know if my calculation process is correct. If there are any errors, please point them out. Thank you. Smiley
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!