Bitcoin is a decentralized and finite digital currency, it’s verifiable by anyone anywhere in the world. This is the chief reason people have any interest in holding it at all. No one can dilute the supply, no one can counterfeit Bitcoin, it just works as an autonomous system that cannot be interfered with. So how do you participate in this system fully to verify everything?
If you think that simply using a Bitcoin wallet is enough to do so, I’m sorry to tell you that in reality that does not make you a full participant in the Bitcoin network. A wallet simply manages your private keys and helps you craft and sign your transactions, it does not actually participate in the full validation of the Bitcoin blockchain.
To become a node and validate the transactions you need to run an additional piece of software called a client. This software is what actually handles processing and validating blocks that miners produce. The most widely used Bitcoin client is Bitcoin Core.
It is possible to interact with Bitcoin using just a wallet, and not running a full node, but there are benefits to actually using Bitcoin Core yourself.
Verifying Things Yourself
When you initiate and then sign a transaction to send an amount of Bitcoin, the signed transaction goes to the Bitcoin network’s nodes. These full nodes, some of which are miners, verify transactions and then form a race to make the next block. Miners bundle transactions together into a block, and upon completing the required proof-of-work, the block is broadcast to the network
Most people likely don’t care about other people’s bitcoin payments, if you aren’t the sender or the receiver in a transaction why would you care? If any transaction in a Bitcoin block is not a valid transaction, then the entire block is considered invalid and rejected by all full nodes running on the network. This means that in order to be absolutely sure that a payment your wallet is showing as confirmed is in fact confirmed, you need to know that every other transaction confirmed in that block is also valid.
Your full node handles all of this for you automatically. Every time a block is found, your node automatically verifies that every coin being spent has not been spent before, that all the signatures are valid, and that all other spending conditions such as timelocks meet the spending requirements.
When you are using a wallet without verifying it with your own full node, you are essentially trusting the operator of that wallet to do all of this verification for you. Running a full node yourself completely removes this aspect of trust you place in your wallet provider.
The Supply Cap
The finite supply of 21 million bitcoin is one of, if not the, core properties of Bitcoin that people think of when the subject comes up. At the core of the entire project sits the idea of removing the issuance and control over the supply of money from the hands of governments. Satoshi himself specifically discussed the factor of trust placed in government to not debase the monetary supply as a core problem of how money functioned in society.
All of the work that a full node does to verify your own transactions is also the verification necessary to ensure the integrity of the 21 million supply cap. Every bitcoin that exists in circulation on the network right now came from the same source ultimately, a special transaction in each block called the coinbase transaction. This special transaction allows the miners to bring a predefined amount of Bitcoin into circulation per block.
Your node validates each of these coinbase transactions every time a block is found. It does this to guarantee that the new coins brought into circulation do not exceed the limitations of the predefined supply cap. Any excess above that must be no more than the transaction fees paid by all of the transactions in that block. The combination of verifying that the coinbase transaction follows these special rules, as well as the fact that every other transaction is only spending valid coins that have never been spent before, your full node guarantees that the supply cap of 21 million coins is kept intact.
Keeping Your Bitcoin Private
Another important aspect of why it is important to run your own node is privacy. Now, before making this point it is very important to understand that privacy is a very nuanced issue on bitcoin. When it comes to actually maintaining privacy and preventing the people you actually transact with, i.e. send money to or receive money from, running a node is by no means a comprehensive solution. It is a very important starting point: the foundation necessary to improve your privacy.
When you are using a Bitcoin wallet that is not connected to your own full node, you must rely on someone else to process your transactions. To do so your wallet communicates all of the details about your bitcoin wallet to someone else’s node. Most of the time, this involves sending them the details of your xpub, the code that allows someone to read your transaction history and see your unspent coins. For most people, this isn’t a threat, but if you want to stay anonymous this may pose a risk. By running your own full node and connecting your wallet to that, none of this information is revealed to them.
If you value maintaining your privacy in using Bitcoin, connecting your wallet to your own full node is an absolute requirement.
Without using your own node, all of the other steps you take to maintain your privacy such as coinjoining (coinjoins are a collaborative transaction you can trustlessly make with other people to obscure whose coins go where) are a moot point, your wallet provider can see your entire balance.
Why This is All Important
While holding your own keys is an absolute necessity to interact with Bitcoin in a sovereign way, hopefully you can see now that taking the extra steps to fully validate your interactions with your own full node has additional benefits.
Without running your own full node, you are trusting a wallet provider to verify that your transactions are being confirmed. It is possible for that operator to deceive you. They can tell you that you have received coins that don’t actually exist. They could attempt to trick you by saying coins you did receive never arrived. You are trusting them to verify your balance for you, or some other third party block explorer which learns your IP address. A full node can remove that trust.
Trusting someone else to verify your transactions for you similarly outsources the verification of the total supply of bitcoin to the collective group of users who are actually verifying things themselves. By running your own node you can verify yourself with absolute certainty that the supply cap has remained intact.
Lastly, maintaining the privacy of your funds is not something that can be meaningfully achieved without running your own node. If you are using tools like coinjoins to obscure your transaction history on-chain, this activity is undermined by using someone else’s node to verify your balances. Only by running your own node can you plug this massive privacy hole in your use of Bitcoin.
Holding your own keys is a critical first step on your path down the road in Bitcoin, but by not taking this next step you are making certain compromises in your interaction with the network. Once you have your keys safely secured, it is absolutely important that you take this next step.
Here are some wallets and tools to help you in that process:
Leave a comment