From 3d9598184d148d75dfc7050254f873dc593c374e Mon Sep 17 00:00:00 2001 From: Isaacdelly Date: Sun, 3 Feb 2019 11:31:19 -0800 Subject: [PATCH] Update README.md --- README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 30af70e..b6e1b51 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,8 @@ An automated Bitcoin wallet collider that brute forces random wallet addresses Python 3.6 or higher Python modules listed in the requirements.txt + +A Python C API and GMP # Installation @@ -18,6 +20,8 @@ Python modules listed in the requirements.txt $ git clone https://github.com/Isaacdelly/Plutus.git plutus $ cd plutus && pip install -r requirements.txt + +$ sudo apt-get install python-dev libgmp3-dev ``` # Quick Start @@ -38,7 +42,7 @@ This program is essentially a brute forcing algorithm. It continuously generates Private keys are generated randomly to create a 32 byte hexidecimal string using the cryptographically secure `os.urandom()` function. -The private keys are converted into their respective public keys using the `starkbank-ecdsa` Python module. Then the public keys are converted into their Bitcoin wallet addresses using the `binascii` and `hashlib` standard libraries. +The private keys are converted into their respective public keys using the `fastecdsa` Python module. Then the public keys are converted into their Bitcoin wallet addresses using the `binascii` and `hashlib` standard libraries. A pre-calculated database of every Bitcoin address with a positive balance is included in this project. The generated address is searched within the database, and if it is found that the address has a balance, then the private key, public key and wallet address are saved to the text file `plutus.txt` on the user's hard drive. @@ -46,9 +50,9 @@ This program also utilizes multiprocessing through the `multiprocessing.Pool()` # Efficiency -It takes `0.0032457721` seconds for this progam to brute force a __single__ Bitcoin address. +It takes ` ` seconds for this progam to brute force a __single__ Bitcoin address. -However, through `multiprocessing.Pool()` a concurrent process is created for every CPU your computer has. So this program can brute force addresses at a speed of `0.0032457721 ÷ cpu_count()` seconds. +However, through `multiprocessing.Pool()` a concurrent process is created for every CPU your computer has. So this program can brute force addresses at a speed of ` ÷ cpu_count()` seconds. # Database FAQ @@ -69,9 +73,7 @@ However, if a balance is found, then all necessary information about the wallet # Recent Improvements & TODO -- [X] Improve multiprocessing - -- [X] Query balances using a database instead of an API +- [X] Query balances using a bloom filter - [X] Improve ECDSA signing speed