Pages:
Author

Topic: VanitySearch (Yet another address prefix finder) - page 19. (Read 32966 times)

full member
Activity: 1232
Merit: 242
Shooters Shoot...
Quote
What do you mean? VanitySearch can't take a list of addresses, only a list of prefixes, and adding more of those will slow the program down.
It does and will take a list of full addresses. I think Jean Luc said it was better to put in full, if you were looking for a full address.
newbie
Activity: 30
Merit: 0

What do you mean? VanitySearch can't take a list of addresses, only a list of prefixes, and adding more of those will slow the program down.

I have a large list of uncompressed addresses. Total number of 70 million addresses.
I have divided this list into 7 files. I expect VanitySearch to find a key to at least one address from the list. Of course, this is a cosmic sum in terms of chance! But theoretical is it possible? Or won't it work? That is, in terms of selecting a perfix for the full value consisting of 33-34 characters "Base58 (P2SH)".

List: "10 000 addr (P2SH)":
Code:
1LAqmtxdjfsM2xsVVthsMUPsZ4Lw2X2sen
1JaS1LCj7m8BfJyexEqMVmSYs8RJhcRasy
1PTyMf9Z2TagnkMJVFNBEzR95QFqH99NQf
1NGL7KxXiYDcxxxhapukprgm2xm3D4MSL4
...
...
...
e.t.c

To increase the speed, maybe I need to cut addresses, leaving, for example, 10-12 characters for search?

Something like this:
Code:
1LAqmtxdjf
1JaS1LCj7m
1PTyMf9Z2T
1NGL7KxXiY
...
...
...
e.t.c

legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
@NotATether I want to see how many keys are generated when I run from the CPU and when I run from the GPU? I would like to see their difference on the speed of key generation?

In the interactive display it shows you the number of MKeys/s it is searching at for GPU and combined CPU/GPU use, like this:

Code:
$ ./VanitySearch -gpu 1notatether
VanitySearch v1.19
Difficulty: 10054102514374868992
Search: 1notatether [Compressed]
Start Mon Mar  1 06:53:26 2021
Base Key: 2A1422BAED92CCEAC4B23F7DF4CB207FAA88DC1D550D86EA3C6FE7D0881F08E5
Number of CPU thread: 1
GPU: GPU #0 GRID K520 (8x192 cores) Grid(64x128)
[123.15 Mkey/s][GPU 121.60 Mkey/s][Total 2^30.46][Prob 0.0%][50% in 1794.37y][Found 0]

The GPU speed is listed in the [GPU] bracket and the combined GPU+CPU speed is in the first bracket. There is no separate listing for CPU only.

