The biggest challenge to mass acceptance of cryptocurrencies before mass adoption is ever possible is to make them easy to protect and spend. Current hardware portfolios, such as the popular Ledger Nano S or Trezor One, are a great first step, but they are simply too expensive – and that's where Coinkite's Coldcard comes into play.
"Economical and ultra safe"
The Coldcard is a very different device from most hardware portfolios. Its design is based on a calculator layout, with a small one-color OLED display on the upper left corner and a 12-key pad that dominates the face. Coinkite's design is focused on cost reduction, so the "keys" are not actually keys at all: they are holes in the translucent plastic case that exposes the capacitive pads on the printed circuit. Overall, the portfolio is only slightly larger in terms of a regular credit card, although significantly thicker.
Coinkite claims that "cheap" does not have to mean "insecure". Internally, the portfolio uses an ARM STM32 processor both to power its operation and to provide a "secure enclave" – a part of the processor in which the private key is associated with the portfolio can be stored and in which the signature operations are carried out, isolating the key from the outside world. Even the packaging is nominally safe: the plastic bag, inside which the Coldcard itself is located, a recovery card for the 24-key BIP39 seed and a sticker, is marked with a unique serial number verified by the device at first boot and sealed with tape that displays VACUUM when it is removed, although it could be defeated with a sharp knife and a lighter.
The setting of the Coldcard is simple, at least initially: the connection of a micro-USB cable activates a self-test which, if all goes well, illuminates the "GENUINE" LED on the side of the screen, then asks the user to confirm the serial number of the Coldcard corresponds to the package. After that, the Coldcard requires the user to select a PIN consisting of up to twelve digits, cleverly split, with the prefix generating a couple of verification words that can be used to ensure that the device does not has been tampered with before entering the second half.
After confirming the PIN and registered on the recovery card, you can set the portfolio itself. Here are two possibilities: import an existing BIP39 seed portfolio, extended private key (XPRV) or a backup file from an existing Coldcard or create a new portfolio. If you choose this last one, the private key is generated and stored entirely in the secure enclave of the STM32, but be ready to stab the keyboard for a while, as you have to scroll through a seed of 24 words to register it on the recovery card then reinsert each word one at a time in random order to verify that no mistake has been made.
Glitch in the Matrix
Unfortunately, using the Coldcard – even at this stage – is not as simple as it could be. The keyboard is extremely problematic: sometimes it suffers from debounce, recording two keystrokes where there should be only one; sometimes you suffer from a lack of sensitivity, completely ignoring your pressures; other times he recorded ghost presses, often scrolling to the end of the menu even if they were not kept.
The firmware running on the device is also unreliable: at different points during testing, the Coldcard has become completely unanswered, requiring it to be disconnected from its power source and reconnected before it responds to keyboard input or PC control connected. It remains to be seen if this is something that will be addressed in future firmware updates.
Spending and signature
The interesting Coldcard has two operating modes: online and offline. In online mode, the device is connected to a PC via a micro-USB cable and controlled by compatible software – which currently only means Electrum 3.2.3 or higher. In offline mode, a JSON wallet file is created by the Coldcard and written on a micro-SD card, without its private key, which can then be imported into Electrum. Electrum can then write the transactions on the micro-SD, which can be transferred to the Coldcard for signature before being reported in Electrum for transmission on the blockchain: a laborious process that however provides maximum protection for the private key.
In the most reasonable online mode, the Coldcard is used to encrypt the Electrum portfolio and sign transactions. However, this is an important limitation: while technically supporting segregated witness portfolios (segwit), it only works with the latest Bech32 P2WPKH address format, which is not yet supported by most clients and wallet exchanges. For compatibility, the legacy P2PKH non segwit legacy can also be generated, but it is impossible to use the commonly used P2WPKH-P2SH format, which combines some of the advantages of segwit with a legacy compatible address.
The actual process of signing a transaction is simple: generate an expense transaction in Electrum normally, and the unlocked Coldcard will bring up a confirmation request with details of the transaction. Once verified, a simple touch of the check box – which is indicated at various points in the software such as "Y" or "OK" – signs the transaction and returns it to Electrum for transmission.
The Coldcard has some great features: it is compact, offline mode is a bonus even if it is inconvenient to use and supports both Bitcoin and Litecoin on mainnet and testnet. The lack of support outside of Electrum, however, is a problem, and the technical problems of the software mate with a complicated keyboard to make active use unpleasant.
The strong point of the Coldcard is the price, however: at $ 69.99 (about £ 46 excluding VAT and shipping), the Coldcard is considerably cheaper than its rivals. Assuming that software problems can be resolved in a future firmware update, that the device itself receives wider support outside the Electrum portfolio and that keyboard problems can be resolved in the software, it makes it a & # 39; economic alternative to more powerful devices like the Ledger Nano S (£ 69.99 including VAT) or Trezor One (£ 74.15 including VAT).