Post
Topic
Board Bitcoin Technical Support
Re: Every wallet address has just one private key which can be generated again?
by
HeRetiK
on 17/06/2018, 09:37:30 UTC
[...]

There are many people work on resolving and emptying the used wallets.

Especially they claim that addresses which start with "1" and addresses generated with secret words (thus brain wallet) are not secure at all. I'm not familiar with the details that much but this seems dangerous to me, because almost every system generates addresses using brain wallet method with 7-8 words. This makes the most addresses weak. There are really good DEFCON briefs in youtube about this subject if anyone is interested.

Not quite. Addresses starting with "1" merely indicate P2PKH (Pay-to-PubkeyHash) addresses [1], the format used for single-sig, pre-SegWit addresses.

[1] https://en.bitcoin.it/wiki/Address


Brain wallets are a type of address that in which the private key is directly derived from a secret word or phrase. Their insecurity stems from people's inherent disability to generate and remember phrases that are random and long enough as to outwit automatized approaches. Brain wallets are usually P2PKH addresses because most of them were generated long before SegWit. In theory one should be able to generate a SegWit P2SH or Bech32 as well, meaning the address type has little to do with whether the corresponding private key is generated randomly or within a human mind.

They are not to be confused with the seed words used by HD wallets [2], based on the BIP-0039 wordlist [3]. For this standard most wallets use 24 words and upwards, which should be sufficiently secure for the foreseeable future.

[2] https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki
[3] https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md


Okay, this is something new to me. I only thought there were private keys. What are these public keys?

Read up on public-key cryptocgraphy, also known as asymetric cryptography:

https://en.wikipedia.org/wiki/Public-key_cryptography

TLDR; For cryptocurrencies this means that public keys are what enables people to verify people's coins while not being able to steal them.