(Yes, I mistakenly got a K520 so I'm stuck with compute cap 30 and CUDA Toolkit 10.2. I don't know the status of my other Tesla server yet. I guess on the flip side this makes it easier for me to run Bitcrack through a debugger even though it's non-reproducible there? Huh)

@NotATether and another question, does it affect the key generation speed if I add a large list   (70 million Bitcoin Addresses (P2SH) in uncompressed format)?

What do you mean? VanitySearch can't take a list of addresses, only a list of prefixes, and adding more of those will slow the program down.
newbie
Activity: 30
Merit: 0
I run VanitySearch on Ubuntu using several files to check:

Code:
@root> ./VanitySearch -u -i List01.txt -u -i List02.txt -u -i List03.txt -u -i List04.txt -u -i List05.txt -u -i List06.txt -u -i List07.txt -o result.txt -r 1


But unfortunately I cannot see in the terminal how many keys are generated and checked during the process. Is there a way to check this process through logs?

It prints the same text in the file for each private key found:

Quote
Pub Addr:
Priv (WIF):
Priv (HEX):

So you can try searching for all the lines that have Pub Addr in them and then tally them up using:

grep "Pub Addr" result.txt | wc -l

@NotATether I want to see how many keys are generated when I run from the CPU and when I run from the GPU? I would like to see their difference on the speed of key generation?

@NotATether and another question, does it affect the key generation speed if I add a large list   (70 million Bitcoin Addresses (P2SH) in uncompressed format)?


legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
I run VanitySearch on Ubuntu using several files to check:

Code:
@root> ./VanitySearch -u -i List01.txt -u -i List02.txt -u -i List03.txt -u -i List04.txt -u -i List05.txt -u -i List06.txt -u -i List07.txt -o result.txt -r 1


But unfortunately I cannot see in the terminal how many keys are generated and checked during the process. Is there a way to check this process through logs?

It prints the same text in the file for each private key found:

Quote
Pub Addr:
Priv (WIF):
Priv (HEX):

So you can try searching for all the lines that have Pub Addr in them and then tally them up using:

grep "Pub Addr" result.txt | wc -l
newbie
Activity: 30
Merit: 0
I run VanitySearch on Ubuntu using several files to check:

Code:
@root> ./VanitySearch -u -i List01.txt -u -i List02.txt -u -i List03.txt -u -i List04.txt -u -i List05.txt -u -i List06.txt -u -i List07.txt -o result.txt -r 1


But unfortunately I cannot see in the terminal how many keys are generated and checked during the process. Is there a way to check this process through logs?
member
Activity: 158
Merit: 39
now clear Smiley
Thnx

There is a way to get custom middle? (or end / but its cheksum)
1*custom*(middle) or 1*custom(end)
Hm, not working.
Works just fine; your input should be like this:

1*23*Bama
Would produce 1xxxxxx23xxxxBama

1*23
Would produce 1xxxxxxxxxxxxxxx23

1*Bama*
Would produce 1xxxxBamaxxxxxxxx
full member
Activity: 1232
Merit: 242
Shooters Shoot...
There is a way to get custom middle? (or end / but its cheksum)
1*custom*(middle) or 1*custom(end)
Hm, not working.
Works just fine; your input should be like this:

1*23*Bama
Would produce 1xxxxxx23xxxxBama

1*23
Would produce 1xxxxxxxxxxxxxxx23

1*Bama*
Would produce 1xxxxBamaxxxxxxxx
legendary
Activity: 3808
Merit: 7912
There is a way to get custom middle? (or end / but its cheksum)
1*custom*(middle) or 1*custom(end)
Hm, not working.
That's too vague.  No one can help you if you don't describe the problem.
member
Activity: 158
Merit: 39
There is a way to get custom middle? (or end / but its cheksum)
1*custom*(middle) or 1*custom(end)
Hm, not working.
hero member
Activity: 1443
Merit: 513
There is a way to get custom middle? (or end / but its cheksum)
1*custom*(middle) or 1*custom(end)
newbie
Activity: 30
Merit: 0
Can I specify the desired search range for private keys in "VanitySearch"? I've seen BitCrack has --keyspace but I'm most interested in "VanitySearch" from @Jean_Luc.
Not without tweaking the existing code
Please tell me how to make "VanitySearch" generate random private keys in the range of no more than 2 ^ 180 keys. I'm not good at C ++ programming, but what needs to be changed in the "Random.cpp" code to get this result?
It requires more than Random.cpp changes.  Especially if you are wanting to remove the endo and symmetry keys.
Of all the "VanitySearch" GitHub has very high quality and works well only "@Jean_Luc". How to make it so that "VanitySearch" generates random private keys in the range of no more than 2 ^ 180 keys?
full member
Activity: 1232
Merit: 242
Shooters Shoot...
Can I specify the desired search range for private keys in "VanitySearch"? I've seen BitCrack has --keyspace but I'm most interested in "VanitySearch" from @Jean_Luc.
Not without tweaking the existing code
Please tell me how to make "VanitySearch" generate random private keys in the range of no more than 2 ^ 180 keys. I'm not good at C ++ programming, but what needs to be changed in the "Random.cpp" code to get this result?
It requires more than Random.cpp changes.  Especially if you are wanting to remove the endo and symmetry keys.
newbie
Activity: 30
Merit: 0
Can I specify the desired search range for private keys in "VanitySearch"? I've seen BitCrack has --keyspace but I'm most interested in "VanitySearch" from @Jean_Luc.
Not without tweaking the existing code
Please tell me how to make "VanitySearch" generate random private keys in the range of no more than 2 ^ 180 keys. I'm not good at C ++ programming, but what needs to be changed in the "Random.cpp" code to get this result?
full member
Activity: 1232
Merit: 242
Shooters Shoot...
Can I specify the desired search range for private keys in "VanitySearch"? I've seen BitCrack has --keyspace but I'm most interested in "VanitySearch" from @Jean_Luc.
Not without tweaking the existing code
newbie
Activity: 30
Merit: 0
Can I specify the desired search range for private keys in "VanitySearch"? I've seen BitCrack has --keyspace but I'm most interested in "VanitySearch" from @Jean_Luc.
newbie
Activity: 7
Merit: 1
And since I understood if I add a key -r 10 the algorithm begins to generate keys in a random 10Mkey/s and check with a list of existing addresses.
it turns into a game who is more successful in this version of the universe  Smiley
Quote
VanitySearch.exe -t 0 -gpu -gpuId 0 -g 24,128 -r 10 -i btc.txt -o output.txt
[Loading input file 100.0%]
VanitySearch v1.19
[Building lookup16 100.0%]
[Building lookup32 100.0%]
Search: 24381246 addresses (Lookup size 65536,[287,3141]) [Compressed]
Start Wed Feb 17 17:57:44 2021
Base Key: Randomly changed every 10 Mkeys
Number of CPU thread: 0
GPU: GPU #0 GeForce GT 1030 (3x128 cores) Grid(24x128)

Warning, 41264 items lost
Hint: Search with less prefixes, less threads (-g) or increase maxFound (-m)
[9.28 Mkey/s][GPU 9.28 Mkey/s][Total 2^31.77][Prob 0.0%][50% in 3.46183e+33y][Found 0]
I think this is better than generating one key and searching nearby in a small range of matches.


my benchmark on GPU GeForce GT 1030

Quote
C:\Users\adaris\Desktop\btc\VanitySearch>VanitySearch.exe -check
GetBase10() Results OK
Add() Results OK : 427.350 MegaAdd/sec
Mult() Results OK : 31.716 MegaMult/sec
Div() Results OK : 4.322 MegaDiv/sec
R1=1000003D1
R2=1000007A2000E90A1
Field characteristic size: 256bits
ModInv()/ModExp() Results OK
ModInv() Edge cases Results OK
.Avg = 6.13
ModInv() Results OK : 445.968 KiloInv/sec
ModInv() cycles : 6503.24
ModSqrt() Results OK !
IntGroup.ModInv() Results OK : 5.641 MegaInv/sec
ModMulK1() Results OK : 27.392 MegaMult/sec
ModSquareK1() Results OK : 31.616 MegaSqr/sec
ModInv() Cost : 141.8 S
ModMulK1order() Results OK : 3.785 MegaMult/sec
Check Generator :OK
Check Double :OK
Check Add :OK
Check GenKey :OK
Adress : 15t3Nt1zyMETkHbjJTTshxLnqPzQvAtdCe OK!
Adress : 1BoatSLRHtKNngkdXEeobR76b53LETtpyT OK!
Adress : 1Test6BNjSJC5qwYXsjwKVLvz7DpfLehy OK!
Adress : 16S5PAsGZ8VFM1CRGGLqm37XHrp46f6CTn OK!
Adress : 1Tst2RwMxZn9cYY5mQhCdJic3JJrK7Fq7 OK!
Adress : 3CyQYcByvcWK8BkYJabBS82yDLNWt6rWSx OK!
Adress : 31to1KQe67YjoDfYnwFJThsGeQcFhVDM5Q OK!
Adress : bc1q6tqytpg06uhmtnhn9s4f35gkt8yya5a24dptmn OK!
Check Calc PubKey (full) 1ViViGLEawN27xRzGrEhhYPQrZiTKvKLo :OK
Check Calc PubKey (even) 385cR5DM96n1HvBDMzLHPYcw89fZAXULJP:OK
Check Calc PubKey (odd) 18aPiLmTow7Xgu96msrDYvSSWweCvB9oBA:OK
GPU: GPU #0 GeForce GT 1030 (3x128 cores) Grid(24x128)
Seed: 1613577059
61.751 MegaKey/sec
ComputeKeys() found 611 items , CPU check...
GPU/CPU check OK
member
Activity: 158
Merit: 39
There is a way to get custom middle? (or end / but its cheksum)
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
I cannot understand what exactly this command gives me. how exactly the search algorithm goes?

Quote
VanitySearch.exe -t 0 -gpu -gpuId 0 -g 24,128 -i all_btc_balance.txt -o output.txt

He starts with a hex key? and ascending searches?
Quote
0000000000000000000000000000000000000000000000000000000000000001
or randomly generates a hex key? and ascending searches?
Quote
634C5BDB134FBFDD1D32D9E0922D664CA22A9339466D4621D26D3C9D838C2B7C


On CPU, VanitySearch can generate a random 256-bit starting private key every rekey MKeys, and add CPU_GRP_SIZE/2 to the key to get the final starting key. But this is not enabled by default because rekey is set to 0. That means it will start with a fixed starting key. From diving into the code I found that it starts with 0

Now since rekey is hardcoded to 0 by default, it's going to add the starting point to the thread ID of the CPU (which VanitySearch gives it) shifted left by 64 bits. So each thread will have starting points at least 2^64 apart from each other.

CPU_GRP_Size is set to 1024 and if you're familiar with how GPUs assign several points per thread, VanitySearch's CPU implementation does something similar.

If you see "Base Key: Randomly changed every x Mkeys" in the output then that's the value of rekey and it's generating random starting keys. On he other hand if you just see "Base Key:" and then a number then a static key (0x0 in this case) is being used.

In Vanity.cpp:

Code:
void VanitySearch::getCPUStartingKey(int thId,Int& key,Point& startP) {

  if (rekey > 0) {
    key.Rand(256);
  } else {
    key.Set(&startKey);
    Int off((int64_t)thId);
    off.ShiftL(64);
    key.Add(&off);
  }
  Int km(&key);
  km.Add((uint64_t)CPU_GRP_SIZE / 2);
  startP = secp->ComputePublicKey(&km);
  if(startPubKeySpecified)
   startP = secp->AddDirect(startP,startPubKey);

}

We have similar code for getting the GPU starting key. Same 256-bit random key if rekey is non-zero, otherwise we use the thread and block numbers to get a starting key for each CUDA thread:

Code:
void VanitySearch::getGPUStartingKeys(int thId, int groupSize, int nbThread, Int *keys, Point *p) {

  for (int i = 0; i < nbThread; i++) {
    if (rekey > 0) {
      keys[i].Rand(256);
    } else {
      keys[i].Set(&startKey);
      Int offT((uint64_t)i);
      offT.ShiftL(80);
      Int offG((uint64_t)thId);
      offG.ShiftL(112);
      keys[i].Add(&offT);
      keys[i].Add(&offG);
    }
    Int k(keys + i);
    // Starting key is at the middle of the group
    k.Add((uint64_t)(groupSize / 2));
    p[i] = secp->ComputePublicKey(&k);
    if (startPubKeySpecified)
      p[i] = secp->AddDirect(p[i], startPubKey);
  }

}
full member
Activity: 1232
Merit: 242
Shooters Shoot...
I cannot understand what exactly this command gives me. how exactly the search algorithm goes?

Quote
VanitySearch.exe -t 0 -gpu -gpuId 0 -g 24,128 -i all_btc_balance.txt -o output.txt

He starts with a hex key? and ascending searches?
Quote
0000000000000000000000000000000000000000000000000000000000000001
or randomly generates a hex key? and ascending searches?
Quote
634C5BDB134FBFDD1D32D9E0922D664CA22A9339466D4621D26D3C9D838C2B7C

Yes, a random "Base Key" and ascending "sequential" search, but also checks the symmetry addresses and endorphisms.
Pages:
Jump to: