Bitcoin Forum
October 02, 2025, 08:40:53 AM *
News: Latest Bitcoin Core release: 29.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1] 2 3 »
1  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][COMP] Compound Coin - 250% Interest Proof of Stake - Listed on 4 Exchanges on: October 10, 2024, 05:28:42 PM
Just a couple quick questions:

Did the original CPATEX run away with all our crypto? https://cpxclassic.com Doesn't work.

When trying to get that figured out I remembered I still have a Wallet running and mining Compound Coin, anyone other miners still alive out there??

Thanks

addnode=188.165.3.89
addnode=67.170.27.70
addnode=78.26.198.224
addnode=31.31.13.154
addnode=92.232.89.17

2  Bitcoin / Bitcoin Discussion / Re: == Bitcoin challenge transaction: ~1000 BTC total bounty to solvers! ==UPDATED== on: July 30, 2024, 02:57:39 AM

Hey,

hypothetically i find the key, submit tx transaction with 0.1BTC going to my address and pay fee of 6.5 BTC. How do you steal my transaction ?

Thank you!

It is a lose-lose example in my case the bot will keep increment 1sat/vB more than your or anyone else TX.

In the final round in case to reach the limit of the input balance it will append an extra input to the TX and send 100% of the puzzle address as fee.

Better to stick to the higher range keys then. 130 and up.
3  Bitcoin / Bitcoin Discussion / Re: == Bitcoin challenge transaction: ~1000 BTC total bounty to solvers! ==UPDATED== on: July 18, 2024, 05:07:45 AM
So, has anyone figured out a bulletproof way to spend puzzle 66's inputs, once the key is found, without the internet-of-bots stealing the prize? Other than trying to find a big enough mining pool that will mine your transaction into a block and not expose the transaction to the mempool? Could any mining pool even be trusted to that extent?

I cant belive that I read this BS again on this forum. Are you out of your mind? Why the hell do you need a mining pool?HuhHuhHuh
I have read a similar BS from another user in another topic, that is talking about miners.

You dont need any miners to get the money, when you got the privatekey, you can immediately take control of the bitcoins. Do you really dont know how?



Mining has nothing to do with obtaining the privkey, once its loaded and sent to a new address the next transaction in line will pick it up and you will obtain ownership. The alt coins however would be left intact and easily breakable for first come first serve. I know for a fact If I managed to break a puzzle I would not be worried about the small alt coin addresses, I am sure someone could sweep them all at once but I dont have time for that.

Also a address without a outgoing TX does not have its public key exposed. Once coins are sent from a address the pubkey is leaked because the network needs it for verification to send the coins. The pubkey can easliy be cracked with tools listed here. So once someone sweeps BTC from say puzzle 66 the pubkey is now exposed. BSGS can now be used to crack the privkey in minutes or less. The reason puzzles 66 and up are still not broken is because the pubkey is not known. The creator knowningly sent small amounts of coins on other puzzles to expose some of the pubkeys. Puzzles 120, 125, 130, 135 ect. Maybe for fun who knows.

Again, Miners have nothing to do with solving the puzzle. If 2 people were to try to send the coins at the same time for some reason on the same block, 1 transaction would reject depending on that tx in the mempool, and the exact time it was sent. The miner speed would be the same for both of them as the blocks get solved 1 at a time. The network will attemp a target time "usually a minute" for each block to get solved by adjusting difficuilty based on current net hash rate, its not perfect but a sudden ramp up in hash rate will only solve a few blocks before the difficuilty adjusts to correct the solving speed.
4  Alternate cryptocurrencies / Altcoin Discussion / Re: What do you think? Does Pepecoin [PEP] have potential? on: July 15, 2024, 02:15:06 AM
Fair launch, layer 1. Yes although it make take some time.
5  Alternate cryptocurrencies / Altcoin Discussion / Re: new meme coins with potential? on: July 13, 2024, 04:16:13 PM
Many meme coins seem to have skyrocketed.

The ones that have peaked recently, like PEPE and Harambe, seem kind of risky to get it, at these heights. Of course, they may continue climbing up, now that they have gained the focus.


Any new ones that you think might go high, when it's still early on?

I see PENG at MEXC, for example, having break its previous resistance, right now, and going up. Do you think this can be a thing?

Any other suggestions?

Thanks

Pepecoin layer 1 doge clone
Very active, fair launch. Available on xeggex but they are working on other exchanges

Pepecoin.org
6  Bitcoin / Bitcoin Technical Support / Re: recover keys from wallet.dat without using pywallet on: June 25, 2024, 02:46:37 AM
Hi, since HCP wasnt online for 2 weeks now, does someone by chance has his coredecrypter?

I am unsure if I modified his code at all, however it is original or very close.
If I did edit it, it will print without verfication of the key pairs regadless of the data inputed.
HCP donation address has NOT BEEN CHANGED!


#!/usr/bin/env python

# Bitcoin Core wallet.dat masterkey/privkey decrypter
#
# Coded by HCP 2021
#
# Donations: BTC - 33o4MoDSFrfKSznHLBzwKigpTQvMiWWsHr
#
# Borrows heavily from joric's PoC code here: https://bitcointalk.org/index.php?topic=34028.msg708668#msg708668
# Bitcoin wallet keys AES encryption / decryption (see http://github.com/joric/pywallet)
# Uses pycrypto or libssl or libeay32.dll or aes.py from http://code.google.com/p/slowaes

import argparse
import base58
import binascii
import ecdsa
import getpass
import hashlib
import struct
import sys

crypter = None

debug = 0

try:
    from Crypto.Cipher import AES
    crypter = 'pycrypto'
except:
    pass

class Crypter_pycrypto( object ):
    def SetKeyFromPassphrase(self, vKeyData, vSalt, nDerivIterations, nDerivationMethod):
        data = vKeyData + vSalt
        for i in range(nDerivIterations):
            data = hashlib.sha512(data).digest()
        self.SetKey(data[0:32])
        self.SetIV(data[32:32+16])
        return len(data)

    def SetKey(self, key):
        self.chKey = key

    def SetIV(self, iv):
        self.chIV = iv[0:16]

    def Encrypt(self, data):
        return AES.new(self.chKey,AES.MODE_CBC,self.chIV).encrypt(data)[0:32]
 
    def Decrypt(self, data):
        return AES.new(self.chKey,AES.MODE_CBC,self.chIV).decrypt(data)[0:32]

try:
    if not crypter:
        import ctypes
        import ctypes.util
        ssl = ctypes.cdll.LoadLibrary (ctypes.util.find_library ('ssl') or 'libeay32')
        crypter = 'ssl'
except:
    pass

class Crypter_ssl(object):
    def __init__(self):
        self.chKey = ctypes.create_string_buffer (32)
        self.chIV = ctypes.create_string_buffer (16)

    def SetKeyFromPassphrase(self, vKeyData, vSalt, nDerivIterations, nDerivationMethod):
        strKeyData = ctypes.create_string_buffer (vKeyData)
        chSalt = ctypes.create_string_buffer (vSalt)
        return ssl.EVP_BytesToKey(ssl.EVP_aes_256_cbc(), ssl.EVP_sha512(), chSalt, strKeyData,
            len(vKeyData), nDerivIterations, ctypes.byref(self.chKey), ctypes.byref(self.chIV))

    def SetKey(self, key):
        self.chKey = ctypes.create_string_buffer(key)

    def SetIV(self, iv):
        self.chIV = ctypes.create_string_buffer(iv)

    def Encrypt(self, data):
        buf = ctypes.create_string_buffer(len(data) + 16)
        written = ctypes.c_int(0)
        final = ctypes.c_int(0)
        ctx = ssl.EVP_CIPHER_CTX_new()
        ssl.EVP_CIPHER_CTX_init(ctx)
        ssl.EVP_EncryptInit_ex(ctx, ssl.EVP_aes_256_cbc(), None, self.chKey, self.chIV)
        ssl.EVP_EncryptUpdate(ctx, buf, ctypes.byref(written), data, len(data))
        output = buf.raw[:written.value]
        ssl.EVP_EncryptFinal_ex(ctx, buf, ctypes.byref(final))
        output += buf.raw[:final.value]
        return output

    def Decrypt(self, data):
        buf = ctypes.create_string_buffer(len(data) + 16)
        written = ctypes.c_int(0)
        final = ctypes.c_int(0)
        ctx = ssl.EVP_CIPHER_CTX_new()
        ssl.EVP_CIPHER_CTX_init(ctx)
        ssl.EVP_DecryptInit_ex(ctx, ssl.EVP_aes_256_cbc(), None, self.chKey, self.chIV)
        ssl.EVP_DecryptUpdate(ctx, buf, ctypes.byref(written), data, len(data))
        output = buf.raw[:written.value]
        ssl.EVP_DecryptFinal_ex(ctx, buf, ctypes.byref(final))
        output += buf.raw[:final.value]
        return output

