keybase / warpwallet

A brain wallet generator that uses scrypt.
BSD 3-Clause "New" or "Revised" License
187 stars 61 forks source link

BIP39 Mnemonic addition #37

Open gallizoltan opened 5 years ago

gallizoltan commented 5 years ago

Generate BIP39 compatible word list suitable for import into HD wallets.

gallizoltan commented 5 years ago

I personally would like to see this (or something similar) merged because

  1. I think there would be a demand for it.
  2. Another brain wallet with BIP39 mnemonic is already available, but it uses only a single SHA-256 hash for seed generation, which can be dangerous. This could provide a safer alternative.

@maxtaco please let me know what you think about this!

dabura667 commented 5 years ago

As I said in the other thread.

24 words gives no benefit over 12 words in this case.

Read my messages in the other thread.

dabura667 commented 5 years ago

also. don't commit node_modules folder.

TechyShishy commented 5 years ago

While I very much want to see either this or #22 in place, the commit graph for this pull request and therefore the changelist makes it difficult to follow the actual changeset. Can this be rebased or otherwise rebuilt into more coherent segments before being pulled?

gallizoltan commented 5 years ago

@dabura667 Ledger uses a 24 words recovery phrase. And all wallet who want to be compatible with Ledger has to accept 24 words. Ledger, Trezor, Mycelium, Bither, Coinomi, MyEtherWallet, MyCrypto, Electrum: these are all good with 24 words.That is why I would like to use 24 words too.

The node_modules is already included in the repo since 'release 1.0.9'. I thought it is a conscious design decision to include all vendor dependencies, and I just followed that. Although I am aware of issue #32 which asks for node_modules removal.

gallizoltan commented 5 years ago

@Shishire You are right, I will do a rebase to make this changeset more transparent. Thank you, stay tuned!

gallizoltan commented 5 years ago

The node_modules related changes are removed. Commit graph and changeset is now tighter and cleaner.

dabura667 commented 5 years ago

every one of those wallets is also good with 12 words. and most of them generate 12 words by default.

"because Ledger does it" is a weak argument.

Using 24 words has only demerits in the context of warp wallet when compared to 12 words.

gallizoltan commented 5 years ago

In this context it is irrelevant if these wallets generate 12-word passphrase by default. Because we would like to generate the passphrase with WarpWallet and the relevant point is: all of these wallets can accept 24 words. The only demerit with 24 words is you have to enter 24 words at wallet setup. Only once. But in this concept you don't have to memorize or write down these words, because these are deterministically generated by WarpWallet. So there is no other disadvantage of a longer word list.