Pages:
Author

Topic: WifSolverCuda - new project for solving WIFs on GPU - page 2. (Read 1203 times)

member
Activity: 177
Merit: 14
Hello @PawGo,

There's a diary that has a missing 12 WIF private key character and holds 500 BTC, $11Million. Do you think that this challenge a legit one? 1PfNh5fRcE9JKDmicD2Rh3pexGwce1LqyU

I'm just wondering because this challenge has been going around for months now. I doubt it.

A Russian user named @phrutis is currently the only one who's running the challenge with a bruteforce pool.
full member
Activity: 1050
Merit: 219
Shooters Shoot...
It depends where your missing characters are, program will not work if you have missing end. See /docs folder, examples and how to find stride.

I do not know how to tell it simpler. People just do not read or do not understand (or understand only the part they want).

That program if NOT FOR PUZZLE SOLVING. It will not work.


Technically, it does work when missing characters are at the end Smiley

I understand what you are saying though. Sometimes it's like getting a new shiny toy and you want to play with it before reading care, maintenance, instructions lol.

I understand how to use the program, I was answering their questions.

However, could you elaborate on the speed? What is the speed calculating?

Quote
But I managed to get it to work, I'm searching my desired start/end ranges, unless your tool doesn't search all the private keys to find the target address.

How did you get it to work? The settings/flags you posted, will not work with this program, period. Please explain.

copper member
Activity: 1330
Merit: 899
🖤😏
It depends where your missing characters are, program will not work if you have missing end. See /docs folder, examples and how to find stride.
I do not know how to tell it simpler. People just do not read or do not understand (or understand only the part they want).

That program if NOT FOR PUZZLE SOLVING. It will not work.

But I managed to get it to work.

It's like using butter as a hammer.


I'm a puzzle hunter, when I see brute force/ key finder/ cracker, I lose my control.😆 I do love what you done, my only problem is the rapid change in speed as I mentioned above. Seems too unstable jumping from 6 billion keys down to 60 million keys is some kind of design flaw maybe? I don't know really. Your work is appreciated.
legendary
Activity: 952
Merit: 1367
It depends where your missing characters are, program will not work if you have missing end. See /docs folder, examples and how to find stride.
I do not know how to tell it simpler. People just do not read or do not understand (or understand only the part they want).

That program if NOT FOR PUZZLE SOLVING. It will not work.

But I managed to get it to work.

It's like using butter as a hammer.

copper member
Activity: 1330
Merit: 899
🖤😏
It depends where your missing characters are, program will not work if you have missing end. See /docs folder, examples and how to find stride.


I do not know how to tell it simpler. People just do not read or do not understand (or understand only the part they want).

That program if NOT FOR PUZZLE SOLVING. It will not work.


But I managed to get it to work, I'm searching my desired start/end ranges, unless your tool doesn't search all the private keys to find the target address.
Also I got a problem, my speed/ performance has a drastic chane, it goes up to 6 Gkey/s and suddenly drops down to 60 Mkeys/s minutes by minutes.

I was also wondering if I change my wifstart and remove 10 chars to replace them with 1, then if I set wifend with 15 chars removed and replaced with z, then I can tweak the end key range to a value of my desire, if all the 10 chars in wifstart process and result in no match then those 5 extra z's on wifend start changing to find my key if it's there. And consequently my wifstart not missing characters will also start to change, even though I didn't change them at all. Did you know about this or is it a bug?
legendary
Activity: 952
Merit: 1367
It depends where your missing characters are, program will not work if you have missing end. See /docs folder, examples and how to find stride.

I do not know how to tell it simpler. People just do not read or do not understand (or understand only the part they want).

That program if NOT FOR PUZZLE SOLVING. It will not work.

full member
Activity: 1050
Merit: 219
Shooters Shoot...
when you never show your settings/command line, it makes it harder to help you without having to ask you 10 questions to understand what you are doing wrong.
Since you insist 😀 here, I'm testing puzzle 153. What am I doing wrong?