try:
    if not crypter:
        from aes import *
        crypter = 'pure'
except:
    pass

class Crypter_pure(object):
    def __init__(self):
        self.m = AESModeOfOperation()
        self.cbc = self.m.modeOfOperation["CBC"]
        self.sz = self.m.aes.keySize["SIZE_256"]

    def SetKeyFromPassphrase(self, vKeyData, vSalt, nDerivIterations, nDerivationMethod):
        data = vKeyData + vSalt
        for i in range(nDerivIterations):
            data = hashlib.sha512(data).digest()
        self.SetKey(data[0:32])
        self.SetIV(data[32:32+16])
        return len(data)

    def SetKey(self, key):
        self.chKey = [ord(i) for i in key]

    def SetIV(self, iv):
        self.chIV = [ord(i) for i in iv]

    def Encrypt(self, data):
        mode, size, cypher = self.m.encrypt(data, self.cbc, self.chKey, self.sz, self.chIV)
        return ''.join(map(chr, cypher))
 
    def Decrypt(self, data):
        chData = [ord(i) for i in data]
        return self.m.decrypt(chData, self.sz, self.cbc, self.chKey, self.sz, self.chIV)

import hashlib

def Hash(data):
    return hashlib.sha256(hashlib.sha256(data).digest()).digest()

