What are nodes?
Nodes are an essential part of the Monero network infrastructure. The main thing you need to know about nodes is that they store a copy of the blockchain. They can be configured to share this data with other nodes and clients as well. Running such a node is the only way to obtain the highest level of privacy and security when you’re connecting to the Monero network.
It’s important to note that in Monero, the program for running a full node is called the “daemon.”
Running a full node
Running a full node is a process that uses a decent amount of storage – we’re talking about approximately 30GB which will increase over time. The process also uses bandwidth. It will take a few days to sync the whole blockchain from scratch even if you own a fast hard drive and a fast connection as well. The amount of bandwidth that’s used will vary based on the Internet speed and more settings. Monthly bandwidth use can range from about 100GB/month to even a few TB.
Many users choose to run the daemon from a terminal interface, especially if they’re running a VPS. It’s also recommended to do this if you want to stay in sync without having to keep the wallet open.
The simplest way to explain what a remote node is would be to say that it’s any node that is not a local one. If you are running a node from your home, place or business, you are running a local node. Calling a node “local” means that you access it locally. This also means that you are not going out on the Internet to access it. Instead, the node is available on your local network.
So, a remote node is any node that’s not a local node, any node that’s not owned by the user.
The issue whether you should use your own node or a remote one has been discussed in the crypto community for quite a while, with users asking details regarding potential privacy disadvantages and risks of using a remote node versus running a local node.
The answer is always the same: when in doubt, it’s best to run your own node. It provides increased privacy, less dependence and you also support the network. Usually, using a remote node is quite risky from the privacy point of view. If a remote node gets compromised, it will know your IP address, and it will be able to match transactions to it. You can also use a VPN in order to hide your IP during connections to remote nodes, but using your own full node is always more secure.
More than this, by not running your own node, you delegate the task of verifying all the transactions to the remote node operator. This means that you blindly assume all you sent from the remote node is valid. If we consider an extreme scenario in which the remote node operator along with all the operators of popular blockchain explorers and exchanges could collude together and trick you into thinking that some invalid transaction is valid, this would definitely be bad news.
The conclusion is that the only way to defend yourself against this is to run your own node.
After all, being able to run your own node is basically the ultimate value proposition of crypto and Bitcoin is fatally failing in this respect.