Code:
Desktop\WIF>wifsolver.exe -restore filestatus.txt -c -stride 1520000000 -rangestart 100000000000000000000000000000000000000 -rangeend 1ffffffffffffffffffffffffffffffffffffff -a 18192XpzzdDi2K11QVHR7td2HcPS6Qs5vg
WifSolver 0.6.2


KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9Mr4DWxM4mCemQa
-rangeStartInit=800000000000000000000000000000000000000000000000000000000000000001014671FC3F
-rangeStart=800000000000000000000000000000000000000000000000000000000CF3D73599014671FC3F
-rangeEnd=80FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD036414101271AA03F
-stride=1520000000
-a=18192XpzzdDi2K11QVHR7td2HcPS6Qs5vg
-checksum=
-c
-b=16
-t=640
-s=5000

Lol, I know I'm looking in a wrong place though.

You would have to actually know a partial of the actual WIF to use this program.
Or at least that's what it seems.
Also, the speed...I am not sure what it is measuring but it is not accurate to me, unless I misunderstand it.
If it is checking 87,000,000,000 keys per second, then this should have solved before it started.
Unless it is checking WIFs and checksums, which could be accurate then.
What I am saying is, it is not checking a private key, like Bitcrack or VBCr does. And in cases where the characters are missing from the end, this is not the fastest program to use.
I ran a test with a known 40 bit key...I removed 7 characters from the end (for quickness), and used a stride of 1.
It found the key in 31 seconds...which is good, but other programs could find this in under a second.
The money for this program is when you are missing characters in the middle and you know the checksum, or have the last x many characters of the wif.
But I know you need a partial of the WIF, and it seems like in the middle is the best...

I do not know if you can use rangestart and end as you have it, let me check real quick...no, you can not, you must use the range like:

Code:
-rangeStart 80000000000000000000000000000000000000000000000000000000e9ae4933d4693f8c6500 -rangeEnd 80000000000000000000000000000000000000000000000000000000e9ae4933d66b55a90f7f

Lastly, your stride is based on the last character (from the right) of the WIF you are looking for. If you have no WIF then you can't know what it needs to be.


Test with missing characters at the end:
Code:
wifcuda>WifSolverCuda -c -wifStart KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9aFJuCJD1111111 -stride 1 -wifEnd KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9aFJuCJDzzzzzzz -a 1EeAxcprB2PpCnr34VfZdFrkUWuxyiNEFv
WifSolver 0.6.2

Use parameter '-h' for help and list of available parameters

Using GPU nr 0:
NVIDIA GeForce GTX 1660 Ti (24 procs)
maxThreadsPerBlock: 1024

Range start: 80000000000000000000000000000000000000000000000000000000E9AE4933D4693F8C6500
Range end  : 80000000000000000000000000000000000000000000000000000000E9AE4933D66B55A90F7F
Stride     : 1
Target     : 1EeAxcprB2PpCnr34VfZdFrkUWuxyiNEFv
Target COMPRESSED

number of blocks: 192
number of threads: 640
number of checks per thread: 5000

Work started at Thu Jan 26 16:59:10 2023
 87.649 GKey/s,  progress: 70.790%
found: 1EeAxcprB2PpCnr34VfZdFrkUWuxyiNEFv
key  : E9AE4933D6
WIF  : KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9aFJuCJDo5F6Jm7

Work finished at Thu Jan 26 16:59:41 2023

I am sure OP can explain better/more than me...but you need to have partial WIF to really use this program.
copper member
Activity: 1330
Merit: 899
🖤😏
when you never show your settings/command line, it makes it harder to help you without having to ask you 10 questions to understand what you are doing wrong.
Since you insist 😀 here, I'm testing puzzle 153. What am I doing wrong?

Code:
Desktop\WIF>wifsolver.exe -restore filestatus.txt -c -stride 1520000000 -rangestart 100000000000000000000000000000000000000 -rangeend 1ffffffffffffffffffffffffffffffffffffff -a 18192XpzzdDi2K11QVHR7td2HcPS6Qs5vg
WifSolver 0.6.2


KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9Mr4DWxM4mCemQa
-rangeStartInit=800000000000000000000000000000000000000000000000000000000000000001014671FC3F
-rangeStart=800000000000000000000000000000000000000000000000000000000CF3D73599014671FC3F
-rangeEnd=80FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD036414101271AA03F
-stride=1520000000
-a=18192XpzzdDi2K11QVHR7td2HcPS6Qs5vg
-checksum=
-c
-b=16
-t=640
-s=5000

