Bitcoin Forum
May 22, 2024, 10:51:17 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 [2] 3 4 5 »
21  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: December 22, 2023, 05:26:44 PM
There is a phone with a 64-bit processor. Don't you know?
I didn’t know..., that means I’m behind Smiley They are not common among all users, we need to wait another 8 years, then 66 bits will be solved and we’ll move on to 67 bits. You can port the code, I think it won’t take much time.
I don't have such a phone to test the program.
22  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: December 22, 2023, 03:58:47 PM
It will be much faster on the E8400 CPU Smiley 1 thread.
the mod 12. https://github.com/alek76-2/VanitySearch/tree/main/mod/012


Digaran. When phones with 64-bit CPUs appear, I will port the program code for the phone, especially for you Smiley
23  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: December 21, 2023, 10:38:09 AM

Please don't get me wrong, this is not a criticism of your skills but an indication of how people can be misled by a lack of imagination or understanding, especially when it comes to very large numbers.

Absolutely right. We can use an example to explain what a very large number looks like. Such numbers will be difficult to visualize in your mind when imagining their quantity. For example:
On planet earth, on all the beaches in the world, the number of grains of sand is 2^77. Now imagine that every grain of sand is planet earth. Now count the number of grains of sand on all planets Smiley There are only 2^154. You don’t have to imagine anymore 2^256 is probably the size of the universe in light years Smiley
24  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: December 21, 2023, 03:46:41 AM
Please stop. Search help. This thread became less usefull since you've entered it. Your base conversions and maths are stupid. Nobody wil ever benefit of your "works". Thank you.
It looks like a flood and an advertisement for a mixer.
I don't comment on his posts. Im added user digaran to ignore list. My patience has run out Smiley
25  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: December 20, 2023, 03:33:56 PM
What 3rd key? Digaran ...please if you don't understand what I posted then ask...and nicely too for that matter. Just because our ideas and methods do not align does not mean yours is superior. And certainly put me in touch with the creator of the puzzle...I'll certainly tell him the first 4 digits of the private key of puzzle 130 for that 1 bitcoin and even gave a 110 bit range for it.
Puzzle 130 = first key. End range = second key. Their difference = third key. Maybe you should read your post again. Here is the deal, I will give you a public key, just tell me the first character of it's private key, you have 14 characters to choose from but only 1 correct guess. If you can't, then we'll have nothing to discuss on this subject.
Code:
022d410abfc76bc647c29819c3349c8a59c84af25feedf59b932643d10299660f0

Edit, I tried looking in my pockets, but couldn't find the creator of this puzzle, let me check the closet. Lol. If you want to get in touch, solve a puzzle, they will find you, don't worry about the time.😉

Can you explain the logic of the difference of a key by the end of the range etc? I cannot see any valid argument in this.

No one can do this. And Digaran won't be able to.
I will try to explain what the asymmetric encryption algorithm secp128k1 means. And why, you will never find the relationship by the beginning or ending bytes, between the private and public key. For example:
1. I wished for 2 factors and tell you the remainder of the modulo division.
Can someone tell me what numbers I multiplied? No he can’t!!!
If he can, it means he broke EC
2. This operation of multiplication and division modulo is performed 130 times in this case.
3. There is only linearity in modulo multiplication and division operations.
Well, let's start breaking the EC? I guessed two factors, the result of division modulo _P is equal to:
Code:
0x9478230a3fb794b615ac8f97768ab8feb86784804ef03de53ec26f8cbfbc37f5
Digaran please tell me the multipliers, I  2 multipliers. Or anyone.  Grin
26  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: December 20, 2023, 12:18:17 PM
The only way to make this that fast is aliens to land and solve this.. Grin

Maybe this code. I don't know what else to think of Smiley
Code:
// Get Key from hash160
Int b160key;
b160key.SetInt32(0);
uint32_t *b = (uint32_t *)hash160;
//uint32_t *b = (uint32_t *)h0;
for (int i = 0; i < 5; i++) {
    b160key.bits[i] = b[i];
}
printf("\n b160key: %s", b160key.GetBase16().c_str());// for check
//
To check, it prints in reverse order - this is correct.
27  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: December 13, 2023, 07:19:15 PM
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.
28  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: December 11, 2023, 06:54:13 AM

