Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: hugeblack on January 25, 2018, 06:42:53 PM



Title: mnemonic seed
Post by: hugeblack on January 25, 2018, 06:42:53 PM
I'm trying to fill a few gaps in my understanding mnemonic seed.

I know private key like a "ticket" allows you to spend bitcoins. bitcoins are stored on the blockchain (Node computers) not on bitcoin clients.
you can use spend your bitcoins without download the entire blockchain (BIP32 hierarchical wallet) only need a private key or mnemonic seed.
why "Generally a mnemonic phrase only works with the same wallet software that created it."[1] (https://en.bitcoin.it/wiki/Mnemonic_phrase) and not like a private key?


Title: Re: mnemonic seed
Post by: DannyHamilton on January 25, 2018, 06:46:45 PM
why "Generally a mnemonic phrase only works with the same wallet software that created it."[1] (https://en.bitcoin.it/wiki/Mnemonic_phrase) and not like a private key?

A mnemonic phrase is generated by using an algorithm to convert a key (or sequence of keys) into a phrase.

Any wallet can implement their own algorithm for doing so.  Therefore, the algorithm used in one wallet may not be the same as an algorithm used by another wallet.

If you try to import a mnemonic phrase into a wallet that isn't using the same algorithm as the wallet that created the mnemonic phrase, then it won't convert back to the correct key (or set of keys).


Title: Re: mnemonic seed
Post by: AdolfinWolf on January 25, 2018, 09:33:42 PM
why "Generally a mnemonic phrase only works with the same wallet software that created it."[1] (https://en.bitcoin.it/wiki/Mnemonic_phrase) and not like a private key?

A mnemonic phrase is generated by using an algorithm to convert a key (or sequence of keys) into a phrase.

Any wallet can implement their own algorithm for doing so.  Therefore, the algorithm used in one wallet may not be the same as an algorithm used by another wallet.

If you try to import a mnemonic phrase into a wallet that isn't using the same algorithm as the wallet that created the mnemonic phrase, then it won't convert back to the correct key (or set of keys).
1. The server does not store the 12 word, right? how it can compare and make sure of decryption.

2. Since I can transfer the 12 words from blockchain.info wallet to Electrum [example (https://bitcoin.stackexchange.com/questions/66601/how-can-i-migrate-from-blockchain-wallet-to-electrum)]Why there is no uniform coding system "algorithm"?



1. No. Wallets like Electrum do not know your seed, or private keys. One way of knowing would be that you can create a wallet offline, and i believe that you can also import a seed while you're offline.
Electrum is open-source, so if you're skeptical check it out here, https://github.com/spesmilo/electrum


Quote
how it can compare and make sure of decryption.

I don't understand what you mean by this.

2. Because there have been different derivation methods implemented over the years due to them having advantages over others, hence why certain applications use certain derivation paths.

You should see it as a "3rd party" implementation. Seeds aren't required per se by the bitcoin "protocol" to for example make  a transaction, therefore there isn't any reason for them to all be implemented the same, unlike public keys etc..

Some of the more popular BIPS for HD / Mnemonic wallets, https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki, https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki, https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki




Title: Re: mnemonic seed
Post by: DannyHamilton on January 25, 2018, 10:08:24 PM
1. The server does not store the 12 word, right?

What server?

We are talking about mnemonic phrases for wallets.  The wallet software that generated the seed knows the algorithm, and therefore knows how to convert the phrase into a key or set of keys.

how it can compare and make sure of decryption.

What decryption?  Transactions are not generally encrypted. The blockchain is not generally encrypted.  The mnemonic phrase is not generally given to you in an encrypted form.

2. Since I can transfer the 12 words from blockchain.info wallet to Electrum

This is because the developers of Electrum know what algorithm blockchain.info is using, and they have decided to implement that algorithm as an option that you can use in Electrum if you want to.  However, the developers of Electrum didn't need to implment that algorithm if they didn't want to. This was a choice made by those developers.


Why there is no uniform coding system "algorithm"?

Because there is no Bitcoin Company to enforce any rules.  Anybody can write any software they want, and you can't stop them.