Comparing three popular wallets. The differences are greater than you might think.

Written by SolidWater | Published 2019/03/22
Tech Story Tags: bitcoin | ethereum | blockchain | security | cybersecurity

TLDRvia the TL;DR App

Wallets are gateways to cryptocurrencies and, as the blockchain space has grown, the variety of wallets available has also grown. Most people who want to dabble with a small amount of crypto, start off their crypto journey by setting up hot wallets in the form of phone, desktop, or web application. Hot wallets focus primarily on convenience and are great for making coin transfers on the go.

While hot wallets may be convenient, they force users to sacrifice security and the underlying basis of crypto: having complete control of one’s wealth. Thus, as people get a stronger grasp of blockchain technology and understand how to improve security of their Crypto assets, they either opt for hardware wallets, or even brain wallets.

User Experience is Important

Given that wallets are gateways to cryptocurrencies, the user experience they provide to new market entrants is of critical importance with respect to the growth of crypto adoption. This piece will take a look at the user experience of several popular wallets. Each section below will cover two main user experiences of a wallet: set-up and performing transactions.

Here’s a summary:

Brain Wallets: To securely setup a wallet, users must download a brain wallet application from GitHub or use an online tool. Once they’re offline, user can enter a salt and passphrase to generate a wallet (private key). The private key will be exposed and must be immediately stored securely. Brain wallets provide a one-type transactional facility as transacting will expose the private key to some web front. Therefore, any time coins are sent from a brain wallet, a new one has to be made. Brain wallets can be challenging to (securely) set up for those who lack technical know-how and provide close to zero positive UX features in terms of transactions. In addition, for each coin and for each public address of that coin you need to have a separate brain wallet.

Hardware Wallets: Hardware wallets, like Ledger, can be setup by connecting the wallet to a computer device that has downloaded the supporting software of the hardware wallet (like Ledger Live). After that, a pin is set on the hardware device to initiate its functionality. Next, users move along the steps presented in the supporting software till they are prompted to create a 24-word seed phrase that is typically written down somewhere. Once the seed phrase is approved, private keys are created and stored in the hardware wallet.

Next, applications, one for each blockchain, are downloaded on the wallet in order to receive and send transactions. Transactions are initiated on the supporting software, like Ledger Live, and are approved through the hardware wallets’ button-initiated commands. Hardware wallets have a lengthy set-up process, but the process is well-explained by their supporting software. Receiving and sending funds for the first time requires a lengthy process as support for each coin has to be individually set-up.

Bitfi: A new kind of hardware wallet. To set-up a wallet with Bitfi, users head to the Bitfi Knox Dashboard to synchronize it with the Bitfi device. The process requires users to enter their Bitfi device ID into their Dashboard. Next, user will be prompted to choose a salt and passphrase on the device to create the wallet; no private keys are stored on the device. All coins are automatically supported by Bitfi so users can use the Dashboard at any point to initiate a transaction; the transaction has to be approved on the Bitfi device by signing the transaction with the salt and passphrase (the device will then calculate the corresponding private key).

A Deep Dive into Wallet UX

Brain Wallets

Brain wallets, as the name may hint, provide users with memorable means of accessing their Crypto. Leading brain wallet providers like Brainwallet.io let users set-up a wallet in 3 ways:

  • Generic: Users pick a memorable salt and phrase.
  • Personal: Users can create a wallet that is accessible through personal information.
  • Login: Users create a wallet with the same set of access-points used for account log-in: username and password.

Set-up

Once you’ve decided the memorable keys to your wallet, you can generate a wallet.

Signing up to a brain wallet directly on a webpage, like brainwallet.io, is a mistake.

The point at which the wallet is created, the private key is visible on a web-page, making it accessible to malware. The only proper way of creating a brain wallet is by downloading the source code of a brain wallet generator and running the software offline. This will allow a person to secure the private key. Once the set-up is complete, funds can be sent to the address, but if the wallet is used just for storage, it becomes a cold storage rather than a wallet for transactions, which stands in opposition to the entire functionality of a currency.

Most importantly the brain wallet limits the user to just one public address. For example, let’s say you have 4 Bitcoin addresses, Ethereum, Litecoin, Tron, Stellar, and ten ERC-20 tokens. In this case you will need to create 18 different brain wallets (you will need to memorize 18 different salts and phrases). Therefore a brain wallet is only practical if you wish to store one currency at one address.

Transactions

Using the brain wallet for transactions is a challenge.

Setting up a brain wallet on an offline software may be challenging to most people who have become adjusted to the conveniences of the digital age, however, the tech-savvy will breeze through the offline process. Using the wallet, on the other hand, will be a challenge irrespective of one’s technical know-how, and that’s due to the functionality of brain wallets: they are designed for a one-time use.

Whenever a transaction has to be made, you’d have to enter the private key on some platform on the internet. This immediately exposes the key and adds vulnerability to the assets that had been protected by that key. Thus, each time BTC (or any other currency) held within a brain wallet has to be transacted, a new brain wallet has to be created to store the BTC that’s not transferred. Therefore, brain wallets are not optimal for transacting BTC or day-to-day use of the cryptocurrency.

Brain wallets are realistically just a form of storage as transferring coins held within a brain wallet is extremely inefficient. It’s for this reason that brain wallets are not that popular; instead, most people that have become well-acquainted with cryptocurrencies opt for hardware wallets.

Hardware Wallets

There’s a number of hardware wallets on the market, one of the most popular is Ledger. This hardware wallets is a USB stick dedicated to the storage of private keys and they come with a set of buttons used to feed commands to the device.

