Should you run a full node with a hardware wallet like Trezor? What are the main factors to monetary sovereignty?

The next question comes from Bob, who asks about running a full node with Trezor. "I'm aware of the importance of running a full node and validating transactions for yourself." "But I keep my Bitcoin on a Trezor hardware wallet." "How can I help the network, and myself, by running a full node [even though]... all my transactions are handled by Trezor?" I believe this question could be asked [regarding] any hardware wallet, really. This is about two aspects of 'monetary sovereignty', as Trace Mayer calls it. [I will] use that expression. First, controlling your own keys. As I have said many times before, if you have your keys, they are your coins. If you don't have your keys, they are not your coins and you are relying on somebody else. "Your keys, your coins" is about sovereignty over the keys and the ability to apply digital signatures. Many people use a hardware wallet to have control over their own keys. The second aspect of monetary sovereignty, which I've also talked about before, is the idea that... if you are [sending or receiving] transactions on Bitcoin, you want to find out: "Have I been paid?" A lot of people will [open their browser], type in a [block explorer] website such as blockchain.info, and [paste] their address in to see if that website thinks they have been paid. When you're doing that, you are outsourcing the [validation role] to somebody else. You are asking if they think you've been paid; you are not validating for yourself if you have been paid. If I want to check if I've received a payment, I would much rather ask my own Bitcoin node. I know what version of software I'm running, what consensus rules I'm abiding by, which chain I'm on, and whether it is fully synced. I've configured that node and it will give me an [independent] answer. If my node tells me that I have been paid, then I have been paid.

What about combining the two aspects of monetary sovereignty?

What about combining the two [aspects of monetary sovereignty]? Combining the two, at the moment, is not easy. It is not something that can be done by beginners. Many of the lightweight wallets don't give you the option to use your own node. Many of the hardware wallets use lightweight wallets, [hosted on their] company servers, in order to... [serve you] information about the blockchain. [That service] is really about user experience design and ease-of-use. Requiring everyone to run a full node in order to use a hardware wallet would obviously... make it very difficult for [most] people to control their own keys, so it is a bit of a compromise. On the other hand, if you already hold your own keys and run your own node, how do you connect the two? For example, how do you use a Trezor or Ledger hardware wallet [with your Bitcoin Core full node], instead of using them with the Trezor or Ledger company servers and nodes, providing [them] with information about [your] addresses? How do you use [them] with your node?

Electrum Personal Server

So far, the best solution I have found is the Electrum Personal Server. [You can] run an Electrum Personal Server on top of your node, which converts protocol information... [for the] Electrum software wallet, which then supports a broad variety of hardware wallets: Trezor, Ledger, KeepKey, BitBox... a whole range of hardware wallets. You can also use it with multi-sig and it has a lot of really great features: up-to-date support for native SegWit bech32 addresses, coin selection, UTXO prioritisation, RBF and CPFP... a lot of great geek features that I like. I use Electrum as a wallet quite often, in fact. With Electrum connecting to my own Server, instead of connecting to the other distributed Electrum servers out there, I am increasing my [financial] privacy. I am [receiving] an [independent] answer [about my transactions]. The solution that I like a lot is: my own node or collection of nodes with the Bitcoin Core software, an Electrum Personal Server or collection of [them], connected to each one of these Bitcoin Core nodes, the Electrum [software wallet] on a laptop or desktop computer, and then hardware wallet(s) which plug into the Electrum software wallet to provide key management. In my opinion, that gives me the maximum degree of [usability and] financial / monetary sovereignty, both in the network consensus [mechanism with] self-validation as well as controlling my own keys.

There are other solutions out there

There are other solutions out there. I was recently talking to a Trace Mayer, who prefers... the Armory wallet, a Bitcoin Core node, and a [specialised laptop with modified hardware]. That may also work. I think there are [a variety of] other solutions out there. Unfortunately, the solution which doesn't exist yet is direct support for hardware wallets in Bitcoin Core, perhaps through using the 'Partially Signed Bitcoin Transaction' format, which was proposed in BIP-174. I would love to see that feature, but it doesn't exist yet.