What is an Ethereum Wallet?
In order to buy or hold Ether or any of the thousands of ERC-20 tokens circulating in the ecosystem, there needs to be a place to store it. For most, this occurs through what is known as a wallet.
In short, a wallet is an application that allows users to send, receive, and store crypto assets, including Ethereum.Wallets can take form in multiple ways, however, there are two main buckets that they tend to fall into: custodial and non-custodial wallets.
Custodial wallets are wallets that do not provide direct access or control to the private keys. Instead, a centralized company is responsible for keeping them safe. Centralized exchanges like Coinbase and Binance are some examples of custodial wallets. With that, the main advantage of a custodial wallet is the peace of mind that comes with the ability to recover the account in the instance that access is lost. Unfortunately, the downside to custodial wallets is that all funds are under the control of the underlying company, which incurs centralization risks and may require identity verification.
Non-custodial wallets grant the user full control over their funds by providing them with the wallet’s private key. Non-custodial wallets tend to provide higher security (if the private key is stored properly) and they typically don’t require identity verification. Most importantly, a non-custodial wallet gives the user censorship-resistant money.
Non-custodial wallets fall down when it comes to account recovery. While efforts are being made to make non-custodial wallets more user friendly, if a private key is lost it can rarely be recovered, meaning that all wallet funds are lost.
Given that decentralization is the core notion of Ethereum and blockchain technology at large, non-custodial wallets tend to be common practice for more experienced users. But, like anything, there’s always a time and place for custodial wallets and the benefits they provide, particularly for new users.
With that said, let’s dive into some of the precautions users can take to securely store Ether and other crypto assets.
- Enable Two-Factor Authentication (2FA): Setting up 2FA is one of the first things to do in order to maximize security in the short term, especially for custodial wallets. By enabling this, access to the wallet can only be granted after successfully presenting two pieces of evidence (usually a password and a numerical code sent to a mobile app like Google Authenticator). 2FA substantially mitigates the chances that an account will ever get hacked as the hacker would be required to have access to both the password and the phone.
- Unique Password: When setting up a crypto wallet, it is very important to use a unique password. That way, if any other accounts are compromised (like an email or a Facebook account), holders can rest assured that the money is still safe.
Securely Storing Private Keys
When using a non-custodial Ethereum wallet, securely storing private keys is vital to the security of the underlying holdings. It is highly recommended to not store the private key on an internet-connected computer or mobile phone. If either of those devices are compromised, a hacker will have an easy way of getting ahold of the wallet’s crypto assets.
Therefore, it is generally recommended to write down the private key (often provided as a “seed phrase”) on paper, have at least two backups, and store it in a secure place(s).
It is also important to periodically check up on the private keys to ensure that the paper is not degrading and that no damage has occurred due to weather, fire or natural disaster. Some individuals may also choose to store their seed phrase on an offline device in a safety deposit box.
Within the dichotomy of custodial and non-custodial Ether wallets, there’s a myriad of different wallet types in existence, ranging from hardware wallets to exchange wallets to the newest advancement in wallet innovation – smart contract wallets. All of these wallet types have their own benefits and drawbacks when using them to send, receive, and store digital assets.
Hardware wallets are a special type of wallet that stores the private keys on a secure, physical device. In essence, you can view hardware wallets as a fancy USB device that emphasizes security for storing Ether.
Generally speaking, hardware wallets are the most common wallet type for long term, secure storage for Ether and other crypto assets. Major advantages of hardware wallets over standard software wallets include:
- Dedicated protection within the microcontroller preventing private keys from being transferred out in plaintext
- Immunity to computer viruses that can easily steal private keys from software wallets
- A secure offline connection when interacting with the device.
With this in mind, accessing the Ether can be a bit more cumbersome when compared to mobile wallets and other wallet types. Therefore, hardware wallets are best used for long-term storage.
As one of the industry leaders in wallet security, the Trezor Model T is the second generation of the Trezor Wallet after debuting in 2014 with the Trezor Model One. The wallet allows for secure storage of Bitcoin, Ethereum and other altcoins. One of the biggest upgrades with the newer Model T is the shift away from physical buttons to a color touchscreen.
The firmware for the Model-T was completely re-written from the ground up since the Model One to maximize security. In addition, all of the security software is open-source, allowing for anyone to verify the security of the code.
Like most hardware wallets, Trezor uses hierarchical deterministic (HD) keys, allowing for the entire wallet to be backed up and recovered with a 12 or 24-word seed phrase. With the seed phrase, recovery can be done on other Trezors as well as other software wallets that support HD wallet creation. It is important to note that when setting up a Trezor Model T, the seed phrase is generated offline and only displayed on the device’s screen. In turn, this ensures that the seed phrase to the wallet is never on an internet-connected device. In addition, the Model T is shipped with a tamper-proof seal over the USB-C port to mitigate the chances of any tampering from a malicious third party during the shipping process.
When setting up the wallet, the Trezor T will prompt users to write down the seed phrase on paper. In the scenario that the wallet is lost, stolen, or damaged, access to the wallet can be recovered through this seed phrase. Trezor Model T and Trezor Wallet both create a 12 word seed phrase while the Trezor One creates a 24 word seed phrase. Despite this difference, seed phrases of 12, 18 or 24 words can be used in recovery on any Trezor device.
Ledger’s Nano X is the newest addition to Ledger’s product line. With Ledger, the goal is to provide users with the easiest and simplest on-boarding process along with an intuitive user experience when handling your Ether and other crypto assets. The device features a larger screen and buttons than the previous Ledger model (the Ledger Nano S), as well as a native application called Ledger Live. The Ledger Live application is extremely intuitive even for the newest user and is available on multiple platforms including Windows, MacOS, Linux, Android, and iOS.
With the Ledger Nano X, users can complete setup via iOS, Android or any major desktop operating system, giving users a wide range of possibilities for setting up and accessing their Ethereum wallet. One of the more novel aspects about the Ledger Nano X is the ability to setup and connect via bluetooth on your mobile device. This, however, is a less secure mechanism for connecting to the device.
The Ledger team is widely known within the community for its extremely high security standards. The Nano X was awarded the CSPN certification issued by the National Agency for Information Systems Security (ANSSI). As of December 2019, the Ledger hardware devices are the only hardware wallets on the market to receive this security certification.
In addition to the certification, the Nano X contains two processor chips: a secure element and an operating system. Secure elements are separate pieces of hardware within the device that creates their own storage and limits functionality to prevent hackers from accessing the device. This is probably one of the biggest advantages over the Trezor Model T, as secure elements allow for the device to be connected to a compromised device while still preventing the hacker from gaining access to the private keys.
As a ShapeShift company, KeepKey is a secure hardware wallet for storing major crypto assets, including Ethereum. Launched in 2015, the wallet is fairly intuitive to set up for new users and provides high-end security for storing crypto assets. While it somewhat lags behind the leading wallet providers like Trezor and Ledger, KeepKey offers a solid and lower cost option for Ethereum users.
One of the main features with KeepKey is its ShapeShift exchange integration. Therefore, anyone looking to buy, sell, or trade digital assets can easily do it directly through KeepKey’s wallet application.
Similar to other wallets, KeepKey stores private key in an isolated offline environment, providing users with protection even if the wallet is connected to a compromised device. Similar to both the Ledger Nano X and Trezor Model T, KeepKey offers access through a pin code and an 18 or 24 word back up phrase.
One of the interesting aspects surrounding KeepKey’s pin code authentication is the use of number randomization on the pin pad. Ultimately, this creates a much more secure mechanism when accessing the wallet as the numbers on the pin pad are generated on the physical device while remaining encrypted on the computer or other connected device. This security layer is also featured in the Trezor Model T and Trezor One.
With all of that in mind, KeepKey hasn’t been awarded any security certifications like the Ledger hardware wallets. However it does provide substantially higher security over a traditional USB device, browser wallet and other “hot” wallets.
When purchasing or selling Ether for fiat currencies, it is typically done through a centralized exchange such as Coinbase, Kraken, or Binance. While using exchange wallets can be fairly convenient, especially for frequent traders, the associated security risks with using them is important to note.
Historically, centralized exchanges have been prone to third-party hacks where millions of dollars in capital have been compromised. While reputable exchanges today are more open to investor recourse in the instance of these attacks, it still doesn’t eliminate the security risks that are present when storing crypto assets (and personal user data) on centralized exchanges.
With these drawbacks in mind, having funds on a centralized exchange allows for users to easily swap in and out of Ether and their favorite ERC-20 tokens. Moreover, with centralized exchanges, users can have peace-of-mind that their account is always recoverable in the instance that the password is forgotten or misplaced.
Ultimately, while it is generally not recommended to store crypto assets on centralized exchanges, they do provide some benefits over the alternative non-custodial solutions. As such, some major centralized exchanges have developed solutions to bridge the gap to provide users with the highest possible security while maintaining a high degree of usability.
Coinbase’s Vault is a free storage option for Coinbase users allowing them to receive funds like any other normal wallet while also providing users with additional security options. For one, users can split account ownership between multiple individuals and email accounts, requiring all of the users to approve of a transaction before it can be processed. Secondly, Coinbase Vaults allow for withdrawal approvals where unapproved withdrawals are canceled after 24 hours.
With these additional security features, users benefit from peace-of-mind that their holdings are safe while still storing on a centralized and easy-to-use exchange. Coinbase Vault supports all the digital assets currently on Coinbase. In short, some of the supported assets include:
- Basic Attention Token
Coinbase Vault serves as a solid alternative for users who wish to keep some of their holdings online in a secure manner, but aren’t pressed for immediate withdrawals. With this option, individuals can find a balance between the convenience of having their assets online and accessible while also keeping them secure. With that said, it is still important to note that it’s infinitely more secure to keep the holdings offline on a hardware wallet than it would be to store them online on Coinbase Vault or the normal Coinbase Consumer application, despite the company’s insurance policy.
Launching back in 2011, Blockchain.com’s wallet is one of the more popular wallets on the market by the numbers. According to their website, Blockchain.com has over 44M wallets, with $200B+ transacted in over 140 countries. The wallet supports major digital assets including Bitcoin, Ethereum, and Bitcoin Cash along with basic exchange functionality.
In addition, Blockchain.com’s wallet offers a handful of security options for storing your assets. When setting up your wallet, users have the option of using email verification and two-factor authentication (2FA) along with a backup seed phrase for recovery. With this, users can log into their Blockchain Wallet with a Wallet ID (generated upon setup completion), password and 2FA if enabled.
Blockchain.com has also released The Pit, a crypto exchange for buying, selling, and trading crypto assets directly through your wallet. With The Pit, users can buy a range of crypto assets, including but not limited to:
- Bitcoin Cash
Blockchain.com also offers the LockBox, a hardware wallet powered by Ledger that’s integrated with your Blockchain Wallet. With the combination of both the exchange wallet and a hardware wallet, users are given the best of both worlds for storing crypto assets as they have the ease and accessibility of a software wallet with the secure nature of hardware wallets.
Metamask is a non-custodial Ethereum wallet that acts as the primary gateway for accessing web3 applications without having the need to run a full Ethereum node. MetaMask simplifies Ethereum transactions by allowing users to easily send and receive transactions with a few clicks directly in their web browser. The wallet currently supports Google Chrome, Firefox, and Brave.
As mentioned above, MetaMask is non-custodial and never has access to the private keys, meaning all the responsibility for securely storing your own funds lies with the user. While MetaMask offers non-custodial security, it is always online and therefore a “hot wallet”. As such, it is generally not recommended to store a significant amount of Ether and other assets on the wallet.
MetaMask allows for the storage of most Ethereum-based assets including Ether, ERC-20, and ERC-721 (crypto-collectable) tokens. If the token isn’t listed automatically in your wallet, it can easily be added by importing the contract address, token decimals and the token ticker symbol.
For anyone looking to access an Ethereum-based application, including any of the Decentralized Financial (DeFi) applications, MetaMask is the best bet. Whenever an Ethereum application is opened, the wallet automatically prompts users to allow access to the application, making on-boarding extremely intuitive. One of the biggest benefits with the browser extension is that it never enters the private key on the website and it automatically identifies phishing attempts and malicious websites to protect the wallet and its holdings.
In addition, the wallet is completely open-source, allowing for developers and other community members to review the code to verify the security of the wallet and be rewarded for finding bugs and other vulnerabilities.
Like most Ethereum wallets, if the wallet is ever lost, it can simply be recovered with the 12-word mnemonic private key. With that, it is important to have multiple backups, especially if when using the wallet to store any significant amount of assets.
In summary, MetaMask has become the standard for accessing web3 applications within the Ethereum community. The ability to store a wide-range of Ethereum-based assets, along with an intuitive user interface, makes MetaMask the simplest and most secure browser wallet available.
Smart Contract Wallets
Smart contract wallets, also known as “smart wallets” are non-custodial wallets that leverage smart contracts to custody Ether and other Ethereum-based assets. By leveraging smart contracts, these wallets open a new door for endless possibilities to streamline the user experience and mimic the features and security from traditional banking solutions.
For anyone that has stored their own Ether or ERC-20 tokens in a non-custodial fashion (meaning you store your own private keys), you may have experienced some of the stress and complexities that come with it.
Most Ethereum wallets in existence today require users to have an understanding of the transaction fee market (especially when the blockchain is congested), best practices for securely storing private keys and a basic grasp of Ethereum transfers. Even experienced crypto-enthusiasts still have the tendency to quadruple check to make sure they’re sending to the right public address. With that, the current standard for Ethereum wallets does not provide an intuitive enough environment for on-boarding the next wave of adopters.
As such, smart wallets enable additional security, recovery and abstraction features that are unavailable within traditional wallets, allowing users to mitigate a fair amount of the risks and complexities associated with self-custody. However, while they do hold a promising future, smart contract wallets are still nascent and the industry is just beginning to explore the potential for this new type of wallet.
Argent Wallet has established itself as one of the pioneers for smart contract wallets and has quickly become one of the most innovative wallet solutions within the wallet space at large. With Argent, users can benefit from a wide range of features, ranging from recovery tools to human-readable addresses and everything in between.
Some of the novel features with Argent include:
No Transaction Fees: One of the best things with Argent is eliminating the need to hold Ether in order to submit transactions to the network. By leveraging meta transactions, users no longer have to worry about holding ETH in order to send a Dai transaction as Argent pays the transaction fee for its users.
Recovery Tools: With the innovation of smart contract wallets, Argent introduced Guardians to act as the primary recovery mechanism instead of having users write down a seed phrase. With Guardians, wallet owners can specify trusted devices (like a phone or hardware wallet) or trusted individuals (like family members) to recover access to the wallet if it is ever lost. It is important to note that Guardians never store the private key themselves and simply grant access to the account upon majority approval.
Daily Limits: As with traditional banking solutions, Argent allows users to set daily limits. As such, if an account is ever compromised and the hacker attempts to withdraw the entirety of the wallet’s holdings to an unknown address (which is above the daily limit), the transaction will be frozen for 24 hours or must be approved by your Guardians. Ultimately, the addition of daily limits significantly reduces the chances that a hacker can steal the entirety of a users’ funds if the account is ever compromised.
Human-Readable Addresses: One of the more important abstractions the industry needs to make in order to streamline the next wave of users is the shift away from cryptographic public addresses. With this, the team at Argent integrated Ethereum Name Services (ENS) to provide users with the ability to send and receive transactions from human-readable addresses. Therefore, if you ever want to send a transaction to your friend John, you could send it to John.eth rather than 0x81aG7…
DeFi Integrations: In 2019, we saw the proliferation of decentralized finance (DeFi). It is a common belief within the community that DeFi is the next big use case for Ethereum given the ability to create global financial products that are accessible to anyone with a smartphone and internet connection. With that, Argent has been keen to integrate more and more DeFi applications into the wallet so users can easily access the benefits they provide. As it stands in December 2019, Argent currently offers support for MakerDAO, Compound, Kyber Network, and most recently, WalletConnect.
In summary, the innovation of smart contract wallets provides a new paradigm for the wallet space at large. With smart wallets, developers can create intuitive user experiences that hold similar features to centralized banking solution that the broader population has become accustomed to, but in a decentralized and self-sovereign fashion.
How does an Ethereum transaction work?
The Ethereum blockchain is a shared history of every transaction ever to occur on the network. All balances are public but pseudonymous (displaying your identity is strictly opt-in) and all transactions are relayed by every node. Nodes play an important role in ensuring that transactions are valid, and transactions which aren’t valid are simply rejected from the network.
Ethereum wallets remove the complexities of forming and broadcasting valid transactions described above. Instead, they simply ask the user which address they wish to send their funds to, similar to how one may send a payment via an online bank transfer. When a transaction is sent, the information about that transaction is propagated across the network and then validated by the many thousands of Ethereum nodes in the network. Miners then include valid transactions in the next block – mining 1 block roughly every 15 seconds. Ethereum mining will be discussed in a separate article, however the important thing to note when it comes to wallets is that a transaction needs to be included in a block before it can be considered to have been sent. Most merchants will also require that an additional 20 blocks or more are mined on top of the block that the transaction was included in as a means to ensure its finality. For reasons not mentioned here, a transaction which is included in 1 block may actually be double spent if the block is later discarded.
To help get a visual explanation of the above, see this short video:
Transactions are processed when the owner of a wallet provides his signature. For added security, some wallets utilize multi-signature transactions, better known as “multi-sig” transactions. At a high level, multi-sig transactions simply require signatures from a set of agreed parties to be processed.
Think of a secure lockbox with three key holes. Three different people each hold a key and in order to unlock the lockbox, all three people must provide their individuals keys.
In this sense, mult-sig wallets make it so that withdrawals and fund transfers must be authorized by multiple parties, thus drastically reducing the likelihood of theft due to the need to compromise all of the associated parties’ signatures. In the event that a private key is somehow confiscated through phishing, the attacker would be unable to move any funds as he would need signatures from other wallets who would very likely decline to sign the malicious transaction.
Multi-signature transactions can be used in a variety of ways including but not limited to an advanced form of two-factor authentication, escrow transactions and board decision making (i.e. governance). In practice, many Distributed Autonomous Organizations (better known as DAOs) incorporate multi-sigs for onchain proposal voting.
There are a number of different multi-signature schemas, such as “2 of 3” or “3 of 5”. These schemas define how many signatures (2) are required from the total addressed (3) to access the funds in a 2 of 3 multi-signature wallet.
It’s important to note that there is no limit on the schema, meaning you could choose something extreme like a 75 of 100 schema. The core idea here is that different schemas provide certain coordination benefits relative to the number of parties in any given organization.
There are a wide number of wallets that support multi-sig transactions. Based on consumer recommendations, Gnosis Safe or an iteration of the Consensys multi-sig wallet are the best bets for leveraging multi signature transactions.
One of the larger drawbacks of Ethereum being a public blockchain is the notion that it’s quite difficult to shield or hide account balances. Any wallet can easily be identified on something like the Etherscan block explorer, leaving room for add on services that allow for anonymity.
Blockchains like ZCash or Monero are built specifically for privacy, while Ethereum is still working on various privacy implementations on a case-by-case basis.
In practice, mixers like Tornado Cash effectively use smart contract accounts to break the transaction link between two externally owned accounts. While this solution allows two parties to transact without any proof of them having done so in a non-custodial fashion, it is often quite slow due to illiquidity in its early stages.
With the Instanbul hard fork, a number of EIP’s were implemented which could make private transactions on Ethereum easier to integrate. In particular, EIP 1108 lowers the fee for executing the existing “alt_bn128” hash function, since most Ethereum clients now include an optimized implementation.
This particular pre-compiled hash function is useful when implementing private token transfers via zero knowledge proofs. One project, Aztec Protocol, is already live on mainnet with zero knowledge proof support. With the gas fee reduction, private token transfers via Aztec will become much more affordable.Secondly, Instanbul included EIP152, effectively adding a pre-compile for BLAKE2 – the hash function used for mining Zcash. With this, it is now feasible to process Zcash block headers efficiently in Ethereum smart contracts, which should ultimately enable a trust-minimized bridge between the two networks to be built. Proposals from dev teams like Thesis aim to make this a reality in the short term.
At the end of the day, Ethereum’s opsec is not inherently designed for privacy, meaning there are a number of additional layers that must be baked into a transaction for it to become anonymous. In short, don’t expect private Ethereum transactions to become a defacto solution in the near-term. In the meantime, those looking for privacy are able to achieve significant anonymity through existing applications like Tornado Cash.