Author

Topic: Get Loyce addresses and convert them to bloom filter [WiP] (Read 215 times)

legendary
Activity: 3346
Merit: 3130
Bloom filter Newbie here: what can this be used for?

The Bloom file is what Brainflayer uses to brute force the address... Is in that format because that way it works faster, but normally in the bloom file we have all the addresses in hash 160 of the address that we are searching (or bruteforcing) the private key.

So, making a bloom file with all the addresses is a nice feature if we are working with brainflayer, but since we will have tons of hash160 addresses, comparing each newly generated address with the bloom file isn't an efficient process... So, I don't recommend at all this way to brute force crypto addresses.
full member
Activity: 297
Merit: 133
Bloom filter Newbie here: what can this be used for?

For quickly finding (with some dose of probability) that what we have in one data pack is in the another.
Here it is for example any brainwallet phrases to be found in public addresses with balance.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
Bloom filter Newbie here: what can this be used for?
full member
Activity: 297
Merit: 133
I just make a test with your code, and something isn't working fine:

Code:
~/brainflayer/brainflayer -v -i int3.txt -o int4.txt

I don't think that line is the right one to get the hash160:

Code:
bitcoin@forum:~/brainflayer$ echo "1BTCoinTc7gtcCvYic4KhdUTUqEikBrpVW" > a.txt
bitcoin@forum:~/brainflayer$ ./brainflayer -v -i a.txt -o b.txt
 rate:     47.60 p/s found:     0/1          elapsed:    0.021 s
bitcoin@forum:~/brainflayer$ cat b.txt
09da81f1147115816f8ea2b1ccf17ab11c506eda:u:sha256:1BTCoinTc7gtcCvYic4KhdUTUqEikBrpVW
8488984ea64168e341374dbf45e46bd8bf0d007e:c:sha256:1BTCoinTc7gtcCvYic4KhdUTUqEikBrpVW
bitcoin@forum:~/brainflayer$

And on this page we can verify the hash from that address:
https://privatekeys.pw/address/bitcoin/1BTCoinTc7gtcCvYic4KhdUTUqEikBrpVW

Which is: 72a5ed772ca646ff6719c8e2621ad11d34345535

So, to get the Hash 160 you will need to modify those steps, I have some methods to get this hash, but for them first we have to identify the kind of address that we are working with.

It is for bloom filter and searching purposes, it may be not directly hash160.

Question should go to brainflayer author in that case.

I tested that and it does later find the hash.
legendary
Activity: 3346
Merit: 3130
I just make a test with your code, and something isn't working fine:

Code:
~/brainflayer/brainflayer -v -i int3.txt -o int4.txt

I don't think that line is the right one to get the hash160:

Code:
bitcoin@forum:~/brainflayer$ echo "1BTCoinTc7gtcCvYic4KhdUTUqEikBrpVW" > a.txt
bitcoin@forum:~/brainflayer$ ./brainflayer -v -i a.txt -o b.txt
 rate:     47.60 p/s found:     0/1          elapsed:    0.021 s
bitcoin@forum:~/brainflayer$ cat b.txt
09da81f1147115816f8ea2b1ccf17ab11c506eda:u:sha256:1BTCoinTc7gtcCvYic4KhdUTUqEikBrpVW
8488984ea64168e341374dbf45e46bd8bf0d007e:c:sha256:1BTCoinTc7gtcCvYic4KhdUTUqEikBrpVW
bitcoin@forum:~/brainflayer$

And on this page we can verify the hash from that address:
https://privatekeys.pw/address/bitcoin/1BTCoinTc7gtcCvYic4KhdUTUqEikBrpVW

Which is: 72a5ed772ca646ff6719c8e2621ad11d34345535

So, to get the Hash 160 you will need to modify those steps, I have some methods to get this hash, but for them first we have to identify the kind of address that we are working with.
copper member
Activity: 1330
Merit: 899
🖤😏
Ehhm, do you realize that actively brute forcing random addresses of other people is illegal, right, right? 100BTC challenge is different. What you are doing is not good, untrustworthy. Just saying.
full member
Activity: 297
Merit: 133
Fixed the script as bitcoin-tool does not properly convert to hashes, needed to use brainflayer:

Code:
#!/usr/bin/env bash
set -e
echo "### Public addresses downloader and converter to bloom filter ###"
echo [01/12] Download the addresses
wget http://addresses.loyce.club/blockchair_bitcoin_addresses_and_balance_LATEST.tsv.gz
echo [02/12] Unpack the archive
gunzip blockchair_bitcoin_addresses_and_balance_LATEST.tsv.gz
echo [03/12] Check lowest balance line
line=$(grep -m 1 -bne $'\t99999$' blockchair_bitcoin_addresses_and_balance_LATEST.tsv | cut -d ":" -f 2)
echo [04/12] Get only with proper balance
head -c $line blockchair_bitcoin_addresses_and_balance_LATEST.tsv > int1.txt
echo [05/12] Get rid of first line
tail -n +2 int1.txt > int2.txt
echo [06/12] Get only addresses, sort and write to file
cut -f 1 int2.txt | sort > gte1mBTC.txt
echo [07/12] Search for incompatible addresses
line=$(grep -m 1 -bne $'^bc1p' "gte1mBTC.txt" | cut -d ":" -f 2)
echo [08/12] Get only compatible addresses
head -c $line "gte1mBTC.txt" > int3.txt
echo [09/12] Convert addresses to hash160
~/brainflayer/brainflayer -v -i int3.txt -o int4.txt
echo [10/12] Sort and uniq hashes
sort -u int4.txt > hash160.txt
echo [11/12] Convert hex to bloom filter
~/brainflayer/hex2blf "hash160.txt" bloom.blf
echo [12/12] Finished!
full member
Activity: 297
Merit: 133
Code:

Code:
#!/usr/bin/env bash
echo Stage 1 - download the addresses
wget http://addresses.loyce.club/blockchair_bitcoin_addresses_and_balance_LATEST.tsv.gz
echo Stage 2 - unpack the archive
gunzip blockchair_bitcoin_addresses_and_balance_LATEST.tsv.gz
echo Stage 3 - check lowest balance line
line=$(grep -m 1 -bne $'\t99999$' blockchair_bitcoin_addresses_and_balance_LATEST.tsv | cut -d ":" -f 2)
echo Stage 4 - get only with proper balance
head -c $line blockchair_bitcoin_addresses_and_balance_LATEST.tsv > int1.txt
echo Stage 5 - get rid of first line
tail -n +2 int1.txt > int2.txt
echo Stage 6 - get only addresses, sort and write to file
cut -f 1 int2.txt | sort > gte1mBTC.txt
f="gte1mBTC.txt"
o="hash160.txt"
echo Stage 7 - search for incompatible addresses
line=$(grep -m 1 -bne $'^bc1p' "$f" | cut -d ":" -f 2)
echo Stage 8 - get only compatible addresses
head -c $line "$f" > int3.txt
echo Stage 9 - convert addresses to hash160
~/bitcoin-tool/bitcoin-tool --batch --input-type address --output-type public-key-rmd --input-format base58check --network bitcoin --output-format hex --input-file int3.txt | sort > "$o"
echo Stage 10 - convert hash160 to bloom filter
~/brainflayer/hex2blf "$o" bloom.blf
echo Finished!

Taken are only >=1 mBTC.
Jump to: