Author

Topic: Pollard's kangaroo ECDLP solver - page 133. (Read 55201 times)

member
Activity: 808
Merit: 20
$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk
May 13, 2020, 06:56:36 PM
A client cannot solve a key as it does not perform collision check, it just calculate path and send DP to the server.
i mean that i do analog of your client/server app.
Client app simply launch kangaroo.exe
Than it check work file(with kangaroos), if the file has been modified app send file to server.
At the same time app monitors what is being done in the solver console, if solver solve key, it send key to server and stopped solver (kangaroo.exe)


Server app collect work files from clients and merge each to solve key.
Once key solved, app send command to all clients to stop working.

The problem is that files with work and kangaroos take up a lot of space and a lot of time to send.
But any way it is working)



Do not foget send to Jean_Luc some part of your praises Wink
sr. member
Activity: 616
Merit: 312
May 13, 2020, 04:18:58 PM
A client cannot solve a key as it does not perform collision check, it just calculate path and send DP to the server.
i mean that i do analog of your client/server app.
Client app simply launch kangaroo.exe
Than it check work file(with kangaroos), if the file has been modified app send file to server.
At the same time app monitors what is being done in the solver console, if solver solve key, it send key to server and stopped solver (kangaroo.exe)


Server app collect work files from clients and merge each to solve key.
Once key solved, app send command to all clients to stop working.

The problem is that files with work and kangaroos take up a lot of space and a lot of time to send.
But any way it is working)

sr. member
Activity: 616
Merit: 312
May 13, 2020, 03:35:31 PM
I made an other fix 1.5alpha3, hope it solve the issue.
I will also get rid of from the Windows error message system which is quite inconvenient !
A client cannot solve a key as it does not perform collision check, it just calculate path and send DP to the server.

many thanks for release.
sr. member
Activity: 462
Merit: 696
May 13, 2020, 02:39:57 PM
I made an other fix 1.5alpha3, hope it solve the issue.
I will also get rid of from the Windows error message system which is quite inconvenient !
A client cannot solve a key as it does not perform collision check, it just calculate path and send DP to the server.
sr. member
Activity: 616
Merit: 312
May 13, 2020, 10:44:49 AM
I managed to reproduce the issue with the windows server.
I'll have a look on that

Fixed in 1.5alpha2

Client:
Code:
Kangaroo v1.5alpha2
Number of CPU thread: 0
Succesfully connected to server: X.X (Version 1)
Range width: 2^109
Jump Avg distance: 2^54.00
Number of kangaroos: 2^21.09
DP size: 31 [0xFFFFFFFE00000000]
GPU: GPU #0 GeForce RTX 2080 Ti (68x64 cores) Grid(136x128) (213.0 MB used)
SolveKeyGPU Thread GPU#0: creating kangaroos...
SolveKeyGPU Thread GPU#0: 2^21.09 kangaroos [14.9s]
[1322.96 MK/s][GPU 1322.96 MK/s][Count 2^40.08][16:37][Server     OK]
SendToServer(Status): ╙фpыxээ√щ їюёЄ яЁшэєфшЄxы№эю ЁpчюЁтpы ёє∙xёЄтє■∙xx яюфъы■ўxэшx.

[1302.97 MK/s][GPU 1302.97 MK/s][Count 2^40.91][35:12][Server     OK]
ReadError(Status): ╙фpыxээ√щ їюёЄ яЁшэєфшЄxы№эю ЁpчюЁтpы ёє∙xёЄтє■∙xx яюфъы■ўxэшx.

[0.00 MK/s][GPU 0.00 MK/s][Count 2^40.91][36:32][Server  Fault]