Hardware wallets allow users to store their cryptocurrency on a physical device and these wallets provide a somewhat convenient means for transacting. The drawback, though, is that hardware wallet secure private keys within the physical device.

Most hardware wallets have a similar set-up process and transaction facility. Here’s a look at the user experience of Ledger Nano X.

Set-up

Once a user unpacks his or her Ledger, the device has to be configured. Users must head to Ledger’s website and download a software called Ledger Live. Once the software is running, the Ledger wallet has to be connected to a computer to sync it with Ledger Live.

The following steps are undertaken for the synchronization:

  • The buttons provided on the USB stick have to be pressed simultaneously.
  • Next, users choose a pin code and then reenter it to confirm the chosen pin.
  • After that, users are directed to write and confirm their 24-word seed phrase.

Over the course of 15 to 20 minutes, users receive their 24 words, note them down on a piece of paper and store them in a secure location. Due to the volume of words, the seed is almost never memorized and users rely on either a household or third-party safety boxes for the security of their seeds.

Once the seed phrase is collected, the Ledger provides users with a random selection of words and the users must correctly align each of their 24 words. The process can take at least another 15 to 20 minutes. This ensures users did not miss out on a word in case they get the seed confirmation wrong, they can go over the creation of a new seed phrase. If the seed phrase is properly confirmed, the device is ready for app installation.

Now users begin the app installation.

The device is connected to the laptop and Ledger Live verifies the legitimacy of the hardware wallet. Prior to app installation, users are prompted to choose a password to protect their Ledger Live data. Now the device can download applications each of which enables support for different blockchains.

Once applications (read: support for blockchains) are downloaded, the buttons on the hardware wallet need to be pressed simultaneously for each downloaded application to complete its synchronization.

After synchronizing support for each blockchain, users can access public addresses. To receive funds, users connect the hardware wallet and verify the address through the hardware. To verify each address, the two buttons on the hardware wallet must be pressed simultaneously. The addressed for each blockchain needs to be confirmed one by one.

Transactions

To make transactions with Ledger, the hardware wallet has to be connected to a computer with a cable which has installed the Ledger Live application. Once the hardware wallet is connected, users will be prompted to enter a pin code to unlock the device functionality. After that, users can access the Bitcoin application from the Live dashboard and select the send Bitcoin option.

After that, a menu is prompted which allows users to select the amount of BTC they want to send, where it should be sent, and the preferred network fee. Once the data has been inputted, the transaction can be sent by confirming all the data on the hardware device through the buttons on the device.

Summing up, to receive and send any coin the application of the specific coin has to be downloaded on the Ledger Live and then confirmed on the hardware device. At the time of transacting, the hardware device must be connected to a computer with Ledger Live and then the application and the wallet have to be unlocked. After that, transactions can be confirmed through the hardware device.

Bitfi

Bitfi is a new technology where the hardware never stores private keys (it is the only cryptocurrency wallet that does not store any private keys). Bitfi aims to elevate security beyond cold storage (as there is no storage at all) while also creating a user friendly interface to enable ordinary people to use it quickly and easily.

Bitfi is unlike any hardware wallet or any wallet. It’s a technology that lets users create a wallet that can be accessed through a user selected salt (a salt is just a password but one that you already know like your social security number) and passphrase. The Bitfi device is a private key generator which turns your salt and passphrase into the appropriate private key at the time of transaction and the private keys do not exist in the device at any other time.

In a way, Bitfi takes advantage of the brain wallet concept but in a very different way because:

  1. A single salt & phrase will generate private keys for an unlimited number of currencies so as in the above example with brain wallet, instead of having to create 18 different salts & phrases, Bitfi will secure all 18 assets with just a single salt & phrase.
  2. There is no downside of the single-use functionality that limits the usage to one transaction. Bitfi creates each transaction in an ultra secure environment and enables frequent payments without the need to store private keys on a physical device that can be lost, stolen, or seized.
  3. There is no possibility for the private key to leak because it only comes into existence for a fraction of a second to sign the transaction. Otherwise, private keys do not exist on the device or any data whatsoever.

Once the device ID is entered, a notification is instantly delivered to the Bitfi device.

After that, users are asked to enter their chosen salt and passphrase; both of these can be memorized (although you don’t have to and this is optional). The device will require that you reenter the salt and passphrase to ensure it was properly entered. A wallet is now created but no private keys will be stored within the device.

Set-up is complete.

Transactions

A Bitfi devices innately tracks the value of all cryptocurrencies and digital assets stored within it. The device generates wallets for all supported cryptocurrencies at once, there isn’t a need to generate wallets for each blockchain one by one.

Both the Dashboard and the Bitfi device will provide access to public addresses for all supported cryptocurrencies. These can be used to receive coins and tokens. All assets including ERC-20 tokens, are automatically tracked by the Bitfi device. ERC-20 assets are added in mere seconds by simply entering the contract address of the token.

Sending coins requires approval from the Bitfi device. From the Dahboard, users can access the wallets associated with various coins. Once a wallet is open, users can click the send option to initiate a transfer. When a transfer is initiated, users are asked to provide the target address, amount to be sent, and the preferred network fee.

Once the send request button is clicked, the Bitfi device will instantly receive a pop-up asking user to authorize the transaction by entering their salt and passphrase.

The transfer is complete.

Summary

In testing all three wallets from set-up to conducting a transaction, Bitfi was demonstrably easier to set-up and use while providing a clear advantage in security due to the fact that the Bitfi wallet does not store private keys making crypto assets impossible to steal either online or off.


Published by HackerNoon on 2019/03/22