Temporary custodial wallets for public Blockchain applications
While smart contract wallets have succeeded in their mission to reconcile good user experience and security, much still remains to be done in order to mitigate shortcomings of proprietary solutions.
The boom of smart contract wallets
In just a few months, a significant number of smart contract wallet projects arose and proved to some extent their superiority over traditional key management solutions (most notorious initiatives include Dapper, Gnosis Safe, Argent and Authereum).
As expected, they indeed often bring together the best of two worlds :
- Like custodial wallets, they are easy to use.
- Like non-custodial wallets, they are secure, fulfilling original visions and needs in regards to key management and sovereignty.
But this fusion of designs came at the price of a few concessions :
- Different solutions were provided to specific issues, sometimes introducing new dependencies to third parties. That can easily be the case when the experience goes so far as to include free ENS registration or gas relays.
- Although identity smart contracts are the focus of several EIPs and discussions, various uses are made of these specifications, often neglecting the standardization effort.
Overall, with the effort now mostly focusing on their integration in web browsers, there is very little doubt that these new kinds of wallets are here to stay and that they will follow the emergence of decentralized identities.
When Blockchain Partner developed Tim, an application supporting business transformation through exchange of tokens, we looked for the key management solution that would best fit our corporate clients’ needs today and open the door to usages of decentralized identities tomorrow. We rapidly faced common limitations of proprietary systems mentioned above, which often narrow the scope of wallets’ usage and their interoperability. Therefore we chose to develop our own solution, following latest EIP specifications, and to internally initiate a discussion on the future and inherent risks of smart contract wallets.
A solution today, ready for the non-custodial world of tomorrow
With our current business requirements at Blockchain Partner, we consider that non-custodial wallets are not ready yet for all of our clients. We may reach that stage sooner than expected but for the time being we cannot provide them with full confidence a solution that is secure, which UX is not cumbersome to novice users, and which does not require troublesome setup or signing up to external services.
The design we finally came to combines in the form of a single light contract the functions of a proxy contract and of a simple key manager.
Our clients are represented on-chain by decentralized wallets which our company keeps control over, through a management key, while the final user constantly creates ephemeral keys which are sequentially accepted and revoked on the blockchain as action keys. Whatever his device, once successfully authenticated by our API, a user can create and submit a new action key, giving him access to his own unique decentralized identity. All of these actions are of course openly stored and traced on the global ledger.
We also think that the level of security of these keys, generated in the user’s web browser and stored on the client side, cannot be considered higher than the one of traditional tokens. That is the reason why we consider them as short-lived keys and revoke them on-chain shortly after use.
Once it is settled that a non-custodial key management solution exists that is fully compliant with the needs of our corporate clients, changing the management key of the smart contract wallets will be enough to grant full control to users over the decentralized identities.
The process is thus kept simple and transparent to all applications built around existing identities.
Help newcomers make the right decision
Naturally, key management and broadcasting of transactions will in the end probably not be fully non-custodial and decentralized. Tools like off-chain fraud detection offer a real service for instance, and ignoring them for the sake of full decentralization would be a mistake.
However, with the multiplication of smart contract wallets, DApp creators are facing new challenges. It is therefore essential to continue the effort to find non-custodial alternatives to services relying on third parties, particularly with regards to key recovery. It may also be time to build a flexible framework for application developers to make the most of smart contract wallets by easily designing the solution best suited to their needs.
As the legitimacy of smart contract wallets is established and the use of decentralized identities is expanding, technical choices made today could have long-term consequences. It is thus crucial to discuss them collectively and not prematurely hand over control to third parties.
Icons made by DinosoftLabs, Freepik, Icomoon, Pixel Buddha, RoundIcons and SmashIcons from www.flaticon.com.