Since UTXOs are required to spend funds, where does Trezor get the unspent outputs from?

  • Storing them in the hardware requires you to plug it in from time to time to update the UTXO set. You could even run out of UTXOs!
  • Host-side blockchain scanning for UTXOs from a given deterministic wallet is very expensive (if not impossible since there are infinite addresses in a deterministic wallet).
  • You can't build a "wallet -> UTXO" index for the same reasons above.

What am I missing? I'm assuming Trezor's primary use case is in PoS. Pehaps I'm wrong there?


As explained in their FAQ, Trezor works together with existing wallet software, it's not a standalone wallet.

What happens is that the wallet you use gets the addresses from your wallet from Trezor and can display your balance with that information. When you want to spend money, it will create a transaction as it would normally do, but instead of signing the transaction itself, it sends it to Trezor. Trezor will show the transaction on the display and ask for your confirmation. When you confirm, it will sign the transaction with the private keys (that are only stored on the Trezor) and send the signed transaction back to your wallet software, which will broadcast it to the network.

  • 1
    So Trezor is more a transaction signing machine than a hardware wallet, right? That thwarts its use as a wallet to pay in PoS. What's its use case then? Just avoiding attack surfaces such as malware in your own computer? You couldn't even use in a friend's computer without adding your wallet as watch-only and rescanning the UTXO for matching outputs. The question still stands... how does it actually do that? You have to manually add your wallet to the host wallet and rescan or does Trezor take care of the coordination with the host wallet?
    – kaoD
    Jan 17 '14 at 17:35
  • Well, as their FAQ mentions as well, there are several wallets that support Trezor. So I think (I didn't use it myself) that plugging the Trezor in is enough to let your addresses show up and your balance calculated. Jan 18 '14 at 13:24

To complement Steven's answer, Trezor can be used in PoS, it would just require them to run a Bitcoin wallet which they most likely already do!

The Trezor wallet give them your public key, then the PoS creates the transaction and send it back to your Trezor for signing. After verifying the output address & amount and entering your pin on the Trezor it will sign the transaction and send it back to the PoS who will be able to advertise it.

The Trezor works with USB, but in future versions it could certainly use other communications methods like NFC or BLE... Also since the software is open-source it calls for other hardware wallets to use the same wire protocol and make it a de facto standard for PoS transactions involving hardware wallets.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.