server:
Code:
Kangaroo v1.5alpha2
Loading: workfin2
Start:2000000000000000000000000000
Stop :3FFFFFFFFFFFFFFFFFFFFFFFFFFF
Keys :1
LoadWork: [HashTable 23.3/55.1MB] [00s]
Range width: 2^109
Expected operations: 2^55.55
Expected RAM: 951.7MB
DP size: 31 [0xFFFFFFFE00000000]
Kangaroo server is ready and listening to TCP port 17403 ...
[Client 5][DP Count 2^19.42/2^24.55][Dead 0][02:32][23.3/55.1MB]
Closing connection with X.X.X.X:32766
[Client 4][DP Count 2^19.42/2^24.55][Dead 0][10:00][23.4/55.2MB]
SaveWork: workfin2...............done [23.4 MB] [00s] Wed May 13 17:37:47 2020
[Client 4][DP Count 2^19.42/2^24.55][Dead 0][12:56][23.4/55.2MB]
E:\kangaroo>pause
server quit without any error.
sr. member
Activity: 616
Merit: 312
May 13, 2020, 10:34:04 AM
-snip-
Still possible to have several servers and to merge work files coming from servers.
about this.. i do programm that ckeck saved work and send this work to server. All work saved with flag -ws.
server merged each this works and looks at the message in the console when merging.
readme.md say that during merge can be solved key.
But i do not understand how it can be solved if client finished job when found key and do not save last job which can be send to server and solved by server...
So client found the key and the program ended and the last job was not sent even not saved..
sr. member
Activity: 462
Merit: 696
May 13, 2020, 10:22:44 AM
Yes the problem is the server. if it gets too much points it will slow down all clients.
You have to carefully deal with the distinguished bit number in order to avoid to flood the server and get a reasonable TMTO.
The server needs RAM and a powerful CPU.
At the server side the insertion and collision check is not parallelized (difficult to do).
Still possible to have several servers and to merge work files coming from servers.
sr. member
Activity: 616
Merit: 312
May 13, 2020, 10:03:58 AM
I managed to reproduce the issue with the windows server.
I'll have a look on that

Fixed in 1.5alpha2
Work like sharm! Excellent! (little bit dropped speed from 1450Mkey/s to 1340Mkey/s, but this is not so important compared to what can be done distributed now)
I think you made a very important and big step!
sr. member
Activity: 462
Merit: 696
May 13, 2020, 09:49:27 AM
I managed to reproduce the issue with the windows server.
I'll have a look on that

Fixed in 1.5alpha2
sr. member
Activity: 462
Merit: 696
May 13, 2020, 09:28:12 AM
I managed to reproduce the issue with the windows server.
I'll have a look on that
sr. member
Activity: 616
Merit: 312
May 13, 2020, 08:56:56 AM
lol
Not very good !
The error messages with windows are the hell with FormatMessage() and MAKELANGID
Could you starts the server and post the full ouput ?
Same for one client
Thanks
With 1 client there no problem
Once added new client got this
Code:
Kangaroo v1.5alpha
Start:80000000000000000000
Stop :FFFFFFFFFFFFFFFFFFFF
Keys :1
Range width: 2^79
Expected operations: 2^40.55
Expected RAM: 481.9MB
DP size: 17 [0xFFFF800000000000]
Kangaroo server is ready and listening to TCP port 17403 ...
[Client 0][DP Count 2^-inf/2^23.55][Dead 0][32s][2.0/4.0MB]
New connection from X.X.X.X:62788
[Client 1][DP Count 2^21.74/2^23.55][Dead 0][07:40][109.1/145.8MB]
New connection from X.X.X.X:61719
[Client 2][DP Count 2^21.84/2^23.55][Dead 0][08:06][116.3/154.0MB]
WriteError(Status): ╤фxыpэp яюя√Єъp т√яюыэшЄ№ юяxЁpЎш■ эp юc·xъЄx, эx  ты ■∙xьё  ёюъxЄюь.

[Client 3][DP Count 2^22.06/2^23.55][Dead 0][08:34][135.9/177.1MB]
WriteError(Status): ╤фxыpэp яюя√Єъp т√яюыэшЄ№ юяxЁpЎш■ эp юc·xъЄx, эx  ты ■∙xьё  ёюъxЄюь.

[Client 4][DP Count 2^22.08/2^23.55][Dead 0][08:40][137.5/179.0MB]
SaveWork: test1..........
and crash in save
sr. member
Activity: 462
Merit: 696
May 13, 2020, 08:54:01 AM
Thanks for the test Wink
A http like connection is very unefficient. I tried this first but it slows down the client.
I will see what I can do.
I didn't try through a ssh tunnel.
newbie
Activity: 17
Merit: 0
May 13, 2020, 08:48:37 AM
Works fine. Tested with 65bits key and 3 clients in same network.

