What are smart contract wallets?
Smart contract wallets are self-executing, scripted agreements that automatically enforce the terms of the agreement, providing users with more power and security than traditional wallets.
Smart contract wallets are considered decentralized applications (DApps) as they are built on a blockchain and enable users to manage their digital assets using smart contract technology. These wallets provide users a means to keep crypto assets in self-custody. Moreover, they facilitate functions like bundled transactions, the ability to pay gas fees in a different token, customizable recovery options and more.
Advantages smart contract wallets bring in include:
Better security
To prevent asset theft or unauthorized access, smart contract wallets use encryption methods and blockchain technology. The wallet securely stores and encrypts the user’s private key, making it much more difficult for hackers to access the user’s funds.
Transparency
All transactions and smart contract codes live on the blockchain, which results in transparency. For example, a user can look through their transaction history on the block explorer to verify the veracity of their wallet’s records if they suspect fraudulent behavior.
Decentralization
Thanks to decentralization, smart contract wallets reduce their susceptibility to censorship and single points of failure.
Customizable features
Smart contracts empower users with customizable features, such as spending limitations, multisignature transactions and programmable rules, tailoring the control of digital assets to individual needs.
What are the use cases of smart contract wallets?
Smart contract wallets enhance the functionality of Web3 ecosystem in several ways, such as access to DeFi services, decentralized identity, asset management, voting systems and more.
Smart contract wallets can be used for a range of purposes, including quick payments, lending, trading tokens, supplying liquidity, interacting with DApps and integrating with decentralized exchanges. Here are a few use cases of smart contract wallets:
Access to DeFi services
An integration feature in smart contract wallets enables users to access a variety of decentralized finance (DeFi) platforms right from their wallets. Users can engage in DeFi activities like lending and asset borrowing without depending on conventional financial institutions. Moreover, users can interact with DeFi services by connecting their smart contract wallet to these platforms.
Decentralized identity
Smart contract wallets can be an integral part of decentralized identity systems. By keeping their data inside a smart contract, people have more control over what they can do with it and how accessible it is, reducing the possibility of identity theft while retaining privacy.
Secure asset management
Features such as multisig and configurable access controls make smart contract wallets the solution for people and organizations to manage their digital assets securely. For example, a business could improve the security of its digital assets by using a smart contract wallet to limit access to only authorized staff.
Collaborative decision-making
Organizations or groups can use smart contract wallets to ensure that spending decisions are taken collectively. A nonprofit organization might, for instance, use a multisig smart contract wallet for releasing cash. The wallet will require several board members’ consent before releasing cash, making the process (and the underlying stakeholders) more accountable.
Voting systems
Using smart contract wallets can make the voting process much more transparent and efficient. Each smart contract would reflect one vote. Tracking the voting process on a distributed ledger helps maintain election integrity and thwarts attempts at manipulation.
What is the role of multisignature smart contracts in Web3?
Multisig wallets require the approval of multiple people to perform an action. They ensure that actions are taken with the consent of a majority of signatories.
A multisig, or multisignature smart contract wallet, requires approval from several signatories to proceed with a transaction. The wallet uses the “m-of-n” signatures principle, meaning that for a transaction to be approved, m out of the designated n signatories need to consent. The use of multisignature methods adds an extra security layer to the wallet, strengthening its resistance to hacks.
The value n represents the total number of selected signatories. Each signature has their own unique private key. As the n value increases, the wallet gets more distributed and securer. The value m stands for the bare minimum of signatures needed in order to authorize a transaction.
An example will help us understand better how a multisig wallet functions. In a 3-of-4 multisig wallet, there will be four signatories (n = 4), and the execution of a transaction will require the approval of at least three of them (m = 3).
How does ERC-4337 enhance the functioning of smart contract wallets?
ERC-4337 brings an account abstraction approach that eliminates the link to externally owned accounts (EOAs) and facilitates more creative and user-friendly designs.
Prior to ERC-4337, smart contract wallets often faced limitations. They would sometimes interact with EOAs, which still involved private key management and could require centralized relayers to execute transactions. Blockchain relayers are third-party services that help data move and communicate across various blockchain networks. This reliance on external entities was a concern for projects striving for complete decentralization.
ERC-4337 is an account abstraction approach that allows one to use smart contracts as their primary accounts and does away with centralized relayers, EOAs or private keys. Thanks to ERC-4337, wallets can adopt more creative and user-friendly designs. It enables developers to integrate wallets with advanced features such as automatic payments, unique wallet recovery techniques and multi-factor authentication. These wallets are securer, more user-friendly and more versatile.
Smart contract wallets vs. regular wallets
The difference between a regular wallet and a smart contract wallet lies in their functionality and objectives.
A regular or external Ethereum wallet enables users to store, manage and interact with their digital assets on the Ethereum blockchain. These digital assets might include Ether (ETH), the native cryptocurrency of Ethereum, and other ERC-20 tokens. To allow users to access and manage their funds, each wallet generates a unique public address and a corresponding private key or seed phrase. With these wallets, one can perform essential tasks such as sending and receiving Ethereum Virtual Machine (EVM)-compatible tokens and tracking transaction history.
A smart contract wallet, on the other hand, is a programmable wallet that facilitates more automation and complex interactions. It enables users to implement two-factor authentication (2FA) (add an extra layer of protection for funds), sign transactions on a phone, set monthly spending limits, generate session keys (temporary encryption keys used for a single session or transaction) to play blockchain games without constant transaction approvals, automate bill payments, decentralized wallet recovery, and more.
What are the risks and considerations associated with smart contract wallets?
One requires an advanced level of technical knowledge to develop smart contract wallets. They must also be cautious of human error resulting in an irreversible transaction to a wrong address.
Like all technologies, smart contract wallets, too, have their share of potential drawbacks:
Programming complexity
Developing and maintaining smart contract wallets is a complex task, requiring developers to have advanced technical knowledge. Any loophole in the back end will give bad actors the space to sneak in.
Non-reversible transactions
Though automation is a core feature of smart contract wallets, vulnerabilities or mistakes in the program could lead to unintentional losses or transfers, which are irreversible.
Early phase technology
The technology behind smart contract wallets is still evolving. To be able to use smart contract wallets efficiently, one needs to be on top of recent developments.
Human error
Sophisticated smart contract wallets require precise programming. There is always a chance of human error, resulting in vulnerabilities.