Bitcoin Education

Bitcoin Nodes

After buying bitcoin, the next step for most users is to withdraw that bitcoin to their own wallet (that is, a wallet which they have the private key for). This is because storing bitcoin in your own wallet comes with better privacy, security, and self-sovereignty than leaving it on a bitcoin exchange. However, because all wallets need to be connected to a bitcoin node to function properly, the following queries often arise: What is a bitcoin node? Why should I run a bitcoin node? What does it cost? What are the different types of bitcoin nodes available? This article aims to answer those questions and explain how to run a bitcoin node.

What is a bitcoin node?

A bitcoin node is a device (like a computer) that runs bitcoin software and connects to other nodes to form the bitcoin network. You may have heard bitcoin described as a “decentralised peer-to-peer network” – bitcoin nodes are a vital peer that make up this network (and there are currently over 60,000 nodes running globally!). Each node stores a record of the “bitcoin blockchain” (the public ledger of all bitcoin transactions) and the bitcoin “consensus rules” (a set of rules the node uses to validate every past and future transaction on its copy of the bitcoin blockchain).

In practical terms, a bitcoin wallet connects to a bitcoin node, and that node then connects to many other bitcoin nodes. You can think of your node as being your gateway to the bitcoin ecosystem. While you may interact with your bitcoin primarily using your wallet software, it is actually the node your wallet is connected to which enables the important functions, such as broadcasting outgoing transactions, validating incoming transactions, and updating your wallet balance.

It is worth noting that a bitcoin node is not a bitcoin miner. Said briefly, a bitcoin miner uses specialised hardware to solve a computationally intensive mathematical problem in order to mine the next bitcoin block (that is, a block full of bitcoin transaction data that will be added to the blockchain). Miners receive some bitcoin as a reward whenever they successfully mine the next block. On the other hand, a bitcoin node will simply receive newly mined blocks from miners, validate the transactions contained within each new block, and if the block and its transactions are valid, then the node will add that block to its own copy of the bitcoin blockchain.

Why should I run a bitcoin node?  
If you do not run your own node, then you are trusting a node belonging to someone else (and you are trusting them with details like your IP address/location, bitcoin balance, and past and future bitcoin transactions). While you may be okay with trusting a third party, it is more private and secure to verify things yourself (which is what your node does for you). Basic functions of a bitcoin node include:

  • Maintaining (including validating) your copy of the bitcoin blockchain (eg, so that you may query it with your wallet software to view balances and transaction history).
  • Propagating your copy of the bitcoin blockchain (eg, by allowing newer nodes to download and validate your copy of the blockchain for their own use).
  • Validating your incoming bitcoin transactions (eg, verifying you are receiving real bitcoin and the sender has authority to spend those bitcoin to you).
  • Broadcasting your outgoing bitcoin transactions.

A node can also perform more advanced features, dependent on the node software you use. For example, this may include running a:

  • Tor encrypted connection to connect your node to the bitcoin network in a more private way, making it difficult for third parties (including your ISP) to monitor your network traffic or trace node activities back to your IP address/location.
  • Lightning node to send/receive smaller and near-instant lightning network transactions.
  • Coinjoin implementation to use privacy-focused bitcoin transactions which make it difficult for third parties to decipher the details of your transactions, such as the sender, recipient, and amount transacted.
  • Block explorer to privately view details about any block, transaction, or address on the bitcoin blockchain.
  • Mempool viewer to privately monitor the status of the bitcoin network, including where a specific transaction sits in the queue of bitcoin transactions waiting to be confirmed.

What does a bitcoin node cost?

The cost to set up and run a bitcoin node will depend on whether you choose a beginner or advanced option. It will usually take a few hours to set up a beginner node and up to a day for an advanced do-it-yourself (DIY) device. Once the node is set up, you may also need an hour every few months to run updates and troubleshoot any issues that arise.

The monetary value of a node can range from free (when using an old laptop to run a beginner node) up to around $600 AUD (when buying an advanced purpose-built device). To avoid further costs, it is best to run a node on an unlimited broadband connection, as the initial blockchain download is around 355GB; and after that, the monthly data use will be approximately 60GB upload and 15GB download (assuming your node is turned on all the time).

Additionally, as nodes are designed to run 24/7, it is worthwhile considering energy costs. If you run an advanced node (generally using a low power single-board computer [SBC]), then your energy consumption will be negligible. However, if you run your node on a laptop or desktop computer, then this may equate to considerably more energy use.

What are some bitcoin node options?

A non-exhaustive selection of beginner and advanced node implementations are summarised and compared below. These options are open source, reasonably priced, long-standing, and well-supported. Always double-check each project’s website before making any purchases to ensure you buy the recommended hardware and have adequate set up instructions.