I appreciate the apology and thank you for the link to Kangaroo.
It won't work with 130 bit. Several program functions need to be rewritten.
29  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: December 10, 2023, 05:34:50 PM
I checked this script. He's very slow. These scripts are all a waste of time. You need to look towards the GPU, you can increase the speed by 1.5 - 2 times if you use spin 32/64, exactly the same as in the GPU kangaroo code. I've already added a loop to the GPU for cheking. Python scripts are kindergarten Smiley

I agree. But what to do with those who do not have a PC. Digaran runs scripts on the phone. It needs poor man scripts. Grin
Well, of course, I exaggerated this by 2 times Smiley But the speed increases significantly in the cycle. Additionally, I removed everything from the GPU except P2PKH.
30  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: December 10, 2023, 05:19:30 PM
I am traveling, tomorrow I will post friendly script for your easy work
I checked this script. He's very slow. These scripts are all a waste of time. You need to look towards the GPU, you can increase the speed by 1.5 times if you use spin 32/64, exactly the same as in the GPU kangaroo code. I've already added a loop to the GPU for cheking. Python scripts are kindergarten Smiley I found a 32-bit key in 3 seconds.
31  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: December 06, 2023, 03:09:51 PM
Which script did you use to get those keys?
This method does not work for the puzzle.
32  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: December 06, 2023, 04:31:51 AM
Key Maker for 100 thousand addresses. Saves everything in files keys - addresses, and in another file X coordinate. To build you need to first build OpenSSL. This program is 32 bit.
https://github.com/alek76-2/50BTCKeyMaker
OutKeys.txt:
Code:
1443055276A7E82809D3E6A908BF7526FB1117F982B80ECFA63C69D55521D420
13KV6Z8vFfLb2CTe5AVCtgED3LsUrcw7H4
1Bkv3sr5gbyWqBoTBRHQZ2T9tmmRugxi5Y
3GVGg5M8W1QLeCJmCZT1329XiSQ34oRFke
D442ECB8C5586A74BF5D759A7461C829BEC147A7F12C6471435D7DFCAFF397B0
16DjFiGAo5QDsP6CALUfnYRAbH3pGHMKsT
1PRrbzwby5HBw9fWzSiNRVkug5GMiq58q3
3FgrzeQf2wWLm6icnQUQVAi3NAAUS843qd
0D7428579AA850FB8D9C0A6DFE2937AAD69B8C82698E67EFF37ABB835E0849CF
1L86hRDF4JYKFqh29chG6GEYQ1P1dPYzwu
1BcjcHaghdaNER3YMXzBFhPfeZrKEnQLQq
34GwRv3Tdn76SkdJCnZpVnKy5RZPXu5TxQ
1C2CCAF7CE9D7CAAF35D56B6AE24413F00B61E47A238A92591B22516EB1090D5
13JZKYbcLsqBRfcqVHLBgfkoM8ua3bFQck
1AJLoZGPK9h6Wiz6jK1EJU8VJ4hHA74gaR
31tVk4AUuuXuonYBpFjLuWJ5PndWwqLuJk
2F159321E656202AA6D615F8350E150FBE8E8386097305D57CA3824BBFAA95B2
1LBzzam2ARkfs5Uk1169taTcGDA9FGGXLi
1Np75PFcPD2ZEfpH6CGWvpJysUg3zC343j
33FpvbYDHszEupihAdewpY6Tooxpa1bYus
You can save 10 MKeys to a file, change the multiplier. If you have nothing to do, you can compare with other addresses and make sure that they never match Smiley
33  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: December 05, 2023, 12:04:55 PM
good point, do you have this accelerated version of GPUMath.h ?
updated 3 years ago) Your code contains an old version. Compare code. Sometimes you can look into the file)
ModInv update + refurbishment
https://github.com/JeanLucPons/VanitySearch/blob/master/GPU/GPUMath.h
34  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: December 05, 2023, 09:27:21 AM
Just curious, how can I make transaction with uncompressed address?
Is there a wallet that handle uncompressed address as well as compressed one?
Exactly the same Smiley Public non-compressed ones have not been used for a long time. The key is the same, the format is different and the addresses are different. Any program will process the transaction. This is not related to the topic.
35  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: December 05, 2023, 06:56:55 AM
...
I looked briefly) You can add an initial random for points.
There is an accelerated version of GPUMath.h. Where the value _0[] _1[] _P[] from __constant__ memory is not used. MM64 is declared define - #define MM64 0xD838091DD2253531ULL. The modulo inversion function is also faster.
36  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: December 04, 2023, 11:56:13 PM
All the logic lies on clock.cu
Remove int qy0x, ... int qy2x
Code:
//is Y odd or even ?
//int qy0x = 0;
//if (qy[0] % 2) { qy0x = 1; };

