$363.05 USD (by current exchange rate)
Total: 1 file(s)
Hidden text contain: 20261 symbol(s)
Download file(s):
Pollard's kangaroo interval ECDLP solver for SECP256K1 Version 256 Bit(based on VanitySearch engine)..zip 3446.91KB
Info(Description by file owner):
Pollard's kangaroo for SECPK1 Version Pro 256 Bit
A Pollard's kangaroo interval ECDLP solver for SECP256K1 (based on VanitySearch engine).
256 bit interval search.
Feature
Fixed size arithmetic
Fast Modular Inversion (Delayed Right Shift 62 bits)
SecpK1 Fast modular multiplication (2 steps folding 512bits to 256bits reduction using 64 bits digits)
Multi-GPU support
CUDA optimisation via inline PTX assembly
Usage:
Kangaroo v2.1
Kangaroo [-v] [-t nbThread] [-d dpBit] [gpu] [-check]
[-gpuId gpuId1[,gpuId2,...]] [-g g1x,g1y[,g2x,g2y,...]]
inFile
-v: Print version
-gpu: Enable gpu calculation
-gpuId gpuId1,gpuId2,...: List of GPU(s) to use, default is 0
-g g1x,g1y,g2x,g2y,...: Specify GPU(s) kernel gridsize, default is 2*(MP),2*(Core/MP)
-d: Specify number of leading zeros for the DP method (default is auto)
-t nbThread: Secify number of thread
-w workfile: Specify file to save work into (current processed key only)
-i workfile: Specify file to load work from (current processed key only)
-wi workInterval: Periodic interval (in seconds) for saving work
-ws: Save kangaroos in the work file
-wss: Save kangaroos via the server
-wsplit: Split work file of server and reset hashtable
-wm file1 file2 destfile: Merge work file
-wmdir dir destfile: Merge directory of work files
-wt timeout: Save work timeout in millisec (default is 3000ms)
-winfo file1: Work file info file
-wpartcreate name: Create empty partitioned work file (name is a directory)
-wcheck worfile: Check workfile integrity
-m maxStep: number of operations before give up the search (maxStep*expected operation)
-s: Start in server mode
-c server_ip: Start in client mode and connect to server server_ip
-sp port: Server port, default is 17403
-nt timeout: Network timeout in millisec (default is 3000ms)
-o fileName: output result to fileName
-l: List cuda enabled devices
-check: Check GPU kernel vs CPU
inFile: intput configuration file
Structure of the input file:
All values are in hex format
Public keys can be given either in compressed or uncompressed format
Start range
End range
Key #1
Key #2
...
ex
49dccfd96dc5df56487436f5a1b18c4f5d34f65ddb48cb5e0000000000000000
49dccfd96dc5df56487436f5a1b18c4f5d34f65ddb48cb5effffffffffffffff
0459A3BFDAD718C9D3FAC7C187F1139F0815AC5D923910D516E186AFDA28B221DC994327554CED887AAE5D211A2407CDD025CFC3779ECB9C9D7F2F1A1DDF3E9FF8
0335BB25364370D4DD14A9FC2B406D398C4B53C85BE58FCC7297BD34004602EBEC
Note on Time/Memory tradeoff of the DP method
The distinguished point (DP) method is an efficient method for storing random walks and detect collision between them. Instead of storing all points of all kangagroo's random walks, we store only points that have an x value starting with dpBit zero bits. When 2 kangaroos collide, they will then follow the same path because their jumps are a function of their x values. The collision will be then detected when the 2 kangaroos reach a distinguished point.
This has a drawback when you have a lot of kangaroos and looking for collision in a small range as the overhead is in the order of nbKangaroo.2dpBit until a collision is detected. If dpBit is too small a large number of point will enter in the central table, will decrease performance and quickly fill the RAM. Powerfull GPUs with large number of cores won't be very efficient on small range, you can try to decrease the grid size in order to have less kangaroos but the GPU performance may not be optimal. Yau can change manualy the DP mask size using the -d option, take in consideration that it will require more operations to complete. See table below:
nbKangaroo.2dpBit/sqrt(N) DP Overhead Avg
4.000 cubicroot(1+4.000) = ~71.0% 3.55 sqrt(N)
2.000 cubicroot(1+2.000) = ~44.2% 2.99 sqrt(N)
1.000 cubicroot(1+1.000) = ~26.0% 2.62 sqrt(N)
0.500 cubicroot(1+0.500) = ~14.5% 2.38 sqrt(N)
0.250 cubicroot(1+0.250) = ~7.7% 2.24 sqrt(N)
0.125 cubicroot(1+0.125) = ~4.0% 2.16 sqrt(N)
DP overhead according to the range size (N), DP mask size (dpBit) and number of kangaroos running in paralell (nbKangaroo).
Slight performance increase:
ModInv performance increase (Thanks to Peter Dettman)
GPU kernel performance increase
Fixed display bug
Performance increase
Kangaroo backup via the server (-wss)
Fixed rare wrong points
Added -wcheck option (Check workfile integrity)
Added partitioned work file
Merger performance increase
Added -wmdir option (thanks to PatatasFritas)
Support of kangaroo backup for client
Added -wsplit option
Improved seed
Client/Server mode
Enter valid email to buy this volume:
We will send download links to this email address after payment confirmation.
Please note that SatoshiDisk does not provide support for the items purchased through a seller via us. If you have questions regarding your product, please contact the seller directly. We can't refund, change, rollback or cancel the transaction because of blockchain protocol. All sales are final.