SkyDr4k3
Newbie
Offline
Activity: 146
Merit: 0
|
|
June 02, 2020, 04:52:37 PM |
|
can you write down for me a command for txt to search random private from a list of address?
|
|
|
|
COBRAS
Member
Offline
Activity: 915
Merit: 22
|
|
June 02, 2020, 05:06:12 PM |
|
How to fined prefix(imported from file) for 1 pubkey ?
I was try but successful !
|
[
|
|
|
jollygreenmidget
Newbie
Offline
Activity: 8
Merit: 0
|
|
June 02, 2020, 09:41:53 PM |
|
Ah just read -s basically is just a password that gets hashed into the base key, is there any way to set the default base key instead of it being randomized?
|
|
|
|
nc50lc
Legendary
Offline
Activity: 2534
Merit: 6087
Self-proclaimed Genius
|
|
June 03, 2020, 02:57:39 AM |
|
can you write down for me a command for txt to search random private from a list of address?
This is not feasible, I mean whatever your goal is. Anyways, for the command, a simple input text file containing the address in each line like this is all you need: input.txt1BitcoinEaterAddressDontSendf59kuE 1CounterpartyXXXXXXXXXXXXXXXUWLpVr . . 1CUNEBjYrCn2y1SdiUMohaKUi4wpP326Lb Then use this command: vanitysearch -i input.txt -stop -o result.txt You can add -gpu or anything, just don't remove -stop.
|
|
|
|
MrFreeDragon
|
|
June 08, 2020, 12:00:28 AM |
|
part 3 of private_to_address.py: -snip-
Your script works fine with random numbers, but not with all numbers. You should add some check and do not perform inverse for zero - it immediately lead to mistake. Try for example to calculate address for private key 1,2,3,4,... or 13, or 2^109 or 2^110 or for number 1298074214633706907135958430033862 - it will not work for these numbers. There a lot of other numbers the script will not work. leads to this error: invb = inv(b5*b6,p) ZeroDivisionError: invert() no inverse exists
|
|
|
|
arulbero
Legendary
Offline
Activity: 1915
Merit: 2074
|
|
June 08, 2020, 03:33:36 PM |
|
part 3 of private_to_address.py: -snip-
Your script works fine with random numbers, but not with all numbers. You should add some check and do not perform inverse for zero - it immediately lead to mistake. Try for example to calculate address for private key 1,2,3,4,... or 13, or 2^109 or 2^110 or for number 1298074214633706907135958430033862 - it will not work for these numbers. There a lot of other numbers the script will not work. leads to this error: invb = inv(b5*b6,p) ZeroDivisionError: invert() no inverse exists I know, that function is not perfect. I have just fixed some (not all) errors. If you need a correct function replace mul2G with mulG: def mulG(d): # d -> d*G
dax, day = 0, 0 r = d%16 if (r > 0): rr = 2*r-1 #dax, day = ax, ay #solo se d e' dispari dax, day = G[rr-1], G[rr] q = d>>4 i = 30 #2*(16-1) while q > 0: #ax, ay = double(ax,ay) #ax, ay = G[i], G[i+1] r = q%16 rr = 2*r+i-1 if (r > dax): #puo' succedere solo se dax = 0 e r > 0 cioe' la prima volta dax, day = G[rr-1], G[rr] #solo se d e' pari elif (r): dax, day = add(G[rr-1], G[rr], dax, day) q = q>>4 i = i + 30 return dax, day
|
|
|
|
shlomogold
Jr. Member
Offline
Activity: 75
Merit: 2
|
|
June 13, 2020, 05:02:36 PM |
|
Regarding vanity addresses I gotta ask this as I still don't fully understand. Maybe somebody could help me.
Here is an example address: 1BitcoinEaterAddressDontSendf59kuE. As far as I understand the main principle of Bitcoin addresses is that it has ALL POSSIBLE combinations. Thus there should be every possible combination like 1ILoveEatingChocolate56hjdf, 1MynameisShlomoGold348f8, etc. But when I've changed just one letter in 1BitcoinEaterAddressDontSendf59kuE to 1BitcoinEatenAddressDontSendf59kuE, it says there's no such combination. I don't really understand why and also how was 1BitcoinEaterAddressDontSendf59kuE found in the first place then, were people just randomly typing different variations in the database explorer until they've found that particular one? For example, something like 1BitcoinIstheBestCrypto888... , how do we find if it exists or not?
P.S.
I've read about btc addresses, how it's generated, how hashing works yet I haven't found the answer to the above question
|
|
|
|
arulbero
Legendary
Offline
Activity: 1915
Merit: 2074
|
|
June 13, 2020, 05:32:01 PM |
|
As far as I understand the main principle of Bitcoin addresses is that it has ALL POSSIBLE combinations.
This is true, a bitcoin address is a simple number (160-bit), the 'problem' arises with the Base58 encoding format. I've read about btc addresses, how it's generated, how hashing works yet I haven't found the answer to the above question
Read this page too: https://www.oreilly.com/library/view/mastering-bitcoin-2nd/9781491954379/ch04.htmlTo add extra security against typos or transcription errors, Base58Check is a Base58 encoding format, frequently used in bitcoin, which has a built-in error-checking code. The checksum is an additional four bytes added to the end of the data that is being encoded. The checksum is derived from the hash of the encoded data and can therefore be used to detect and prevent transcription and typing errors.
...we compute the “double-SHA” checksum, meaning we apply the SHA256 hash-algorithm twice on the previous result (prefix and data):
checksum = SHA256(SHA256(prefix+data)) From the resulting 32-byte hash (hash-of-a-hash), we take only the first four bytes. These four bytes serve as the error-checking code, or checksum. The checksum is concatenated (appended) to the end.
|
|
|
|
shlomogold
Jr. Member
Offline
Activity: 75
Merit: 2
|
|
June 13, 2020, 10:40:14 PM |
|
It is a nicely written article, very detailed and easy to understand. Thank you arulbero However, it didn't answer my question why one combination is valid while the other is not. And how was that bitcoin eater address found, did people just typed various combinations into the blockchain explorer until they found it or is there another approach?
|
|
|
|
MrFreeDragon
|
|
June 14, 2020, 12:41:08 AM |
|
It is a nicely written article, very detailed and easy to understand. Thank you arulbero However, it didn't answer my question why one combination is valid while the other is not. And how was that bitcoin eater address found, did people just typed various combinations into the blockchain explorer until they found it or is there another approach?
The reason is that the last 4 bytes is always checksum, and could not be random. If you want to play with base58 conversions, you can use https://brainwalletx.github.io/#converterFor example, convert your example address "1BitcoinEaterAddressDontSendf59kuE" from Base58 to hex, and you will receive: 00759d6677091e973b9e9d99f19c68fbf43e3f05f9 5eabd8a1 - the last 4 bytes here (marked in bold) is checksum. You can also use B58Check as the source for conversion, and receive hex result without checksum and version: 759d6677091e973b9e9d99f19c68fbf43e3f05f9Now, let's "play" and input 759d6677091e973b9e9d99f19c68fbf43e3f05f8 as the source HEX (we changed the last symbol only), and convert it to B58Check. We receive another address: 1BitcoinEaterAddressDontSend XbTwCRSo, for learning purposes you can try to make different conversions with that tool from/to base58/hex.
|
|
|
|
nc50lc
Legendary
Offline
Activity: 2534
Merit: 6087
Self-proclaimed Genius
|
|
June 14, 2020, 02:02:28 AM |
|
-snip- And how was that bitcoin eater address found, did people just typed various combinations into the blockchain explorer until they found it or is there another approach?
People must have used a tool or script to create a so-called " Proof-of-Burn" address. Those tools are designed to compute the checksum and the preferred remaining characters of your prefix. Here's one example of Proof-of-Burn tool: https://gobittest.appspot.com/ProofOfBurn ( wont work for long prefixes)
For the " combination", there's a checksum like they explained. And the checksum is what makes addresses safe from typo errors just like when you changed one character of 1BitcoinEaterAddressDontSendf59kuE Here's an easy understandable and reproducible example: ( let's use 1BitcoinEatenAddressDontSendaBQGRD) - 1. Address: 1BitcoinEatenAddressDontSendaBQGRD
- 2. Base58 decode: 00759d6677091e973b7e390bf4ba0d30280f5e3abfa8c70cf0
- 3. Remove the checksum: 00759d6677091e973b7e390bf4ba0d30280f5e3abf
- 4. SHA256 of the above: d820699ba4bf3c9ecf058677b48e6de5c8fb1a978cb837172dc0f14d181a5478
- 5. SHA256 of the above: a8c70cf092774dccafc0ba609ada689a9be1d579e18af6aeee25d32f46272e41
- 6. Compare the checksum and first 4bytes of the above: a8c70cf0 = a8c70cf0
As you can see, any character from the address can't be changed without changing the last 4 bytes which is a SHA256d of the Base58 encoded data. If you change at least one character, the checksum wont match that will make the address invalid. If you use 1BitcoinEate nAddressDontSendf59kuE like your example, the checksum will not match. - 1. Address: 1BitcoinEatenAddressDontSendf59kuE
- 2. Base58 decode: 00759d6677091e973b7e390bf4ba0d30280f5e3ac0682bd8a1
- 3. Remove the checksum: 00759d6677091e973b7e390bf4ba0d30280f5e3ac0
- 4. SHA256 of the above: fd7041a06bc30e9863de29ba2ea126d5db8fd0b2031160ff0becd23e0e912eec
- 5. SHA256 of the above: 71f7e0262d59454339013c08b5768ab0d8ccb203fe144d23ef02f4fef41a616e
- 6. Compare the checksum and first 4bytes of the above: 71f7e026 ≠ 682bd8a1
In this case, the address is invalid.
|
|
|
|
GoVanza
Newbie
Offline
Activity: 149
Merit: 0
|
|
June 15, 2020, 08:32:37 AM |
|
Dear Jean Luc, please do a search --keyspace. You are a real programmer. You can do it. I ask you to. Hope to find the key with the program BitCrack lost((( Want to find the address from the puzzle...
|
|
|
|
|
PrivatePerson
Member
Offline
Activity: 174
Merit: 12
|
|
June 15, 2020, 04:01:07 PM |
|
Dear Jean Luc, please do a search --keyspace. You are a real programmer. You can do it. I ask you to. Hope to find the key with the program BitCrack lost((( Want to find the address from the puzzle... Doesn't this utility do that? https://bitcointalk.org/index.php?topic=5244940.0
|
|
|
|
|
shlomogold
Jr. Member
Offline
Activity: 75
Merit: 2
|
|
June 17, 2020, 06:12:00 PM |
|
Dear Jean Luc, please do a search --keyspace. You are a real programmer. You can do it. I ask you to. Hope to find the key with the program BitCrack lost((( Want to find the address from the puzzle... Doesn't this utility do that? https://bitcointalk.org/index.php?topic=5244940.0I'm still struggling to understand what exactly does this program do. Have read the thread, it only created more confusion especially with those kangaroos. Could anyone please explain it in a nutshell, what it's for?
|
|
|
|
math09183
Member
Offline
Activity: 170
Merit: 58
|
|
June 17, 2020, 07:07:00 PM |
|
Dear Jean Luc, please do a search --keyspace. You are a real programmer. You can do it. I ask you to. Hope to find the key with the program BitCrack lost((( Want to find the address from the puzzle... Doesn't this utility do that? https://bitcointalk.org/index.php?topic=5244940.0I'm still struggling to understand what exactly does this program do. Have read the thread, it only created more confusion especially with those kangaroos. Could anyone please explain it in a nutshell, what it's for? To generate key for address with a given prefix. You may use it if you want to have a bitcoin address which starts with 1Shlomo ;-)
|
|
|
|
shlomogold
Jr. Member
Offline
Activity: 75
Merit: 2
|
|
June 17, 2020, 08:55:33 PM |
|
Dear Jean Luc, please do a search --keyspace. You are a real programmer. You can do it. I ask you to. Hope to find the key with the program BitCrack lost((( Want to find the address from the puzzle... Doesn't this utility do that? https://bitcointalk.org/index.php?topic=5244940.0I'm still struggling to understand what exactly does this program do. Have read the thread, it only created more confusion especially with those kangaroos. Could anyone please explain it in a nutshell, what it's for? To generate key for address with a given prefix. You may use it if you want to have a bitcoin address which starts with 1Shlomo ;-) isn't what we use VanitySearch for? Or by 'to generate key for address' you mean to generate private key for a given address?
|
|
|
|
math09183
Member
Offline
Activity: 170
Merit: 58
|
|
June 18, 2020, 07:00:28 AM |
|
isn't what we use VanitySearch for? Or by 'to generate key for address' you mean to generate private key for a given address?
Aaa, you mean Kangaroo program by Jean Luc? It is just an another approach to find private key which generates given address. Recently the discussion in the topic is mostly theoretical, how to improve algorithm. On github of this project Jean Luc mentioned some documents/papers which you may want to read to learn more about this way of solving problem.
|
|
|
|
WanderingPhilospher
Full Member
Offline
Activity: 1148
Merit: 237
Shooters Shoot...
|
|
June 19, 2020, 04:06:10 AM |
|
part 3 of private_to_address.py: -snip-
Your script works fine with random numbers, but not with all numbers. You should add some check and do not perform inverse for zero - it immediately lead to mistake. Try for example to calculate address for private key 1,2,3,4,... or 13, or 2^109 or 2^110 or for number 1298074214633706907135958430033862 - it will not work for these numbers. There a lot of other numbers the script will not work. leads to this error: invb = inv(b5*b6,p) ZeroDivisionError: invert() no inverse exists I know, that function is not perfect. I have just fixed some (not all) errors. If you need a correct function replace mul2G with mulG: def mulG(d): # d -> d*G
dax, day = 0, 0 r = d%16 if (r > 0): rr = 2*r-1 #dax, day = ax, ay #solo se d e' dispari dax, day = G[rr-1], G[rr] q = d>>4 i = 30 #2*(16-1) while q > 0: #ax, ay = double(ax,ay) #ax, ay = G[i], G[i+1] r = q%16 rr = 2*r+i-1 if (r > dax): #puo' succedere solo se dax = 0 e r > 0 cioe' la prima volta dax, day = G[rr-1], G[rr] #solo se d e' pari elif (r): dax, day = add(G[rr-1], G[rr], dax, day) q = q>>4 i = i + 30 return dax, day
@arulbero unlock your PMs please.
|
|
|
|
|