1.
Why is the total count different between total bitcoin address(2^160) and 12 phrase(2^132)? The phrase to address relationship is not 1:1... as pooya87 explained, the phrases encode a specific entropy value + checksum... from this entropy, a seed is derived... from that seed, you can derive (unlimited) addresses via derivation paths etc.
2.
BIP 39 : abandon > 1
Bitcoin Address 'abandon(1) abandon(1) abandon(1) abandon(1) abandon(1) abandon(1) abandon(1) abandon(1) abandon(1) abandon(1)'
I thought I could restore the wallet with these 12 words. but it doesn't connect to a wallet.
The "first"
valid 12 word phrase is: abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about
The 12th word needs to be "about", so that the checksum matches.
Essentially, what you're trying to encode in this situation is the entropy: 0x00000000000000000000000000000000 (a 16 byte, 128 bit number)
The SHA256 of the
HEX entropy gives us:
374708fff7719dd5979ec875d56cd2286f6d3cf7ec317a3b25632aab28ec37bb
NOTE: enter 00000000000000000000000000000000 and select value as "HEX"
The number of checksum bits we use from the SHA256 is "Entropy Size (in bits) / 32"... our initial entropy is 128 bits... so 128 / 32 = 4...
The SHA256 in bits is:
0011011101000111000010001111111111110111011100011001110111010101100101111001111011001000011101011101010101101100110100100010100001101111011011010011110011110111111011000011000101111010001110110010010101100011001010101010101100101000111011000011011110111011
So, our checksum is the first four bits... or "0011"
Now, we have our original entropy (in binary bits), along with our 4 bit checksum (shown in
bold), which gives us:
0000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000011
When split into 11bit chunks and converted via the word list, we get:
00000000000 -> abandon
00000000000 -> abandon
00000000000 -> abandon
00000000000 -> abandon
00000000000 -> abandon
00000000000 -> abandon
00000000000 -> abandon
00000000000 -> abandon
00000000000 -> abandon
00000000000 -> abandon
00000000000 -> abandon
00000000011 -> about
So, you can't just pick 12 random words and hope that the checksum is correct... that is also NOT how wallets operate... they don't randomly pick words! Firstly, they randomly generate your initial entropy (128 bits for wallets that use 12 word seed mnemonics, 256 bits for 24 word seed mnemonics)... then they convert that entropy using
the basic steps as outlined in BIP39:
1. Calculate SHA256(entropy) to derive checksum bits
2. Concatenate entropy bits + checksum bits
3. Break in 11bit chunks
4. Convert 11bit chunks to words using BIP39 wordlist