Bitcoin Hardware Devices Need to Improve Handling of Complex Transactions

Jameson Lopp, Casa’s co-founder and CTO, a crypto custody firm, published a test result report on Bitcoin’s multi-signature hardware signing performance on Sep. 13 on the Casa blog.

The result shows that Wallet devices with hardware crypto can handle small, simple transactions well. They do have trouble performing once the transaction gets complicated, though. Casa is said to be built on geographically distributed multisig, dedicated hardware devices for secure keys, user experience designed, and customer service.

Lopp pointed out that while the firm has no control over the hardware devices, at the end of the day the aim is to support any device. So he decided to conduct research and hoped to draw some conclusions and help multisig software providers better understand the hardware limitations. And customize wallet software for better performance.

Casa Compatability

Casa is currently compatible with six hardware, including Trezor, Ledger, Coinkite, and Coldcard, and all supported hardware devices as well as BitBox have been tested.

By leveraging Electrum’s 4.0.2 appimage on Debian Linux, Lopp set up the test and created a variety of multisig P2WSH (native segwit) wallets that use Bitcoin’s testnet and the hardware devices plugged in via USB. A deposit of 100 UTXOs stood in each wallet.

When signing multi-signature transactions of varying complexity, Lopp created a series of tests to determine those hardware wallet capabilities. He repeated those tests and concluded that if hardware devices can show progress indicators for loading. And signing, it’s better and more secure. And he added:

“I came to really dislike hardware devices that don’t show progress indicators for loading and signing. As such, I highly prefer Coldcard and Trezor in this respect. BitBox and Ledger are anxiety-inducing because you have no idea if anything is actually happening.”

When it comes to overcoming transaction size limitation and transaction processing time delay. Lopp suggested that hardware wallets might attempt to split a send into multiple smaller transactions that are below its limits.

Some devices will lock themselves off inactivity when the transaction process takes too long. Lopp suggests that the least device manufacturers could do to avoid such an inconvenience is to disable the timeout for the screen lock while the device is still working on the deal.

More from Lopp

Hardware devices, according to Lopp, should also support partially signed Bitcoin transactions (PSBT) and any valid multisig transactions possible. And he added:

“I believe it’s time for hardware manufacturers to start acting like platform providers. And ensure that they are providing robust platforms that can be used to build a wide variety of solutions.”

There are two steps to follow when signing a Bitcoin transaction for the hardware devices, according to Lopp:

“First, The transaction gets loaded onto the device. It parses the details and displays them on the screen for user confirmation. These details are generally the address(es) to which funds are being sent. The amount(s) being sent, and the fee being paid. Then, Upon user confirmation, the device signs each transaction input and then returns the signed transaction to the wallet software.”