How to use Bitcoin correctly? You may be surprised, but those who do not use their own full node do not use Bitcoin. Most people use a foreign full node, and that's wrong. Bitcoin is about not having to trust anyone or ask anyone's permission. However, this only applies if you are using your own full node. And it's nothing complicated. In today's article, we will try to give you the importance of why to use your own full node and advise you on how to do it.
Full node = fully-featured node of bitcoin network that holds the complete and verified database of all transactions that ever ran through the network. It is most often a fully synchronized Bitcoin Core. There are thousands of active nodes in the network, see this chart from bitcoin core developer Luke Dashjr.
If you've heard about how Bitcoin works, you're probably aware that it works with a decentralized database called blockchain. In the case of Bitcoin, it represents records of all transactions that have ever taken place in it. That sounds like a huge amount of data! According to the whitepaper, each Bitcoin user should have their own full node, and therefore their own copy of the whole blockchain. But if you have ever paid for coffee with bitcoin for example, you have certainly not come across anything like that. So where are these hundreds of gigabytes?
It’s the full nodes that verify and validate transactions based on the data in their blockchain and using Bitcoin software. And if you don't have a full node, how can you actually pay with or accept bitcoin?
The bitcoin network is designed so that each user represents a full node. Users use a full node to send, receive and verify transactions based on the rules set out in the Bitcoin software and the data in their database. Therefore, full nodes capture transactions, validate them and forward them to other nodes. They download each transaction and each block, checking them against Bitcoin's consensus rules.
Examples of the most important rules:
If transactions or blocks violate the rules, full nodes reject them, even if all other nodes claim otherwise. This is one of the most important characteristics of full nodes - they work fairly in spite of everything. They also represent protection against a possible attack by miners.
How is it possible that I can pay with my mobile phone without downloading the whole blockchain along with the wallet application? This concept is called SPV wallet - Simplified Payment Verification. The wallet in your mobile phone does not need the entire blockchain, because it relies on foreign nodes in the network that belong to third parties. It asks selected nodes for the status of your addresses and sends transactions through them. However, this poses major security and privacy issues.
SPV - Simplified Payment Verification is a concept that Satoshi himself described in the Bitcoin Whitepaper. It has the ability to verify payments without having to own a full node, based on block headers. However, Satoshi warned that such verification is vulnerable if the network is controlled by an attacker. Today's implementation of SPV is a little different from Satoshi’s original concept.
The problem that arises is that you have to rely on third parties. That is, random nodes in the Bitcoin network or those selected by wallet developers. If all your requests flow through these nodes, there is a problem with anonymity and privacy. These requests can be paired with your device and in some cases even with your physical address.
In addition, SPV wallets rely on what they see on the net. They cannot verify themselves, so they can fall victim to various attacks that we will talk about.
Using your own Bitcoin full node therefore has clear advantages over SPV wallets. But the term “advantages” is a weak description. Using your own full node is absolutely essential if you want to take advantage of the fundamental benefits that Bitcoin itself offers. You may be learning something you've never anticipated, and the use of Bitcoin may suddenly feel like a different world. But the opposite is true.
One thing needs to be realized. We use Bitcoin mainly because we don't have to trust anyone and ask anyone for permission to make a transaction. If we have money in a bank, we must trust it to spend our money for us if we request it. We also have to believe the bank to tell us how much money arrived to our account and whether something actually arrived. In many cases, we do not have a way to verify an incoming transaction. In addition to absolute trust, we must therefore ask the bank for permission, even in the case of non-cash payment via internet banking, or even when paying by card.
"If we compare gold to Bitcoin, the use of our own full node is the same as using your own professional XRF spectrometer to verify the authenticity of our gold.
So the question arises, what is the difference between using the services of a classic bank and using Bitcoin without a full node (sorry, oxymoron). Sure, you own your private keys. But Bitcoin is not just about that.
Moreover, if you take it easy, using a full node is literally an expression of your own financial sovereignty and independence in today's world, and that’s truly a rarity. And if you can look for positives in things, it's also a hobby like any other. In the past, amateur radio was a popular hobby, today the operation of full nodes acts as a hobby for crypto enthusiasts. You play and gain experience. Owning a full node can also be fun, where you will learn an incredible amount of things and understand a lot of context, because the ones you have just learned about are just the tip of the iceberg.
In some cases, a full node is practically inevitable. A basic example is a company that directly accepts or works with Bitcoin. For security reasons, it should run its own full node. This was recommended by Satoshi himself. But let's look at the benefits of running your own full node.
It is not easy to convey to the reader the importance of what using one's own full node means and what the whole thing goes beyond. If Bitcoin didn't allow us to distrust anyone and ask no permission, it wouldn't make sense at all, and we could safely stay with the classic centralized banking system and hope that one day there will be no monetary reform or that we will not wake up and only two hundreds a day could be withdrawn from the ATM.
"Our currency is solid and monetary reform will not happen, all these are rumors spread by class enemies."
- the day before the monetary reform
If we don’t use our own full node, we rely on the full node we trust to tell us the truth about the incoming transaction and its amount. Imagine selling copies of your recordings online and each incoming transaction being a sold recording. If you use a foreign full node, the incoming transactions, their number and the amount of bitcoins received, which will be displayed in your wallet, are completely under the control of the person to whom the full node belongs. It's the same with the bank and literally the service through which you sell recordings.
And quite possibly it will work fine for most of us, because we don't know anything else. Only recently has there been a way to send and receive money without the need for trust, with the ability to reliably verify that a transaction has taken place and found its recipient at the right value. Yes, it's Bitcoin, but you have to use it properly.
And what exactly is privacy? The answer is simple. It is a fundamental human right. Like freedom. We just forgot about privacy a bit and we don't even really know what it is. Today we are taught that privacy is something that criminals, murderers, thieves and rapists need because they have something to hide. So when we think about our own privacy, the conscience asks us if we have anything to hide. And the automatic answer is that we don't. And that's wrong.
The question is not whether we have something to hide, but whether we have something we want to show to others voluntarily.
To maintain the privacy that Bitcoin offers, using a full node is almost a necessity. All SPV solutions except Wasabi Wallet connect your bitcoin addresses with your device, which has unique fingerprints, and your IP address, which in most cases is tied to your name, address, birth number and identity card. This is because you rely on third-party full nodes.
So we can assume that if you repeatedly ask some device for bitcoin addresses, these addresses belong to you. And if you ask someone else's full node, you are actually telling who you are and what you are interested in, to a third party. This can be protected to some extent by using VPNs or torification. Several SPV wallets offer this, such as Wasabi, Samourai or Mycelium. Despite this, the requirement to obtain the status of multiple addresses, for example in the case of HD wallets, still tells us that these addresses probably have the same owner. In that case, one compromised address is enough to bring down every else in your wallet.
If you set up a remote full node in your SPV wallet that you personally trust (your friend's full node) through which to connect, you still haven't won. There’s still a possible MITM attack, i.e. eavesdropping on the connection between your wallet and the selected full node. This can be solved, for example, by using VPN or SSH. The second privacy issue may be that you do not enter the address of this trusted node manually until the wallet is initialized, so your addresses are already revealed. This applies, for example, to the Trezor web wallet, which has the option of connecting to the selected node, but only after it has generated the wallets online.
While using your own full node, you communicate with the bitcoin network directly. You don't need anyone for anything, you don't have to trust anyone and you don't have to ask anyone for anything. You have the maximum privacy and maximum freedom that Bitcoin offers.
The security benefits overlap with the previously mentioned. SPV wallets can be deceived and accept invalid transactions, which can lead to financial losses. Especially when we are talking about services that automatically process bitcoin transactions. The full node provides maximum possible security and should therefore be operated by all businesses that work with bitcoin. Some third-party sales terminals, such as those from General Bytes or Cryptodiggers, address this issue to some extent in their technical implementation. However, if you are receiving cryptocurrencies on your own and want maximum security, a full node is and always will be a necessity.
You now understand and want to start using your own full node? Let's go! It doesn't have to be complicated at all, we have several options. First of all, however, we need a device on which our full node will run. There are not great demands for it, but there are some. Let's mention the SSD primarily.
Bitcoin's blockchain currently has more than 310 GB and is still growing, so a disk with a large enough capacity is needed. And of course a fast enough disk that can work all the time. The best choice is an SSD. Given that their capacity, performance and longevity have been rising recently and the price is falling, this is not a staggering investment. The minimum choice should be an SSD disk with a capacity of 500 GB, so that the full node has a nice few years to store the data.
The HDD is almost out of the question, because the constantly spinning disk wears out quickly and achieves many times slower data synchronization.
RAM is also important. The minimum recommended RAM for the full node itself is 2 GB, but this depends on the operating system and other applications that you want to use with the full node. With 8 GB of RAM, you can synchronize a full node very quickly. Internet connection is key - you need a stable connection with a minimum recommended upload speed of 400 kB / s. Unlimited internet will also come in handy, as a full node can send hundreds of gigabytes of data monthly if you give it a chance.
For the purpose of a full node, you can use your computer, or a separate older computer, server, or build your own device from a microcomputer like Raspberry. The latest Raspberry PI 4 should have no problem handling Bitcoin full node. Of course, there are also more powerful variants of single board computers, such as the Odroid H2 or the Rock64 4GB, on which the Nodl is built, which we will talk about in a moment.
The simplest and most widespread classic is Bitcoin Core. It is a complete Bitcoin software, including a wallet, which also works as a full node.
Bitcoin Core client is a software from developers Bitcoin, which is used by most of the full nodes in the network. Setup and use is simple, the application is also in Czech, and most importantly, you get all the above-mentioned benefits. You can use it straight away as a wallet. Everything in a user-friendly graphical interface without the need to know how to use the command line.
However, if you need to, it allows you to use various advanced options, including special features, using the built-in console. For example, you can create a transaction with OP_RETURN and write to the blockchain your own text or link. Bitcoin Core is, of course, open source available for Windows, MacOS and a number of Linux distributions. So let's see how to get it!
But there are even more elegant solutions than the ones you have seen so far. Many Bitcoin developers realize that running, using, and maintaining full nodes may not be for everyone. It must be reliable, stable and always available. And so the market came up with a solution with ready-made Bitcoin full nodes, which, thanks to their ingenuity, solve the vast majority of issues that you would otherwise have to deal with.
myNode is one of the most popular ways to use your own Bitcoin full node and at the same time a way to start using not only the Lightning Network, but also a host of other applications.
The most apt name would probably be Bitcoin AppStore. The myNode project has embarked on the path of integrating many interesting applications that exist on Bitcoin, and there will certainly be more in time. In it you will find a complete Samourai Wallet stack, BTCPay and Electrum server, own explorers, Lightning Network LND wallet and Blockstream Elements. Definitely worth a try!
RoninDojo is a Bitcoin full node project with the main goal of supporting the Samourai Wallet ecosystem and making the best possible way to use this mobile wallet available to as many users as possible. With RoninDojo you get not only Bitcoin Core with a completely verified and synchronized blockchain, but also Electrum server, Whirlpool and, as the name suggests, your own Dojo.
Unlike myNode, the developers of the project have taken a more conservative path and, to put it bluntly, do not add every stupidity that comes to their hands. It focuses more on security, stability and user experience. The main intention remains to have your own Dojo and simplicity of use. If you are interested in this choice, be sure to read our article: RoninDojo (REVIEW): Backend for your Samourai Wallet with the help of raspberries.
Nodl once again paves the way for safety and reliability. In addition to Bitcoin full node and Lightning Network, it offers, for example, BTCPay Server, Samourai Wallet stack (Dojo and Whirlpool) and, of course, its own Electrum server.
The complete synchronization of the bitcoin full node takes only about 46 hours. Synchronizing the Lightning Network node is then a matter of a few hours. Nodl is currently available in two variants, Nodl One and Nodl Red. Nodl Red is a tailor-made Samourai Wallet ecosystem, offering redundant storage and complete SSD encryption. There is also a hardware killswitch in case of an unpleasant event, and encrypted backups on a USB flash drive.
Application Ride The Lightning offers a great graphical interface to control LND for sending transactions, opening channels and all sorts of things that only you can do with the Lightning Network. The biggest however, is the implemented BTCPay Server, which is currently the most sophisticated payment gateway for bitcoin for both on-chain and off-chain (LN) payments. BTCPay is a completely open-source project that, with its ingenuity, allows you to receive bitcoin without KYC/AML, while sticking closest to the original bitcoin ideology of all available payment gateways.
Nodl, myNode and RoninDojo work by default behind the Tor to maintain first-class privacy and security with respect to its owner.
There are a few other, mostly DYI full node projects that are worth mentioning. These are, for example, Raspibolt, Raspiblizt, Casa Node and BitBoxBase, which is still in initial development and in the beta testing in which we also participated.
The advantage of these projects is that you will learn an incredible amount of things even as complete beginners. You will gain a basic knowledge of Linux, the command line and other things. Casa Node used to be sold as a ready-made solution, it has its own mobile app, and only recently have the creators changed their position and published the source codes and instructions on how to build your full node. BitBoxBase looks like a really promising project from ShiftCrypto, the creator of the BitBox2 hardware wallet. The main developer is Stadicus, the creator of the DYI project Raspibolt.
Once you run your own full node, you can use it to connect your SPV wallet to it, such as your smartphone. While this may still have some of the disadvantages mentioned above (and which can be easily addressed), it is definitely a better choice than using third-party full nodes.
In the picture you can see the network settings of the Electrum wallet. Here you can see a number of foreign Electrum Servers, ie foreign full nodes that you can use. However, you can specify your own server to which Electrum will connect and which it will use.
Many wallets have the ability to connect to your own node or an Electrum Server. You can find this option in the settings, or you have to look in the documentation or user forums. For example, the aforementioned Trezor allows to connect to your own Electrum Personal Server, ElectrumX or Electrs via Electrum wallet. This solution will be provided without any worries by just mentioned Nodl.
However, Wasabi Wallet offers a pleasantly simple solution for SPV. If it detects a running full node on your computer, it will automatically connect to it. Wasabi is focused on privacy and thanks to its use with your own node, you will reach its high level.
Using your own Bitcoin full node should be automatic and without a debate. If you believe in Bitcoin and take your security and privacy seriously, using your own full node should be a matter of course for you. In the end, there is nothing left but to get started, abandon old and bad habits and use Bitcoin to get the most out of it, while returning to the bitcoin network and its users the same thing that they provide you for free and without a single question.