v0.1.5-beta
Minibits comes with seed-based backup, that allows you (in cooperation with the mint) to recover your ecash balance in case of device loss.
How does the recovery work if the mint does not keep any context for particular wallet? Wizardery is achieved via ecash (blinded messages) created using so called deterministic secrets - where normal ecash uses random secret to be created by the wallet and (after blinding) sent to the mint that signs it, in this case, ecash secret is created using special derivation path that includes serial index incremented for each ecash note.
In case of device loss, new wallet is able to pre-generate bulks of ecash notes and provide them as blinded messages to the mint. If the mint tracks the same notes as issued, it re-signs the messages and returns them back to the wallet, that allows the wallet to effectively recreate lost ecash balance.
Find the detailed description here: https://det-sec.gandlaf.com/
How to backup?
Go to Settings > Backup and Restore > Off-device backup and copy the 12 words mnemonic and save it outside of the device.
What are the limitations?
After upgrade, existing balance is NOT automatically backed up (as it was created using random secrets). To kick-off the backup, existing balance needs to be sent and received. Easiest way is to send/share ecash, copy the generated token and then receive it immediately by pasting back to the same wallet.
Working backup is apparent by going to Settings > Manage mints and tap on any mint. At the bottom of the shown modal windw, Current recovery index is shown and should have above zero value.
How to test the recovery?
- Test only with low amounts or with your own mint
- Copy the 12 words mnemonic and existing mints URLs
- Factory reset existing wallet (Settings > Developer options > Factory reset)
- Start the wallet again and after intro slides, choose Wallet recovery
- Paste the mnemonic, add mint(s) URLs to recover from and Start recovery. You will see the progress and any recovered balance. In case of wallets with longer history, repeat the recovery for higer recovery index intervals to get to unspent ecash.
- Try to send and received recovered ecash. If you'll get errors, please turn on logging in Privacy settings and set log level to debug in Developer options and replay the transaction leading to the error + raise an issue on Minibits Github https://github.com/minibits-cash/minibits_wallet
What are the limitations?
Recovery currently works only for keysets currently used by the mint, not for the past ones rolled out by the mint. This will be implemented later.