//int qy1x = 0;
//if (qy2[0] % 2) { qy1x = 1; };

//int qy2x = 0;
//if (qy3[0] % 2) { qy2x = 1; };

            //we take the result and calculate hash160
            // changes 1
            // uint8_t isOdd = (uint8_t)(py[0] & 1) // bit operations are enclosed in parentheses
            _GetHash160Comp(qx, (uint8_t)(qy[0] & 1), hash160);// _GetHash160Comp(qx, (uint8_t)(qy0x), hash160);
            _GetHash160Comp(qx2, (uint8_t)(qy2[0] & 1), hash1602);// _GetHash160Comp(qx2, (uint8_t)(qy1x), hash1602);
            _GetHash160Comp(qx3, (uint8_t)(qy3[0] & 1), hash1603);// _GetHash160Comp(qx3, (uint8_t)(qy2x), hash1603);


Cuda Secp256k1 Point Multiplication - Takes 32-byte privKey.
And if more than 32 bits ? This function needs to be redone. But for this you need 2 more functions. Adding points and duplicating points are not the same thing.
It will be slow too. It’s better to put ready-made points into the kernel and let them spin there in a loop until hash160 matches. In Atomic, add the x coordinate if hash160 matches. It takes a lot of time to load and unload the kernel.
37  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: December 04, 2023, 02:33:50 AM
So this is my attempt at searching key sub-ranges. If you know the key begins with 0x20 then I was searching for "13zb" and keys that printed 0x20-0x3f are noted. I went through various puzzles, some already solved and broke the key ranges down into sub-ranges. Hopefully you will find this useful.

import multiprocessing
import base58
import secrets
from bitcoin import privtopub, pubtoaddr

def vint():
    puzzle_66 = "13zb1hQbWVsc2S7ZTZnP2G4undNNpdh5so"
    btc = ""

    while btc[:len(puzzle_66)] != puzzle_66:
        alphabet = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
        untext = "".join(secrets.choice(alphabet) for i in range (12))
        text = '11111111111111111111111' + 'C' + untext                  #23 1's  'C' is the parameter you can change.
        base58Str = base58.b58decode(text).hex()
        pubKey = privtopub(base58Str)
        btc = pubtoaddr(pubKey)

    f = open("keys.txt", "a")
    f.write(base58Str + "\n")
    f.close()
    b = open("btc.txt", "a")
    b.write(btc + "\n")
    b.close()

    print(base58Str)
    print(pubKey)
    print(btc)

processes = []
for _ in range(1):
    p1 = multiprocessing.Process(target=vint)
    p1.start()
    processes.append(p1)
for process in processes:
    process.join()

LINK to text files with key sub-ranges.
https://drive.google.com/drive/folders/176gIM6ACTyZg5Ux5Adsu-kP5S3LspLcU?usp=drive_link

I don't know python, but I found a bug.
The range is not correct, but that's half the problem.
Will it save keys.txt ? base58Str is declared local?
It will be right, who knows?
Code:
import multiprocessing
import base58
import secrets
from bitcoin import * # from bitcoin import privtopub, pubtoaddr

def vint():
    puzzle_66 = "13zb1hQbWVsc2S7ZTZnP2G4undNNpdh5so"
    btc = ""
    base58Str = "" # ?
    pubKey = "" # ?

    while btc != puzzle_66: #while btc[:len(puzzle_66)] != puzzle_66:
        alphabet = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
        untext = "".join(secrets.choice(alphabet) for i in range (11))
        #text = '11111111111111111111111' + 'C' + untext                  #23 1's  'C' is the parameter you can change.
        text =  '11111111111111111111111' + '3' + untext
        base58Str = base58.b58decode(text).hex()
        pubKey = privtopub(base58Str)
        pubKey = encode_pubkey(pubKey, 'hex_compressed') # !!!!!!!! ADD THE !!!!!!!!
        btc = pubtoaddr(pubKey)
        #print (base58Str)
        #print (btc)
        #print (btc[:len(puzzle_66)])
        print (pubKey)
    
    f = open("keys.txt", "a")
    f.write(base58Str + "\n")
    f.close()
    b = open("btc.txt", "a")
    b.write(btc + "\n")
    b.close()

    print(base58Str)
    print(pubKey)
    print(btc)


