iancoleman / bip39

A web tool for converting BIP39 mnemonic codes
https://iancoleman.io/bip39/
MIT License
3.41k stars 1.42k forks source link

SLIP39 with Ledger: warning not to backup BIP39 entropy? #608

Open AnonymousAard opened 1 year ago

AnonymousAard commented 1 year ago

As a Ledger owner wanting the benefits of SLIP39, is there any particular reason not to:

I appreciate the documentation warns of not backing up the entropy as it is unreliable, and instead to use the mnemonic, and I am wondering if this is just because human errors are more likely when transcribing mnemonics or if there is another reason not to use what seems like an interoperable solution?

wigy-opensource-developer commented 1 year ago

The Trezor wallet (and the SLIP39 Satoshilabs standard) implements SLIP39 in a way that is incompatible with your process. That is the warning about mainly.

In general, SLIP39 is a pretty good standard, but by design it is impossible to have both a BIP39 phrase and SLIP39 shares for the same BIP39 seed or BIP32 root key, because you would need reverse some hashing trying to go either from BIP39 or SLIP39 to the other.

What you do is a perfectly valid custom process though, but be sure you destroy the BIP39 phrase and you do all steps on an offline machine that is wiped before going online ever again.

AnonymousAard commented 1 year ago

The Trezor wallet (and the SLIP39 Satoshilabs standard) implements SLIP39 in a way that is incompatible with your process. That is the warning about mainly.

In general, SLIP39 is a pretty good standard, but by design it is impossible to have both a BIP39 phrase and SLIP39 shares for the same BIP39 seed or BIP32 root key, because you would need reverse some hashing trying to go either from BIP39 or SLIP39 to the other.

What you do is a perfectly valid custom process though, but be sure you destroy the BIP39 phrase and you do all steps on an offline machine that is wiped before going online ever again.

Thank you for the input.

I have also been discussing this over on reddit with Crypto-Guide who made a video about Ian's program. He has raised the issue of how a passphrase cannot be used with this process. I did try inputting a passphrase to the BIP39 and SLIP39 pages but it seems there is no way to include one unless I am mistaken.

https://www.reddit.com/r/TREZOR/comments/vr44ds/slip39_solution_for_future_trezor_owner_current/

The barrier to this process now is that without a passphrase the hardware wallet will be vulnerable to glitching attacks. I could store the passphrase with each of the 3 SLIP39 shares but it seems like there must be a better way to do this.