def main():

    parser = argparse.ArgumentParser(description="Bitcoin Core wallet.dat masterkey/privkey decrypter")
    
    parser.add_argument("--enc_mkey", action="store_true", default=False,
                        help="required if Master Key is Encrypted")
    parser.add_argument("mkey", action="store",
                        help="Master Key (can be encrypted or decrypted)")
    parser.add_argument("privkey", action="store",
                        help="Encrypted Private Key")
    parser.add_argument("pub", action="store",
                        help="Public Key of privkey (compressed or uncompressed)")

    
    results = parser.parse_args()
    
    if (results.enc_mkey):
        encrypted_master_key = binascii.unhexlify(results.mkey)
        encrypted_mkey, salt, method, iterations = struct.unpack_from("< 49p 9p I I", encrypted_master_key)
        
        if (debug):
            print("--------------------------------------------------------------")
            print "Successfully parsed encrypted master key\n"
            print "enc mkey: ", binascii.hexlify(encrypted_mkey)
            print "salt    : ", binascii.hexlify(salt)
            print "method  : ", method
            print "#iters  : ", iterations
            print("--------------------------------------------------------------")
        
        wallet_pass_phrase = getpass.getpass("\nEnter wallet passphrase: ")
    else:
        decrypted_master_key = binascii.unhexlify(results.mkey)
    
    enc_priv_key = binascii.unhexlify(results.privkey)
    pub_key = binascii.unhexlify(results.pub)
    
    global crypter

    if crypter == 'pycrypto':
        crypter = Crypter_pycrypto()
    elif crypter == 'ssl':
        crypter = Crypter_ssl()
        print "using ssl"
    elif crypter == 'pure':
        crypter = Crypter_pure()
        print "using slowaes"
    else:
        print("Need pycrypto of libssl or libeay32.dll or http://code.google.com/p/slowaes")
        exit(1)

    if (results.enc_mkey):
        crypter.SetKeyFromPassphrase(wallet_pass_phrase, salt, iterations, method)
        masterkey = crypter.Decrypt(encrypted_mkey)
        if (debug):
            print "Decrypted Master Key as:"
            print "dec mkey   : ", binascii.hexlify(masterkey)
            print("--------------------------------------------------------------")
    else:
        masterkey = binascii.unhexlify(results.mkey)
        
    crypter.SetKey(masterkey)
    crypter.SetIV(Hash(pub_key))
    
    d = crypter.Decrypt(enc_priv_key)
    e = crypter.Encrypt(d)

    if (debug):
        print 'dec privkey: ', binascii.hexlify(d)
        print("--------------------------------------------------------------")
    
    # Private key to public key (ecdsa transformation)
    private_key = ecdsa.SigningKey.from_string(d, curve = ecdsa.SECP256k1)
    verifying_key = private_key.get_verifying_key()
    uncomp_public_key = getPubKey(verifying_key.pubkey, False)
    if (debug):
        print 'calc pubkey: ', binascii.hexlify(uncomp_public_key)
        print 'orig pubkey: ', binascii.hexlify(pub_key)
        
    # hash sha 256 of pubkey
    sha256_1 = hashlib.sha256(uncomp_public_key)

    # hash ripemd of sha of pubkey
    ripemd160 = hashlib.new("ripemd160")
    ripemd160.update(sha256_1.digest())

    # checksum
    hashed_public_key = binascii.unhexlify("00") + ripemd160.digest()
    checksum_full = hashlib.sha256(hashlib.sha256(hashed_public_key).digest()).digest()
    checksum = checksum_full[:4]
    uncomp_bin_addr = hashed_public_key + checksum

    # encode address to base58 and print
    uncomp_result_address = base58.b58encode(uncomp_bin_addr)
    if (debug):
        print "\nuncomp addr: ", uncomp_result_address
    
    network_byte_key = binascii.unhexlify("80") + d
    priv_checksum_full = hashlib.sha256(hashlib.sha256(network_byte_key).digest()).digest()
    priv_checksum = priv_checksum_full[:4]
    uncomp_full_priv = network_byte_key + priv_checksum
    
    uncomp_wif = base58.b58encode(uncomp_full_priv)
    if (debug):
        print "uncomp WIF : ", uncomp_wif        
        print("--------------------------------------------------------------")
        
    # now do compressed
    comppub_key = getPubKey(verifying_key.pubkey, True)
    if (debug):
        print 'comp pubkey: ', binascii.hexlify(comppub_key)
        print 'orig pubkey: ', binascii.hexlify(pub_key)
        
    # hash sha 256 of pubkey
    sha256_1 = hashlib.sha256(comppub_key)

    # hash ripemd of sha of pubkey
    ripemd160 = hashlib.new("ripemd160")
    ripemd160.update(sha256_1.digest())

    # checksum
    hashed_public_key = binascii.unhexlify("00") + ripemd160.digest()
    checksum_full = hashlib.sha256(hashlib.sha256(hashed_public_key).digest()).digest()
    checksum = checksum_full[:4]
    comp_bin_addr = hashed_public_key + checksum

    # encode address to base58 and print
    comp_result_address = base58.b58encode(comp_bin_addr)
    if (debug):
        print "\ncomp addr  : ", comp_result_address

    network_byte_key = binascii.unhexlify("80") + d + binascii.unhexlify("01")
    priv_checksum_full = hashlib.sha256(hashlib.sha256(network_byte_key).digest()).digest()
    priv_checksum = priv_checksum_full[:4]
    comp_full_priv = network_byte_key + priv_checksum
    
    comp_wif = base58.b58encode(comp_full_priv)
    if (debug):
        print "comp WIF   : ", comp_wif
        print("--------------------------------------------------------------")
        
    if (pub_key != comppub_key) and (pub_key != uncomp_public_key):
        print "\n\nWARNING!!!"
        print "WARNING!!! - computed public keys DO NOT match, passphrase is probably incorrect or hex data is corrupt"
        print "WARNING!!!"
        exit()
    else:
        print "\nKeys successfully decrypted:\n"
        print "decrypted mkey: ", binascii.hexlify(masterkey)
        print("--------------------------------------------------------------")
        print "uncomp addr: ", uncomp_result_address
        print "uncomp WIF : ", uncomp_wif        
        print("--------------------------------------------------------------")
        print "comp addr  : ", comp_result_address
        print "comp WIF   : ", comp_wif
        print("--------------------------------------------------------------")
        

# pywallet openssl private key implementation

def getPubKey(pubkey, compressed=False):
    # public keys are 65 bytes long (520 bits)
    # 0x04 + 32-byte X-coordinate + 32-byte Y-coordinate
    # 0x00 = point at infinity, 0x02 and 0x03 = compressed, 0x04 = uncompressed
    # compressed keys: <sign> <x> where <sign> is 0x02 if y is even and 0x03 if y is odd
    if compressed:
        if pubkey.point.y() & 1:
            key = '03' + '%064x' % pubkey.point.x()
        else:
            key = '02' + '%064x' % pubkey.point.x()
    else:
        key = '04' + \
              '%064x' % pubkey.point.x() + \
              '%064x' % pubkey.point.y()

    return key.decode('hex')

if __name__ == '__main__':
    main()
7  Bitcoin / Bitcoin Discussion / Re: == Bitcoin challenge transaction: ~1000 BTC total bounty to solvers! ==UPDATED== on: May 05, 2024, 04:55:09 AM
I think it was a attempt, work in progress. Does not function correctly. That got me started on attempting to display the current key it was working on as it was running. As well as attempting to modifiy it to start with the fisrt 20 or so known keys for tests. I know of no current Pubkey search program for the puzzles with GPU. The upside of GPU searching for just the pubkey is the speed for video cards seems to be x2 the speed with more then 20 hash160 addresses. More fun right now then anything, always trying to learn. Based on the random output. This program in this way will never find any key. As 0000 is always front running. Maybe limited by uint64_t?

Again target is to break pubkey hash, not privkey
8  Bitcoin / Bitcoin Discussion / Re: == Bitcoin challenge transaction: ~1000 BTC total bounty to solvers! ==UPDATED== on: May 04, 2024, 11:56:02 PM
I'm currently checking apps that I haven't checked before... and that's how I found PubHunt. I entered the 29 closest unresolved addresses without pubkey in the input... This way I achieve a scan of 6400Gkeys/s . What are the estimates that a pubkeys lookup for 29 addresses with this method and this program at this speed will yield the intended expectations more than a traditional key lookup? What are the real chances of success and effectiveness of this method?
Hi Zielar
Waouhh impressive this speed! If you could choose the beginning and end of the search range, you could find pubkey #66 between 2 and 4 months. On the other hand the search is carried out randomly it makes random hashes on the PK of #64 #66 #67 #68 #69 #71 and #72 it can be faster as well as much longer depending on luck. Too bad this program could be largely optimized like choosing the hash range #66 as well as the random or sequential mode with your speed you could come across #66 in 1 month or 2 depending on luck.

