Comments (3)
Additionally, I noticed that you are still verifying initial points on the CPU using ecp256k1::multiplyPoint(k, secp256k1::G())
- is there a reason why this computation is not being done on the GPU?
from bitcrack.
Hi,
More specifically, how come initializing is so much slower than iteration generation (even with the latest shift from the CPU to the GPU)?
Because initialization uses point multiplication. There is a starting key k
, and we can test N
keys in parallel, so we need to compute kG, (k+1)G, (k+2)G, ... (k+N-1)G
The GPU does this with 256 iterations. For each iteration, it look at one bit of the private key. If it is 1, then add a multiple of G. If not, then do nothing. The first iteration adds G
, the 2nd adds 2G
, the 3rd 4G
, all the way up to (2^255)G
How are you checking in the doIteration process without multiplying the point by the secp256k1 curve constant like you do in the addrGen repo (secp256k1::ecpoint p = secp256k1::multiplyPoint(k, secp256k1::G());)?
Iteration only requires point addition. All the points have already been initialized to kG, (k+1)G, (k+2)G, ... (k+N-1)G
. All points are incremented by N x G
.
Why is the hash digest only 8 bytes when it should be 32 bytes (since it's SHA256)?
The digest is 8 x 32-bit words.
Additionally, I noticed that you are still verifying initial points on the CPU using ecp256k1::multiplyPoint(k, secp256k1::G()) - is there a reason why this computation is not being done on the GPU?
This verification is only done in debug builds in order to check that the secp256k1 library on the CPU agrees with the GPU.
I hope this clears things up. Let me know if you have more questions.
Thanks
from bitcrack.
Thank you for your response, it was very helpful.
from bitcrack.
Related Issues (20)
- Bitcrack for Windows 11 HOT 5
- Help install the app for a beginner (first time) HOT 17
- Build error in Ubuntu 22.04 LTS HOT 3
- Problem with BitCrack on Linux HOT 1
- cuBitcrack.exe dosen't work HOT 1
- Feature request : Sycʟ rewrite ?
- Test. Its in your favor ;)
- How to withdraw? https://www.bitaddress.org/ hex format HOT 2
- core dump if over 256 milions starting keys
- Randomiser for Bitcrack (bitcrackrandomiser as a pool) HOT 1
- make database
- I had a lot of problems
- 79 HOT 2
- Do you run your parser on extern server?
- AMD gpu problem HOT 2
- Nvidia version problem
- BitCrack does not work with two or more video cards?
- not valid win32 application
- Is it slow? 4060 vs 259mkeys/s HOT 1
- how to install bitcrack?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bitcrack.