Recovery Key

Recovering the account access when the user loses devices

If a user only has device keys, there's no way to access the account if these devices are all lost. To prevent such a situation, Hyphen provides a secondary recovery method called a Recovery Key. For more information and an explanation of why this was introduced, please refer to the "Recovering an Account" section in the Hyphen Mechanism Paper.

Recovery Key is a backup key used in the case when the user loses access to the account. It’s stored on the user's side (e.g. user's own cloud storage) so the user can access it anytime. Using the recovery key and the server key, a user can send the transaction to register a new device.

Cloud Key

The key is stored in the user's cloud. This is a method commonly used by many Crypto Wallets. It is very convenient in terms of UX as the integration is complete with the press of a button. Although there is a downside that if the user's cloud is hacked, it is also compromised, the Cloud Key in Hyphen is just one of the multisig keys, so it is safe.

On iOS, we use iCloud Keychain, and on Android, we use the Google ID Platform (Blockstore).

Email / SMS Key (Coming Soon)

The key is stored on the app server. Like the password recovery in conventional Web2, it can be recovered through email verification or SMS verification. If the app implements an Email / SMS verification API according to Hyphen standards, the user directly sends an Email / SMS recovery request to the app. The app then recovers the user's account with the stored recovery key.

Q. Why does the key is stored on the app's server, instead of the Hyphen Server? For the checks and balances of the multi-sig account. If the Hyphen server stores the recovery key or handles the recovery process, we would end up having two keys, possessing the threat of taking over the control of the user's account.

Custom Recovery Method (Coming Soon)

Apps can implement their own recovery methods. After creating a recovery key and directly storing it on the app server, when a user requests account recovery, Hyphen requests a recovery key signature from the app server through a Webhook.

Last updated

Was this helpful?