Beginner

Bitcoin Core on a Laptop/Desktop

The best option for a beginner is to use an existing laptop or desktop computer to download and install Bitcoin Core. Bitcoin Core is a free and open source full node software – it is actually the node which other projects build their implementations around (eg, by adding hardware and software features, as well as modifying the user interface). While Bitcoin Core comes with basic features (eg, an in-built wallet and configurable Tor connectivity), it has comparatively less than those available in an advanced node implementation (eg, lightning network capability, coinjoin functionality, block explorer, mempool viewer, etc). If you decide to use Bitcoin Core, then please note the in-built wallet does not support hardware wallets, although several other wallets which can be connected to Bitcoin Core do (eg, Specter, Sparrow, and Ledger Live).

Bitcoin Core Hardware Recommendations *

System: Desktop or Laptop (ideally this will be a dedicated device only for Bitcoin Core and your wallet software, otherwise there may be security and privacy trade-offs)

Operating system: Windows 7/8/10, Mac OSX, or Linux

Disk space: ~1TB SSD or HDD (SSD is preferred, as downloading and validating the blockchain is much faster than with HDD)

Memory (RAM): 1GB

* It is possible to run Bitcoin Core on hardware below these recommendations. For example, some users run a “pruned node”, which takes up less storage space but provides decreased functionality and requires more configuration than the “full nodes” detailed in this article. That option may be worth exploring if you are an advanced user with older hardware.

Advanced

There are numerous options for advanced users. Most advanced node projects have both “node in a box” (or “plug-n-play”) and DIY hardware implementations. While these options may seem expensive, there are various benefits to running a dedicated purpose-built node device:

  • better security (eg, running a dedicated node device is more secure than using a laptop which is also used for other online tasks by multiple people);
  • lower energy cost (eg, an SBC uses far less power than a laptop);
  • more features and customisability; and
  • better performance.

See the table later in this article for a comparison of the advanced node projects in regards to their overall features and compatible wallets.

MyNode

myNode is designed to be an easy-to-install and simple-to-use bitcoin and lightning node implementation. It is full of features that will meet the needs of most advanced users. However, it is worth noting the plug-n-play options come with premium software which provides better functionality and support when compared to the free software used with the DIY version.

Plug-n-play

  • myNode One (~$600 AUD): Premium Software + Raspberry Pi4 Device Bundle (with SSD)
  • myNode One (~$480 AUD): Premium Software + Raspberry Pi4 Device Bundle (with HDD)

DIY

  • myNode Community (~$330 AUD): Free Software + Raspberry Pi4 Device Bundle (with SSD)

RaspiBlitz

RaspiBlitz is a feature-packed bitcoin and lightning node implementation aimed at users who don’t mind a steeper learning curve. A commonly reported strength of this option is its stability and solid uptime. On the other hand, the RaspiBlitz primarily uses an on-device display to interact with and monitor the node – this tends to be less user-friendly compared to most other nodes implementations which use a website interface.

Plug-n-play

  • RaspiBlitz Official (~$455 AUD): Raspberry Pi4 Device Bundle (with SSD) + LCD Display

DIY

  • RaspiBlitz DIY (~$370AUD): Raspberry Pi4 Device Bundle (with SSD) + LCD Display

RoninDojo

RoninDojo is focused primarily on being a Samourai Wallet node. RoninDojo and Samourai Wallet arguably have the best bitcoin privacy tools available (including stealth addresses, bitcoin mixing and coinjoin, and coin control). Due to RoninDojo’s relatively narrow focus, its security and reliability/uptime of this node implementation are reportedly second-to-none.

Recommended (some assembly required)

  • RockPro64 Recommended (~$535 AUD): RockPro64 Device Bundle (with SSD)
  • Raspberry Pi4 Recommended (~$480 AUD): Raspberry Pi4 Device Bundle (with SSD)


DIY

  • Odroid N2 DIY (~$400 AUD): Odroid N2 Device Bundle (with SSD)

Comparison

* Most node implementations work optimally with certain wallets. Several examples are provided here for each node; however, as these may change, you should always check the recommendations on your selected node project’s website.

Summary

While the process of setting up a node can seem daunting, it is best to approach it the same way most people approach bitcoin itself: the first step is to “get off zero” and then let the rest happen naturally. In other words, start by setting up a free beginner node (eg, Bitcoin Core) on an old computer – if you enjoy the process or need more features, then it might be time to explore more advanced options! For advanced users, if you prefer a wallet focused on privacy, then a RoninDojo would be worth investigating; whereas if you want a wallet that can use both bitcoin and lightning, then a myNode or RaspiBlitz may suit your needs better.