Code:
[Client 3][DP Count 2^14.39/2^13.05][Dead 0][01:50][2.7/7.2MB]
Key# 0 [1S]Pub:  0x0230210C23B1A047BC9BDBB13448E67DEDDC108946DE6DE639BCC75D47C0216B1B
       Priv: 0x1A838B13505B26867

Closing connection with

Closing connection with X.X.X.X:47611

Closing connection with

I've a gpu client outside Kangaroo server network. By the moment i'm using SSH tunnel, but the connection isn't perfect.
Code:
ssh user@kangarooServer -L 17403:127.0.0.1:17403
Code:
kangaroo -c 127.0.0.1

It would be interesting if the client could operate without a permanent connection to the kangaroo server.
sr. member
Activity: 462
Merit: 696
May 13, 2020, 08:35:28 AM
lol
Not very good !
The error messages with windows are the hell with FormatMessage() and MAKELANGID
Could you starts the server and post the full ouput ?
Same for one client
Thanks
sr. member
Activity: 616
Merit: 312
May 13, 2020, 08:25:11 AM
many thanks

client:
Code:
RecvFromServer(Status): The operation timed out

server:
Code:
WriteError(Status): ╤фxыpэp яюя√Єъp т√яюыэшЄ№ юяxЁpЎш■ эp юc·xъЄx, эx  ты ■∙xьё  ёюъxЄюь.

edit:
server:
Code:
Closing connection with
and server app crash

server:
Code:
ReadError(nbDP): ╤фxыpэp яюя√Єъp т√яюыэшЄ№ юяxЁpЎш■ эp юc·xъЄx, эx  ты ■∙xьё  ёюъxЄюь.
WriteError(Status): ╤фxыpэp яюя√Єъp т√яюыэшЄ№ юяxЁpЎш■ эp юc·xъЄx, эx  ты ■∙xьё  ёюъxЄюь.
WriteError(Status): ╤фxыpэp яюя√Єъp т√яюыэшЄ№ юяxЁpЎш■ эp юc·xъЄx, эx  ты ■∙xьё  ёюъxЄюь.
and server app crash

in English it looks like An attempt was made to perform an operation on an object that is not a socket
sr. member
Activity: 462
Merit: 696
sr. member
Activity: 616
Merit: 312
May 13, 2020, 07:33:10 AM
A first draft of the client/server is ready on github (source only).
The client and server can be run on both windows or linux.
There is few words on the readme.
Thanks to test it Wink
Can you make release?
sr. member
Activity: 462
Merit: 696
May 13, 2020, 07:22:42 AM
A first draft of the client/server is ready on github (source only).
The client and server can be run on both windows or linux.
There is few words on the readme.
Thanks to test it Wink
sr. member
Activity: 462
Merit: 696
May 12, 2020, 10:29:59 PM
Hi,

I'm working on the client/server solution.
Almost ready, commit probably tomorrow.
Difficulty to find an efficient protocol for handling dead kangaroo and server backup.

@MrFreeDragon

HT Max    : 9 [@ 01598C]
HT Min    : 0 [@ 000003]
HT Avg    : 0.88
HT SDev   : 0.94

This is the distribution of DP in the HashTable:
9 DP at hash 01598C (largest entry)
0 DP at hash 000003 (smallest)
0.88 DP per hash in average
0.94 standard deviation of DP distribution in the HashTable

@Hardware collector:
I'm sure you will solve the #110 Wink
With the client/server version, only the server (without GPU) will need a large amount of memory.

@arulbero
I didn't worked yet on endomorphism optimization and studied your proposal.
I will be on holidays (in mountains, far from computer) the next week, I would like to try to publish the client/server release first...


sr. member
Activity: 443
Merit: 350
May 12, 2020, 06:59:38 PM
Can you please describe what does these stats mean in workfile info (showed with -winfo):

HT Max    : 9 [@ 01598C]
HT Min    : 0 [@ 000003]
HT Avg    : 0.88
HT SDev   : 0.94

All other stats are clear.

PS. Some small misprint also in usage section README.md: -gpuId gpuId1,gpuId2,...: List of GPU(s) to use, default is 0 (Id missed)
Also in all headers of all your files there a first line:  * This file is part of the BSGS distribution (https://github.com/JeanLucPons/Kangaroo)
However BSGS remained from baby step giant step as I understand.
Jump to: