Hello SAFE DAO community! I am David, a builder of ownable and decentralized off-chain systems using Autonolas. For relevant context, the Autonolas DAO is a Safe guardian and Autonolas tech makes heavy use of Safes.
Today I would like to hear from the community if there is an appetite for a hybrid-custody solution that I have in mind. The basic idea of this self-custody solution is to be able to have full control over your digital assets (i.e. your secret key) and retain some fallback to allow for account recovery (in case you lose access to your signing device/wallet).
This hybrid-custody design that I would like to hear feedback on aims to serve retail crypto users, who in general:
- Want to have control of their crypto assets
- Do not want to give ownership to their assets to a centralized exchange
- Want to have some protection from key loss
- One of the signers can be a hardware key but it is optional
Proposed Hybrid-Custody Solution Features
We consider a retail user who is one of the signers of a Safe multisig (e.g. a DAO treasury manager) that wants extra protection on their individual signing key. We build on top of a Threshold Signing Scheme (TSS) with a 2-out of-3 threshold, as depicted in the accompanying diagram (for a Safe multisg user U_2 with address addr_2).
As shown in the diagram, the retail user owns a main device and a secondary device (e.g. smartphone app and PC browser extension respectively), and uses each device to store a key share. The retail user is willing to use a third-party custody provider who would provide the fallback functionality in case of loss of one of the key shares.
The workflow is as follows:
- The user opens an account at the custody provider
- The user authorizes the custody provider, the users’ smartphone and the users’ laptop to create a signing key. This could control, for example, an Ethereum address to be used as part of a Safe multisig.
- As a result of that, three private key shares are created (cf. diagram):
- S_C (stored at the custody provider)
- S_D (stored at the user’s smartphone)
- S_M (stored at the user’s PC browser)
- The user can confirm/execute Safe multisig transactions if it has access to both personal devices or if it has access to one their personal devices and the custody provider
- If the user loses one device, they can transfer the funds to a new ETH address and their individual address needs to be updated in the Safe multisig
What is beautiful about this is that all of the above, even if it requires coordination among several parties, can be achieved asynchronously, i.e.l the devices/custodian do not need to be online at the same time. More concretely, by leveraging Autonolas technology, an autonomous service:
- Coordinates the parties in the TSS key generation phase
- Makes the TSS key generation and signing phases asynchronous
- Coordinates the parties in the transaction approval process (although the user can sign w/o using the service by establishing a secure connection between their signing devices)
One could envision the above workflow being displayed and operated from the user’s side from a single website, with integration with the custodian (similar to the Safe Webapp).
Call to Action
I would love to hear from you if you find this interesting, or if you have any questions.