if __name__ == '__main__':
    
    th = 2
    processes = []
    for _ in range(th):
        p1 = multiprocessing.Process(target=vint)
        p1.start()
        processes.append(p1)
        print ('Start thread: ', _)
    for process in processes:
        process.join()
    
Roll Eyes Try replacing the != condition with == In the first script
And error 3 - the public key is not compressed.
Who writes them here on purpose, right?
Corrected. To check, I edited the script for bit 28. The adjusted script works. I haven't checked the speed, need to add a counter. ~2 Kkeys/s
38  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: November 18, 2023, 07:03:12 PM
Not sure what you mean? If a tame and wild collide; the key is solved. Why do anything else except sweep the funds.
Still, they collide at different times. Probably everything needs to be saved. Very large volume. I launched dp 2^20 and already got 7Gb. I load the starting keys from a file. I save working files every 10 minutes, checking the tame kangaroos for compliance with the secp key-point. The loading and saving code is in the Backup.cpp file.
39  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: November 18, 2023, 03:01:33 PM
Im made new modification 011.
https://github.com/alek76-2/VanitySearch/tree/main/mod/011

Added functions:
- BIP32 Derivation Path m/0
- Normal Child extended private key
- Serialization Extended Private Key

Vector Test is successful.
SECP256K1.cpp - Output data keys string switch to lowercase.
Enable OpenSSL - Generate Random Seed.
Option: -verbose 4 Enable all info.
Option: -verbose 0 Disable all info.
Rekey multiply by 1000.

Run cmd: VanitySearch.exe -stop -verbose 4 -bip39 12 -level 1 -t 1 -bits 28 -r 10000 12jbtzBb54r97TCwW3G1gCFoumpckRAPdY
Code:
[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ]
[                                                           ]
[===========================================================]
[                Changes by Alek76 modify 0.11              ]
[===========================================================]
[          Tips: 1NULY7DhzuNvSDtPkFzNo6oRTZQWBqXNE9         ]
[===========================================================]
[    Options added argv [-start] [-bits] and disable SSE    ]
[===========================================================]
[    Options added argv [-bip39] [-level] [-brainwallet]    ]
[===========================================================]
[                                                           ]
[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ]

[i] Uses OpenSSL for random seed
[i] Use BIP-39 nb Word: 12
[i] Use PBKDF2 2048 Rounds of Seed for Expansion to 512 bits
[i] Verbose level info: 4 Option: -verbose 1 (use 0-4)

Search: 12jbtzBb54r97TCwW3G1gCFoumpckRAPdY [Compressed]

[i] First Seed: slot almost promote quantum say like copy focus anchor book indoor tattoo

[i] BIP32 Extended Private Key index: 0 Serialized:
xprv9s21ZrQH143K3AobdVoCZE3994h4WUcPtNkQ7zNZhBDBD5ZH9SYAMAwFhrpPn77pGPWDuGQYUHJFRtA3mfoxsMjRCDx4ZFkzLvHDrwn6b8G Length: 164

[i] BIP32 Extended Private Key index: 0 Serialized:
xprv9ua3Un4XBSp5TxXso3YWzM8FpnEM6C3zNrcF2wfGiHtX47UWHkHsAySs1aM3RzDiic9muwJ3NmrSmSwAoguDDAaEcGQZfwr2Pfh5gkvREqJ Length: 164
Start Sat Nov 18 17:27:57 2023
Base Key: Randomly changed every 10000 Kkeys
Number of CPU thread: 1

[i] First Seed: long speak broccoli panel vital thumb wedding member rebuild dentist image survey

[i] BIP32 Extended Private Key index: 0 Serialized:
xprv9s21ZrQH143K4CEVbkjazggoWBkBu5wiZfoW9Bjt1ychZyuws6f3xBVgnSPBp4vxAx7yEvdh9badAXe2H2CEDJ65gfZxwXGRN1wrbk2Q5eY Length: 164

[i] BIP32 Extended Private Key index: 0 Serialized:
xprv9udHcaDVg7rQeELQdY8AMEyENhkhu2DccsAPminDg9AjrwhsuwaoGYpGX8bpyfXF2eno5jMWqKprDMV6eMnbS3JLP6Diez8PVGW5dsck2aM Length: 164

