I wanted to know, is it possible to create a Shamir backup on an existing seed?
Let’s say I have a seed on another hardware wallet and I want to migrate to Trezor and apply the best security practices I can including the Shamir back up and destroy the seed afterward.
So instead of having a single seed that can be stolen/destroyed, etc… I want to have multiple private keys that I can distribute in multiple places.
If it’s not possible, is it possible to create a new Shamir backup and get the seed from Trezor in order to restore on another hardware wallet that does not support Shamir backup?
I can use trezorctl interface or the ui interface.
it’s not possible to change existing single seed to Shamir. Shamir even uses different words. Feel free to read more on Shamir: Shamir Backup - Trezor Wiki.
Since Shamir backup is new thing, most of the wallet don’t support it yet. Cobo Vault has implemented it already and I am sure other wallet providers will follow.
It is possible for Trezor to support this but I think the real answer is they don’t want to. SLIP39 and BIP39 both have deterministic words when derived from the same entropy. So the trick is to convert SLIP39 to it’s original entropy and then derive BIP39 words, or vice versa. Use Ian Colmans tools to do this conversion. It goes without saying, USE AN AIR-GAPPED COMPUTER BEFORE ENTERING SEED WORDS. Sovereign Money on Youtube does a good job describing the steps. That said, I’d buy a Trezor to safely convert SLIP39/BIP39 offline. Trezor: Please consider supporting.
Specification for backing up BIP-0032 Hierarchical Deterministic Wallets
SLIP-0039 can be used to back up any master secret S which satisfies the length constraints described above. However, any application implementing SLIP-0039 for backing up a BIP-0032 Hierarchical Deterministic Wallet MUST use the BIP-0032 master seed as the SLIP-0039 master secret S. To clarify, this is the initial generated seed byte sequence of 128-512 bits, which is used as the input to HMAC-SHA512 for deriving the BIP-0032 master node.
This specification is required to ensure that SLIP-0039 backups created in one wallet can be restored in any other wallet that implements SLIP-0039.
SLIP-39 was designed to back up wallets, NOT BIP-39 seeds.
Admittedly, “backing up a BIP-39 seed via Shamir” is a thing that a lot of people want. It is not what SLIP-39 does however. And if you do it, it’s no longer SLIP-39 but some other standard.
Excellent reply, thank you. Can I give Trezor the entropy to create the SLIP39? This would allow me to have a second source for SLIP39 creation and restore through Ian Coleman’s tools. It’s difficult to adopt SLIP39 when there is only one vendor supporting it.
SLIP39 is fully reversible so if you load your Trezor-generated SLIP39 seed into iancoleman tools, you are getting back the original entropy. Not sure what you are trying to achieve though…?
Multiple vendors support SLIP39 – for example, MetaMask, Wasabi Wallet, and the shares are recoverable in Electrum.
On the hardware side, Keystone supports SLIP39, although their implementation is unfortunately not compatible at the moment due to a stalled PR; still, you could generate your shares on a Keystone and import them into Trezor.