thats why you should only trust the values your hardware wallet shows you before signing.
Discussion
Except that’s incorrect. Your hardware wallet only knows with certainty the value of the assigned outputs. It believes the value of the input it is told by the software used to create the transaction.
Just because your hardware wallet says the fee is 500 sats doesn’t make it so. Hardware wallets require a node to tell it the balance of a utxo…hardware wallets can’t know this automatically.
Lying about utxo value isn’t a common attack vector because the only party standing to gain is a miner…and such an attack ruins the value of their primary product: block space.
A trusted but malicious attacker could easily screw an individual by lying about utxo value. This is why running your own node and connecting your wallet to it very much matters.
Thanks for making me think twice. I see the problem now. You trust the node for the value of a utxo.
Not your node, not your utxo.
Bitcoin understanding is like an onion…
The split node, transaction creation software, and signing device paradigm is tricky to navigate well.
For my setup, I have a satellite connection 📡 🛰️ Blockstream Bitcoin data service to keep my otherwise airgapped nodes in sync. While it’s possible Blockstream could be lying to my node, it would be very expensive to do and it’s easy to check a few block explorers to make sure they all agree.