[i] Seed: b3fff4545ac167fdc34d52f0834b21ecfa14f2c42e3f0476607c637a4afb67b01245d859d3f7b6287f4ab0f12ddd36e954c000b50943515f50b81ddf840f76dd

Bit 28 CPU Base Key thId 0: d661f3b
[0.00 Mkey/s][GPU 0.00 Mkey/s][Total 2^21.44][Found 0]

    Addr : 12jbtzBb54r97TCwW3G1gCFoumpckRAPdY
    Check: 12jbtzBb54r97TCwW3G1gCFoumpckRAPdY

!!! Result.txt Found key: d916ce8
!!! Result.txt Found key: d916ce8
!!! Result.txt Found key: d916ce8
!!! Result.txt Found key: d916ce8
!!! Result.txt Found key: d916ce8


New function drvKey() - Key derivation. Added Extended_flag.
Code:
void VanitySearch::drvKey(std::string &InData, std::string &InKey, std::string &outMaster, std::string &outChain, bool master_key_fl, uint32_t key_ind, uint8_t depth_ind, std::string &extended_key, Int &outIL, Int &outIR, std::string &pubkey) {

string seed = InData;// seed 64 bytes
string salt = InKey;// salt
unsigned char hseed[64];

Int parentMasterKey;
parentMasterKey.SetInt32(0);// clr
parentMasterKey.Set(&outIL);// Set parent of master key IL

Int parentChainKey;
parentChainKey.SetInt32(0);// clr
parentChainKey.Set(&outIR);// Set parent of chain key IR

//printf("\n  Parent Master Key: %s\n", parentMasterKey.GetBase16().c_str());// check
//printf("\n  Parent Chain Key:  %s\n", parentChainKey.GetBase16().c_str());

//printf("\ndrvKey len: %d seed: %s", (int)seed.length(), seed.c_str());
//printf("\ndrvKey len: %d salt: %s\n", (int)salt.length(), salt.c_str());

// Get index
uint32_t index_u32;
string index_str = "";
uint32_t Normal_Child_index_start = 0;// Use an index between 0 and 2147483647.
// Indexes in this range are designated for normal child extended keys.
// Put data and key through HMAC.
// data = public key + index (concatenated)
// key = chain code
// Indexes in this range are designated for hardened child extended keys.
uint32_t Hardened_Child_index_start = 2147483648;// Use an index between 2147483648 and 4294967295.

if (Hardened_Child_flag) {
index_u32 = Hardened_Child_index_start + key_ind;
} else {
index_u32 = Normal_Child_index_start + key_ind;
}
char itmp[16];
sprintf(itmp, "%08x", index_u32);
index_str = "";
index_str.append(itmp);
//printf("\n[i] index_str: %s ", index_str.c_str());// check index_str

string in_data = "";
// Set index
if (Hardened_Child_flag) {
in_data = "00" + outMaster + index_str;// in_data = outMaster + index_str;
} else {
in_data = pubkey + index_str;
}
//printf("\n[i] !! in_data: %s ", in_data.c_str());// check

// end Get index

// Set input data
if (!master_key_fl) {
seed = in_data;
}
InData = in_data;// update

// Bug fix!!! We hash the data, not the string.
// Get hex of input data
int len_in_data = (int)seed.length() / 2;
if ((seed.length() & 1) == 1 ) len_in_data += 1;// if the data length is not even
unsigned char *hex_buff_in_data = new unsigned char[len_in_data];
for (int j = 0; j < len_in_data; j++) {
unsigned char my1ch_data = 0;
sscanf(&seed[2 * j], "%02hhx", &my1ch_data);
hex_buff_in_data[j] = my1ch_data;// 1 byte
}
// Get hex of input key
int len_in_key = (int)salt.length() / 2;
if ((salt.length() & 1) == 1 ) len_in_key += 1;// if the key length is not even
unsigned char *hex_buff_in_key = new unsigned char[len_in_key];
for (int j = 0; j < len_in_key; j++) {
unsigned char my1ch_key = 0;
sscanf(&salt[2 * j], "%02hhx", &my1ch_key);
hex_buff_in_key[j] = my1ch_key;// 1 byte
}
// Hash function
if (master_key_fl) {
// HMAC sha512
hmac_sha512((unsigned char *)salt.c_str(), (int)salt.length(), (unsigned char *)hex_buff_in_data, len_in_data, hseed);
// the salt "Bitcoin seed" no converting in hex
} else {
// HMAC sha512
hmac_sha512((unsigned char *)hex_buff_in_key, len_in_key, (unsigned char *)hex_buff_in_data, len_in_data, hseed);
// the salt converting in hex!
}

// Reverse bytes
unsigned char hseed_r[64];
int b = 0;
for (b = 0; b < 64; b++) hseed_r[63 - b] = hseed[b];

// Split IL and IR
Int IL;
Int IR;
unsigned long long *vTmp_IL = (unsigned long long *)&hseed_r[32];// IL as master secret key
unsigned long long *vTmp_IR = (unsigned long long *)&hseed_r;// IR as master chain code

IL.SetInt32(0);
IL.bits64[0] = vTmp_IL[0];
IL.bits64[1] = vTmp_IL[1];
IL.bits64[2] = vTmp_IL[2];
IL.bits64[3] = vTmp_IL[3];
IL.bits64[4] = 0;
//
IR.SetInt32(0);
IR.bits64[0] = vTmp_IR[0];
IR.bits64[1] = vTmp_IR[1];
IR.bits64[2] = vTmp_IR[2];
IR.bits64[3] = vTmp_IR[3];
IR.bits64[4] = 0;
// end Split

// Childing Master Key
// MasterKey = (parentMasterKey + MasterKey) % Order _O
if (!master_key_fl) {
IL.ModAddK1order(&parentMasterKey);
}

outIL.Set(&IL);
outIR.Set(&IR);

// debug printf
//printf("\n[i] Output Master Key IL: %s ", IL.GetBase16().c_str());
//printf("\n[i] Output Chain Key  IR: %s \n", IR.GetBase16().c_str());

// Use IL as master secret key, and IR as master chain code.
string masterSecretKey = "";
string masterChainKey = "";
string extended_private_key = "";

string masterSecretKey_tmp = IL.GetBase16().c_str();// 32 bytes
string masterChainKey_tmp = IR.GetBase16().c_str();// The chain code is just an extra 32 bytes that we couple with the private key to create what we call an extended key.

// Output and Normalize lengh 64
string ret1 = "";
string s0 = "0";
for (int i = 0; i < 64 - (int)masterSecretKey_tmp.length(); i++) ret1.append(s0);
masterSecretKey.append(ret1);
masterSecretKey.append(masterSecretKey_tmp);
string ret2 = "";
for (int b = 0; b < 64 - (int)masterChainKey_tmp.length(); b++) ret2.append(s0);
masterChainKey.append(ret2);
masterChainKey.append(masterChainKey_tmp);
// Set output
outMaster = masterSecretKey;
outChain = masterChainKey;
// We use these 64 bytes to create our master extended private key.

// Get Parent Public Key for get check sum
Point pp;
Int pk;
pk.SetInt32(0);

if (master_key_fl) {
pk.Set(&IL);
} else {
pk.Set(&parentMasterKey);
}

pp = secp->ComputePublicKey(&pk);

// The publick key to output for create new input msg HMAC-SHA512
pubkey = secp->GetPublicKeyHex(true, pp);// SECP256K1.cpp changes string uppercase to lowercase !!

// Parrent address for check
string parrent_addr = secp->GetAddress(0, 1, pp);
//printf("\n[i] Parrent Pub key:  %s ", pubkey.c_str());
//printf("\n[i] Parrent address: %s \n", parrent_addr.c_str());

if (Extended_flag) {// test extended ?

// Public key
Point child_Point;
Int child_Key;
child_Key.SetInt32(0);// clr
child_Key.Set(&IL);
child_Point = secp->ComputePublicKey(&child_Key);
// Address
string child_pub_key = secp->GetPublicKeyHex(true, child_Point);
string child_addr = secp->GetAddress(0, 1, child_Point);

//printf("\n[i] Child Pub key: %s ", child_pub_key.c_str());
//printf("\n[i] Child address: %s \n", child_addr.c_str());

  pubkey = child_pub_key;// Use as extended

}

// BIP32 Extended Private Key Serialize:
// Places “xprv” 0488ade4 or “xpub” 0488b21e at the start.
string version = "0488ade4";// 0488ade4 Bitcoin Mainnet private key.
string depth = "00";// How many derivations deep this extended key is from the master key.
string parent_fingerprint = "00000000";// The first 4 bytes of the hash160 of the parent’s public key. This helps to identify the parent later.
string child_index = "00000000";// The index number of this child from the parent.
string chain_code = masterChainKey;// The extra 32 byte secret. This prevents others from deriving child keys without it.
string prepend = "00";
string key = "";// 33 bytes - The private key (prepend 0x00) or public key.

key = prepend + masterSecretKey;

if (!master_key_fl){
child_index = index_str;
}

// Set depth
depth = "";
char dep[8];//char dep[1];
sprintf(dep, "%02x", depth_ind);
depth.append(dep);

// Get hash160
unsigned char hash160_buf[20];
unsigned char first4_buf[4];
secp->GetHash160(P2PKH, true, pp, hash160_buf);
memcpy(first4_buf, hash160_buf, 4);
// unsigned char to string
string my4str = "";
char tmp0[8];
for (int s = 0; s < 4; s++ ) {
sprintf(tmp0, "%02x", first4_buf[s]);
my4str.append(tmp0);
}
// Set parent fingerprint
if (!master_key_fl){
parent_fingerprint = my4str;
}

// check
//printf("\n              depth: %s \n", depth.c_str());
//printf("\n parent_fingerprint: %s \n", parent_fingerprint.c_str());
//printf("\n        child_index: %s \n", child_index.c_str());

// Get check check sum
string in_checksum = version + depth + parent_fingerprint + child_index + chain_code + key;
string checksum = "";// First 4 bytes of 32

// Get check sum
unsigned char key_buff[32];
unsigned char key_buff_ret[32];
// Get hex input data 78 bytes to check sum 4 bytes
unsigned char hex_buff_in[78];
for (int j = 0; j < 78; j++) {
unsigned char my1ch_chk = 0;
sscanf(&in_checksum[2 * j], "%02hhx", &my1ch_chk);
hex_buff_in[j] = my1ch_chk;// 1 byte
}
// Double sha256()
sha256(hex_buff_in, 78, (unsigned char *)key_buff);
sha256((unsigned char *)key_buff, 32, (unsigned char *)key_buff_ret);
char tmp[8];
string ret = "";
for (int s = 0; s < 4; s++ ) {
sprintf(tmp, "%02x", key_buff_ret[s]);
ret.append(tmp);
}
checksum.append(ret);
// end check sum

extended_private_key = in_checksum + checksum;

// Extended private key - num bytes
// 4 + 1 + 4 + 4 + 32 + 1 + 32 + 4 = 82
// 78 bytes data and 4 bytes check sum

// Finally converting everything to Base58
string extended_private_key_base58 = "";// Output data Extended Private Key Serialized.

// Get hex all data 82 bytes
unsigned char hex_buff_ex_priv_key[82];
for (int j = 0; j < 82; j++) {
unsigned char my1ch = 0;
sscanf(&extended_private_key[2 * j], "%02hhx", &my1ch);
hex_buff_ex_priv_key[j] = my1ch;// 1 byte
}
//printf("\n[i] extended_private_key: %s ", extended_private_key.c_str());// check

// Encode Base58
extended_private_key_base58 = EncodeBase58((const unsigned char *)hex_buff_ex_priv_key, (const unsigned char *)hex_buff_ex_priv_key + 82);
// Output data
extended_key = extended_private_key_base58;

if (verbose_fl >= 4) {
int len = (int)extended_private_key.length();
printf("\n[i] BIP32 Extended Private Key index: %u Serialized: \n%s Length: %d \n", key_ind, extended_private_key_base58.c_str(), len);
}

// memory leak ?
delete [] hex_buff_in_data;
delete [] hex_buff_in_key;

}