Lol, I know I'm looking in a wrong place though.
full member
Activity: 1050
Merit: 219
Shooters Shoot...
Thank you for your time, I ran a device query and apparently my cuda cap is 5.0, however after running the program returned a kernel launch failed : no kernel image on device, any advice? I'm new to this stuff.

I have prepared a Windows build for compute cap 5.0 (cuda 11.Cool, try now:
https://github.com/PawelGorny/WifSolverCuda/releases/tag/v0.6.2

WOW, I'm really amazed by the performance, I used another tool and got 28MK/s with GPU use: 0, and now I'm using your tool with 450MK/s Also GPU use: 0%. either the speed shown is incorrect or I have a special system.
Why is it when I set -restore it shuts down? I tried it at the end of the command line and at the start, didn't work. Are you aware of finderouter that has an UI? Would that be possible to use his UI on your tool or not?

One thing though I couldn't quite figure out how to set my WIF with missing chars, calculating stride etc, which is something I should work on by myself.

Thank you man, your job is superb.

Quote
I used another tool and got 28MK/s with GPU use: 0, and now I'm using your tool with 450MK/s Also GPU use: 0%. either the speed shown is incorrect or I have a special system.
Lol...you can't compare apples and oranges. And when you never show your settings/command line, it makes it harder to help you without having to ask you 10 questions to understand what you are doing wrong.
Everyone on here usually is willing to help, up to a point...
Also, I do not know what you are looking at when talking about GPU usage...apparently you are not looking at a program that tells you what your GPU is actually doing.
legendary
Activity: 952
Merit: 1367
One thing though I couldn't quite figure out how to set my WIF with missing chars, calculating stride etc, which is something I should work on by myself.

It depends where your missing characters are, program will not work if you have missing end. See /docs folder, examples and how to find stride.
copper member
Activity: 1330
Merit: 899
🖤😏
Thank you for your time, I ran a device query and apparently my cuda cap is 5.0, however after running the program returned a kernel launch failed : no kernel image on device, any advice? I'm new to this stuff.

I have prepared a Windows build for compute cap 5.0 (cuda 11.Cool, try now:
https://github.com/PawelGorny/WifSolverCuda/releases/tag/v0.6.2

WOW, I'm really amazed by the performance, I used another tool and got 28MK/s with GPU use: 0, and now I'm using your tool with 450MK/s Also GPU use: 0%. either the speed shown is incorrect or I have a special system.
Why is it when I set -restore it shuts down? I tried it at the end of the command line and at the start, didn't work. Are you aware of finderouter that has an UI? Would that be possible to use his UI on your tool or not?

One thing though I couldn't quite figure out how to set my WIF with missing chars, calculating stride etc, which is something I should work on by myself.

Thank you man, your job is superb.
legendary
Activity: 952
Merit: 1367
Thank you for your time, I ran a device query and apparently my cuda cap is 5.0, however after running the program returned a kernel launch failed : no kernel image on device, any advice? I'm new to this stuff.

I have prepared a Windows build for compute cap 5.0 (cuda 11.Cool, try now:
https://github.com/PawelGorny/WifSolverCuda/releases/tag/v0.6.2
copper member
Activity: 1330
Merit: 899
🖤😏
Thank you for your time, I ran a device query and apparently my cuda cap is 5.0, however after running the program returned a kernel launch failed : no kernel image on device, any advice? I'm new to this stuff.

Ps, I'll send a tip when I find my 1+ bitcoin address.😉
legendary
Activity: 952
Merit: 1367

I have a device with a 3.2 CCAP, it's nvidia geforce 920mx (GPU) with an intel integrated GPU. How can I change cuda settings in VS? Or do I need to install an older version of cuda? I currently have version 12.

Isn't there a way to automate these configs? Why do open source programs have these manual configurations?

Lol too many questions, appreciate the respond.

I am afraid in cuda 12 ccap 3.2 has been already removed, you probably need older cuda toolkit. In their release notes they wrote 3.5 and 3.7 (kepler) are abandoned, so I assume 3.2 is abandoned too (but you need to double check).

You may change that parameter in Makefile (if you build for Linux) or in Visual Studio project settings.
legendary
Activity: 952
Merit: 1367
update:

Except one minor change whish I did not announce before (support for Segwit 3...) addresses, today I have release a new version:

v0.6.0
Added multi-gpu support, using parameter "-d all" program runs on all the available CUDA devices, so it is not necessary to split work manually anymore.

v0.6.1

v0.6.2
support for search for multiple addresses (list of addresses loaded from the file)
https://github.com/PawelGorny/WifSolverCuda/releases/tag/v0.6.2
legendary
Activity: 952
Merit: 1367
update:

v 0.4.7
I have improved memory management, now default configuration for single rtx3090 uses less than 100MB of RAM. previous it was more than 900MB  

In the meantime I have added progress indicator, resume from status file and some other minor changes.

v 0.4.8
Support for segwit/p2sh addresses

v 0.5.0
I have changed the way how memory/data transfer is managed and if it is possible I use memory from host. It should not be a problem, even for sets with 4-8 cards on one host. Speed is improved up to 10%, but still it is good to play with number of blocks/threads/steps processed per thread.
On 3080Ti I process around 4000 MKey/s for WIF with missing beginning, I think it is a good result.

v0.5.2
I have prepared a new release, 0.5.2, it could be mini-mini-minimally better, as I decreased some unnecessary latency. But displayed speed probably will be lower - what was until now was a bit too optimistic (I was dividing work done by full seconds, when I divide by miliseconds result is closer to reality). On 3080ti I see speed +-3.830, but now we see it fluctuates every time is displayed - in old version it was 4.096 all the time.
There is also a new parameter "-v" - verbose output - to display WIF processed in status line - but as it is extra work, it slows down the process (not much but still).
And 2 new parameters "-wifStart -wifEnd" for automatic conversion of provided WIF to range start/end

v0.5.3
https://github.com/PawelGorny/WifSolverCuda/releases/tag/v0.5.3

Added support for P2WPKH addresses (bc1...)
legendary
Activity: 952
Merit: 1367
Hello

It took me a long time to start, but I hope that now, after the first step it will be much easier. Motivated by topic https://bitcointalksearch.org/topic/m.58913560 I decided to start migrating my CPU WifSolver into GPU.
And here it is: https://github.com/PawelGorny/WifSolverCuda

I will not repeat description from ReadMe file because all the important information are there - and it is easier to update one place.

Currently it covers only needs of the aforementioned topic (and similar).
Yes, yes I know... It is a long way to Tipperary. Code maybe does not look beautiful, lot of libraries (anyway JLP rulez), but it WORKS! Probably some CUDA masters will know how to improve it - please let me know any of your ideas. I may also say that it was a painful journey in time for me, as I did not use c++ for years. But finally I am happy the first step is done.
And - what is the most important - it is the solution for the cases which cannot be solved with BitCrack (stride collides with checksum). And it is slightly faster than BitCrack - at least for the cases I tested. As it is CUDA - sky is the limit if you know how to configure a given program for your card.

TODO list is long, if you have any ideas, requests - let me know, here or on github.


edit
v 0.3.1

I have added worker for compressed address and improved general performance.
Now it is possible to work on WIFs with missing characters at the beginning (static checksum, param: -checksum) and in the middle (checksum changed by stride).
It looks like my algorithm is almost twice as fast as BitCrack, at least for the cases where BitCrack could be used.
(On my card I had 690MKeys on regular Bitcrack and 790MKeys on patched versions, my WifSolver produces 1300MKeys. For compressed WIFs where missing characters are in the middle and compression flag is impacted, speed is around 3600MKeys).


edit
v 0.4.3

I have added a small helper - WIF decoder.
Some minor changes in algorithm and program itself, performance improved, especially for compressed keys with missing characters in the middle (x3 faster now, 10.000 MKeys on my test machine, solving 19*6 missing characters in 1:10 min).
Added Makefile for linux builds.

Pages:
Jump to: