Privacy Support Issues Of Lightweight Nodes In Bitcoin
There are many nodes in the Bitcoin ecosystem. Some of them are full-functional network participants that make all vital blockchain processes run. These processes are mining, blockchain storage, assets management, network data exchange, and light nodes support.
In other cases, nodes can refuse to execute some functions, and each refusal decreases node usefulness from the network point of view. However, there are many cases when Bitcoin members simply cannot take part in the overall blockchain support. These cases include low performance, high network lags, the absence of necessary devices, or precaution.
Nevertheless, the Bitcoin environment allows such participants to manage assets anyway. It can be done by several options but the most popular ones are:
- Lightweight (or light) nodes. This option assumes that a participant abandons all blockchain support functionality. The only thing left is assets management. It is obvious that without the blockchain storage, no data is available for members to analyze and handle.
- Remote wallet. This option is the most dangerous. Here, a participant holds the password to their account on a remote server. This means that the private key is used by this remote server to manage assets. Regardless of how reliable such servers are, there is always a possibility of a hacking attack, which may lead to the stealing of a key and money loss.
Now let’s consider the first option involving lightweight nodes and examine privacy issues arising in this case.
Light nodes problems
The launch of a lightweight node means that a participant voluntarily refuses to execute most of blockchain functions. Such an option is provided in order to simplify inexperienced users participation. The full-node management might be unnecessary for the majority of people without solid knowledge of Bitcoin details. Now let’s have a look at drawbacks this option brings.
Mining abandonment simply cancels block rewards and slightly increases privacy protection. If nobody knows that you mine, nobody knows you exist. The refusal to exchange network data makes your node alone and useless. Since blockchain is a community-oriented system, you need other users to be in touch with you. The refusal to store blockchain data also brings many problems. Since you don’t hold any data on transaction, you can’t check them and verify their existence. The last key point is the light nodes support. Obviously, you can’t help others if you can’t help yourself.
Light nodes and privacy
Turning to the privacy issue, we can see that things get even worse. Light nodes are used to manage assets. But this requires two of rejected activities mentioned above, which are network participation and blockchain storage. Indeed, you can’t send data if you have either no data or sending options. This is where full nodes start supporting light nodes with data storage and network services.
In general, the process looks like the following:
- A light node wants to check it’s account status. It knows about several neighboring full nodes by default. So it sends a request for necessary data to one or several full nodes;
- A full node receives the request. It selects all transactions that are to be included in the response. Then this data is sent as a response to the light node.
This interaction is repeated regardless of the task type requested by the light node. It might require account status check, transactions search, transaction placement to the mining line, and others. Every time the light node interacts with a neighboring full node, it discloses itself a bit. Privacy melts with every piece of information being sent. To prevent full disclosure, light nodes require some means of precaution.
In this article, we have highlighted the problems lightweight nodes may face, but haven’t addressed the issue of malicious behaviour of full nodes and how to deal with it. In our next article, we will discuss precautionary measures that should be taken by light nodes.