No one was waiting? I'm back for a while  Smiley



I finally have 2^30.75+ (1,806,000,000) wild kangaroo points stored (offsets of #130s public key). Now it's time to release the tame kangaroos. Hopefully within 2-3 months, I'll have a tame land on a wild trap.
I imagine I am behind the group that found #120 & #125, but maybe luck will be on my side.
Long journey ahead, let's go.
Imagine this situation.
Two kangaroos collided - tame and wild. What will they do next? They will jump with the same jumps and constantly collide. Next, the selected points (DP modulo) are saved several times.
Now the question. What's better? Should you regularly save the path traveled and P points (for each kangaroo in a separate line - in a 243 MB file) or save tens of Gigabytes of selected points?
When you restart the program, startup keys are not created. They load them from the Work_Kangaroos.txt file they saved earlier.
So what would be better, do you need old saved points?
Well, if only one video card is used  Wink
40  Bitcoin / Bitcoin Discussion / Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it on: November 09, 2023, 10:54:09 PM
I made new code:
https://github.com/alek76-2/VanitySearch/tree/main/mod/009
This modification does not use OpenSSL.
Word list BIP-39 is connected. Added inclusion of the BrainWallet algorithm.
Number of words 1-16. Seed can be in HEX format with a length of 128 bits.
You can set an arbitrary seed with the -s option.
Repeat the seed from the one saved earlier in the Result.txt file.
Run cmd: VanitySearch.exe -stop -t 1 -bip39 12 -bits 66 -r 1 13zb1hQbWVsc2S7ZTZnP2G4undNNpdh5so
Code:
[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ]
[                                                           ]
[===========================================================]
[                Changes by Alek76 modify 0.09              ]
[===========================================================]
[          Tips: 1NULY7DhzuNvSDtPkFzNo6oRTZQWBqXNE9         ]
[===========================================================]
[    Options added argv [-start] [-bits] and disable SSE    ]
[===========================================================]
[    Options added argv [-bip39] [-brainwallet]             ]
[===========================================================]
[     Used Mersenne Twister PRNG and Seed of Unix time      ]
[===========================================================]
[                                                           ]
[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ]

Difficulty: 1461501637330902918203684832716283019655932542976
Search: 13zb1hQbWVsc2S7ZTZnP2G4undNNpdh5so [Compressed]

[i] startKey Seed: giraffe salon quality estate seven father famous luxury sudden milk dash then
Start Fri Nov 10 01:46:59 2023
Base Key: Randomly changed every 1 Mkeys
Number of CPU thread: 1

[i] mod_009 Seed: peanut runway settle system noodle drum rural shrimp episode method steel away

Bit 66 CPU Base Key thId 0: 393829E6F495F0B02
[1.29 Mkey/s][GPU 0.00 Mkey/s][Total 2^21.30][Prob 0.0%][50% in 2.49269e+34y][Found 0]
[i] mod_009 Seed: canal wide hedgehog good aim lazy toddler survey undo logic budget come

Bit 66 CPU Base Key thId 0: 326A1AB38911F16C5
[1.16 Mkey/s][GPU 0.00 Mkey/s][Total 2^22.15][Prob 0.0%][50% in 2.77189e+34y][Found 0]
[i] mod_009 Seed: strong unaware neck other own around innocent wild eyebrow solar segment chef

Bit 66 CPU Base Key thId 0: 32B5E3AF43D6FB813
[1.12 Mkey/s][GPU 0.00 Mkey/s][Total 2^22.68][Prob 0.0%][50% in 2.87721e+34y][Found 0]
[i] mod_009 Seed: metal rocket deliver allow home dash wife wedding display chimney will bulb

Bit 66 CPU Base Key thId 0: 39AE7F167550007FD
[1.10 Mkey/s][GPU 0.00 Mkey/s][Total 2^23.07][Prob 0.0%][50% in 2.93188e+34y][Found 0]
[i] mod_009 Seed: actual essence civil observe armor hungry mutual belt vintage grit shed hurt

Bit 66 CPU Base Key thId 0: 37A206E198B6912B1
[1.08 Mkey/s][GPU 0.00 Mkey/s][Total 2^23.37][Prob 0.0%][50% in 2.96961e+34y][Found 0]
[i] mod_009 Seed: island gift message track behave loan conduct address sound decade kangaroo luggage

Bit 66 CPU Base Key thId 0: 36385D9324096E25D
[1.07 Mkey/s][GPU 0.00 Mkey/s][Total 2^23.62][Prob 0.0%][50% in 2.99965e+34y][Found 0]
[i] mod_009 Seed: enact anchor start slow advance goddess april track juice drill notable silent

Bit 66 CPU Base Key thId 0: 3D35D1A8ACEC3659B
[1.06 Mkey/s][GPU 0.00 Mkey/s][Total 2^23.83][Prob 0.0%][50% in 3.01685e+34y][Found 0]
[i] mod_009 Seed: sick bus foam city razor pencil diet top slim air bright urge

Bit 66 CPU Base Key thId 0: 3F13992CABC7127CC
p.s. I don't have GPU computing resources, so I'm leaving this thread. And as soon as a normal post
appears, “First People” ("Pervonah") immediately appear and start new pages. Good luck.
Pages: « 1 [2] 3 4 5 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!