Edit
Looking more closely at the operation of this utility and your speed, the proba are these
in 10 days on all the beaches by inserting the 6 pubkeys (I calculated for the first 6 # not 29)  you have a one in 148 chance of having one of the keys
in 20 days 1/74  1.35%
in 40 days 1/37  2.75%
in 80 days 1/18  5.5%
in 160 days 1/9  11%
in 320 days 1/4  25%
it remains arbitrary because luck can enormously speed up the process Grin

Is there any way to specify the bit range in this program ? I am newbie so any help would be appreciated
Thanks

I was trying to figure out a way to see if PubHunt even works. It is not easy to test on lower complexity keys. Would also be nice to see current key being worked on. So far I have.

https://github.com/Chail35/PubHuntRange

PubHunt.cpp
Line 330

         printf("\r[%s] [GPU: %.2f MK/s] [T: %s (%d bit)] [F: %d] %02hhx %016llx %llu  ",

%016llx should be the starting key. However it looks like this. and only upldates every few trillion keys.

[00:00:06] [GPU: 4316.00 MK/s] [T: 25,904,021,504 (35 bit)] [F: 0] a4 00007fffb46dd420 17179869184

Many thanks to Chail35 for recently updating this fork!
9  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: January 28, 2024, 04:58:34 PM
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.
10  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: January 20, 2024, 01:27:10 PM
I think even if i had two of first HEX numbers i wouldn't be able to solve it anyway.

The remaining search space is 2^(66-2) = 2^64.

It would take approximately 584 years to complete the task in Python.

So your saying theres a chance?

wheew you had me going there!
11  Bitcoin / Project Development / Re: Keyhunt - development requests - bug reports on: November 17, 2023, 12:10:53 AM
Bsgs is now holding 18 exa keys/s stable.

Running a program to searches 18 exa keys/s is impressive!

I have 16 GB and Core i7, and get only 70 Peta key/s  

Just uped my ram to 512 gig

51 Exa keys/s

My rig will hold up to 2 terrabtes of ram. Just $$$



Bsgs is now holding 18 exa keys/s stable.

Running a program to searches 18 exa keys/s is impressive!

I have 16 GB and Core i7, and get only 70 Peta key/s  

18 ExKeys/s this is a drop in the ocean, the range is huge, brute force is currently not the best choice for solving the puzzle. Even if random is not a very good idea, you need to look for another approach

P.s.


Still a chance, and this is what this puzzle is about.

Are you suggesting I stop searching?

Btw I will also be donating to Alberto if I find any.
12  Bitcoin / Project Development / Re: Keyhunt - development requests - bug reports on: November 05, 2023, 01:22:44 PM
I figured it out. But not sure what was going on. I reinstalled ubuntu from usb, started fresh. Bsgs is now holding 18 exa keys/s stable. All 80 cpu threads loaded around 50-60 percent. Appears my ram can now not keep up. But the speed drop out is gone.
13  Bitcoin / Project Development / Re: Keyhunt - development requests - bug reports on: November 03, 2023, 11:37:30 PM
Uhmm, I think that 40 is the limit  Cry



If you see the processor specifications on https://ark.intel.com/content/www/us/en/ark/products/120489/intel-xeon-gold-6148-processor-27-5m-cache-2-40-ghz.html

It is 20 cores so it it's only 40 threads max.

I am not hardware expert so if you believe that your processor can be overclocked or something like that I think that you should search about it on a Hardware forum or something like that.

2 cpus at 40 threads, 80 total. CPU info shows 80 possible. Ubuntu shows 80 threads. But you may be correct. Strange as bios reports 40 however its not clear if its reporting for 1 cpu or 2.

Again thank you for all the hard work!
14  Bitcoin / Project Development / Re: Keyhunt - development requests - bug reports on: November 03, 2023, 10:43:36 PM
Maybe it is something related to the Operating system thread administration. Can you try some 78 or 79 threads instead?

Maybe the CPU gets heater and it reduce the frequency. Check first running it with less than 80 thread try some 70, 75... Just to discard some cases.

Ubuntu 23.04

I have tried 78, 50, 55 all the same results. Anything over 40 decreases the speed by half with twice the threads. Maybe a Kernel issue?
15  Bitcoin / Project Development / Re: Keyhunt - development requests - bug reports on: November 03, 2023, 10:29:23 PM
BSGS Dual CPU support? Running 2x intel gold 6148 40 threads each 256gig ram.

At 40 threads I get 15 Exa keys/s

At 80 threads I get 6-12 Exa keys/s

All threads are fully loaded when 80 is requested. Bottle neck somewhere?

I am still fine with 40, but 80 would be nice.

Thank you for all the great work Alberto!
16  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: October 28, 2023, 03:17:12 PM
Assuming

The creator made a wallet with random keys

When wallets are created they are always randomly generated keys. This is what makes them secure.

The creator then added zeros to the front of all those keys. Increasing in complexity each key after the previous key. Making them solvable.

I agree there's a pattern. But even distance from keys seems to shift at times.
17  Bitcoin / Bitcoin Technical Support / Re: Corrupted privkey, BTC wallet from 2010, was crossed into a Doge client. on: October 17, 2023, 06:24:45 PM

Gave it a shot, Btcrecover does not support dumping legacy core wallets. At least that is what the script told me once I had it up.
18  Bitcoin / Bitcoin Technical Support / Re: Corrupted privkey, BTC wallet from 2010, was crossed into a Doge client. on: October 14, 2023, 08:12:01 PM

My thoughts..
looking at this address, addr": "1N1SChDzQ1EyKm3nb5u6wGRyzhepYdNwEZ", It has not transacted. So, the program you are using is processing the wallet with your wallet passphrase, which is deriving a master key which in turn is decrypting all the Ckeys in the wallet producing the compressed addresses. (I don't believe compressed addresses were about in 2010?)

There are scripts about to convert compressed addresses to uncompressed so you could check all 200ish uncompressed addresses to see which ones have a balance. Again there are scripts to automate this.

You can then dump the wallet to get all the Ckeys. With the Ckey of the address with the balance and the passphrase master key,  it would be possible to decrypt that individual private key even if the wallet was corrupt.

I do have scripts that can do this which are not public but I am sure there are others out there..
Good luck


All EC keys have been converted and checked uncompressed. No value. Unless the data is in the wallet and not dumped with the scripts.

Compressed keys were not used back then you are correct.

I am willing to try whatever scripts you have.

Thank you!
19  Bitcoin / Bitcoin Technical Support / Re: Corrupted privkey, BTC wallet from 2010, was crossed into a Doge client. on: October 14, 2023, 07:43:37 PM
Did they use compressed public keys back in 2010? Not sure why your keys are compressed, also I'm not seeing any balance on those addresses, one has to wonder what you are going to share 20% of, when there is nothing specified, though if the amount you are missing is more than 1000 bitcoins, then 20% would be 200, and if you have a public key needing to find it's private key, show it here.

I do not have a suspect Public key. Also the suspected ec key converted to uncompressed public key has no value. My request for help relates to any possible means of recovery of the data in the wallet.

20 percent of what I have, which may be nothing. But everyone will notice if a legacy genesis Era wallet moves funds and I will keep my word.
20  Bitcoin / Bitcoin Technical Support / Re: Corrupted privkey, BTC wallet from 2010, was crossed into a Doge client. on: October 14, 2023, 05:01:00 PM
I know its been a while, I kind of took a break from this. Anyways I had tired https://github.com/HardCorePawn/pywallet and I still get a "bdict error" End of the data says "_____u_key " from bdict error. Also there is alot of data before it.

So I suspect the wallet from BTC core v0.2 generated 1 key like it should.

That wallet was then loaded into a LTC client in 2013, Data was corrupted, I thought it was doge, but found it appears to be a LTC client that was actually used.

I tried this pywallet https://github.com/mikeborghi/pywallet and this one does not give me a error. However there are 202 keys found, same amount as every time.

Here where it gets interesting. The Keypool data for the very last key is different then all the other keys in the wallet when dumped with dbdump_4.8

Also when dumped with pywallet the Ntime value is different for the last key. Ill attach a snipped of public key data from the dump.

20% for whomever could help.

        {
            "addr": "1N1SChDzQ1EyKm3nb5u6wGRyzhepYdNwEZ",
            "n": 97,
            "nTime": 1386907297,
            "nVersion": 80501,
            "public_key_hex": "03e54218920b5a65f8a719b6c3a8688ba372edacd357cd972903f1739d4423e8cc"
        },
        {
            "addr": "19vH287DnfvTCGn32n57tak3PLMty3n2Uz",
            "n": 98,
            "nTime": 1386907297,
            "nVersion": 80501,
            "public_key_hex": "029d8825c8980fecce7583630164af7a4f7530c5602c4df645d9e29ba7c352e2ab"
        },
        {
            "addr": "1DymDmrQi3VhQzAY7Z64pCBMzP5ZnLPxcE",
            "n": 99,
            "nTime": 1386907297,
            "nVersion": 80501,
            "public_key_hex": "039e92ce90bacbe769968c7aa103b4a90a1e49519af9a871a826544afba048acd3"
        },
        {
            "addr": "16JBptL2TuLDUjRcU5GGRBbj3XTfoZq3Hw",
            "n": 100,
            "nTime": 1386907297,
            "nVersion": 80501,
            "public_key_hex": "03e9092f11b0d45ce1e843c37f03f930f0c5f133ebc3d898a076464515f49fed93"
        },
        {
            "addr": "1PbyL7dJsjAaMvPWx85UW7SVtuoh6qRDna",
            "n": 101,
            "nTime": 1386914343,
            "nVersion": 80501,
            "public_key_hex": "03f8f3bbe1cb60b4c77c031d39ec94d6babfd60930912256b14346e7a0e763ac6b"
        }
Pages: [1] 2 3 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!