Full node - Bitcoin Wiki (2024)

Any computer that connects to the Bitcoin network is called a node. Nodes that fully verify all of the rules of Bitcoin are called full nodes. The most popular software implementation of full nodes is called Bitcoin Core, its latest release can be found on the github page.

Contents

  • 1 What makes a full node?
    • 1.1 Archival Nodes
  • 2 Why should you use a full node wallet
    • 2.1 Summary
    • 2.2 Economic strength
    • 2.3 Privacy
    • 2.4 Security
    • 2.5 Network services
    • 2.6 Some are incentivizing it
  • 3 How to run a full node
    • 3.1 Tips and tricks for running a node
  • 4 See Also
  • 5 References

What makes a full node?

Full nodes download every block and transaction and check them against Bitcoin's consensus rules. Here are examples of consensus rules, though there are many more:

  • Blocks may only create a certain number of bitcoins. (Currently 6.25 BTC per block.)
  • Transactions must have correct signatures for the bitcoins being spent.
  • Transactions/blocks must be in the correct data format.
  • Within a single block chain, a transaction output cannot be double-spent.

If a transaction or block violates the consensus rules, then it is absolutely rejected, even if every other node on the network thinks that it is valid. This is one of the most important characteristics of full nodes: they do what's right no matter what. For full nodes, miners actually have fairly limited power: they can only reorder or remove transactions, and only by spending a lot of computing power. A powerful miner is able to execute some serious attacks, but because full nodes rely on miners only for a few things, miners could not completely change or destroy Bitcoin.

Nodes that have different consensus rules are actually using two different networks/currencies. Changing any of the consensus rules requires a hard fork, which can be thought of as creating a new currency and having everyone move to it. Consensus rules are different from policy rules, which specify how a node or miner prioritizes or discourages certain things. Policy rules can be changed freely, and different nodes can have different policy rules. Because all full nodes must use exactly the same consensus rules in order to remain compatible with each other, even duplicating bugs and oddities in the original consensus rules, creating a full node from scratch is extremely difficult and dangerous. It is therefore recommended that everyone who wishes to run a full node uses software based on the reference client, which is the only client guaranteed to behave correctly.

At minimum, a full node must download every transaction that has ever taken place, all new transactions, and all block headers. Additionally, full nodes must store information about every unspent transaction output until it is spent. By default full nodes are inefficient in that they download each new transaction at least twice, and they store the entire block chain (more than 165 GB as of 20180214) forever, even though only the unspent transaction outputs (<2 GB) are required. Performance can improved by enabling -blocksonly mode and enabling pruning.

Archival Nodes

A subset of full nodes also accept incoming connections and upload old blocks to other peers on the network. This happens if the software is run with -listen=1 as is default. Contrary to some popular misconceptions, being an archival node is not necessary to being a full node. If a user's bandwidth is constrained then they can use -listen=0, if their disk space is constrained they can use pruning, all the while still being a fully-validating node that enforces bitcoin's consensus rules and contributing to bitcoin's overall security.

Why should you use a full node wallet

Summary

Running a full node is the only way you can use Bitcoin in a trustless way. You will know for sure that all the rules of Bitcoin are being followed, for example that no bitcoins are spent not belonging to the owner, that no coins were spent twice, that no inflation happens outside of the schedule and that all the rules needed to make the system work (e.g. difficulty) are followed. Full nodes are currently the most private way to use Bitcoin, with nobody else learning which bitcoin addresses belong to you. Full nodes are the most secure way to use Bitcoin, they do not suffer from many attacks that affect lightweight wallets.

Economic strength

This is by far the most important reason for running a full node, though it is a little difficult to understand.

As explained previously, full nodes enforce the consensus rules no matter what. However, lightweight nodes do not do this. Lightweight nodes do whatever the majority of mining power says. Therefore, if most of the miners got together to increase their block reward, for example, lightweight nodes would blindly go along with it. If this ever happened, the network would split such that lightweight nodes and full nodes would end up on separate networks, using separate currencies. People using lightweight nodes would be unable to transact with people using full nodes. If all businesses and many users are using full nodes, then this network split is not a critical problem because users of lightweight clients will quickly notice that they can't send or receive bitcoins to/from most of the people who they usually do business with, and so they'll stop using Bitcoin until the evil miners are overcome, which is the appropriate response. However, if almost everyone on the network is using lightweight nodes in this situation, then everyone would continue being able to transact with each other, and so Bitcoin could very well end up "hijacked" by evil miners.

In practice, miners are unlikely to attempt anything like the above scenario as long as full nodes are prevalent because the miners would lose a lot of money. But the incentives completely change if everyone uses lightweight nodes. In that case, miners definitely do have an incentive to change Bitcoin's rules in their favor. It is only reasonably secure to use a lightweight node because most of the Bitcoin economy uses full nodes.

Therefore, it is critical for Bitcoin's survival that the great majority of the Bitcoin economy be backed by full nodes, not lightweight nodes. This is especially important for Bitcoin businesses, which have more economic weight. To contribute to Bitcoin's economic strength, you must actually use a full node for your real transactions (or use a lightweight node connected to a full node that you personally control). Just running a full node on a server somewhere does not contribute to Bitcoin's economic strength.

More details https://www.reddit.com/r/BitcoinBeginners/comments/3eq3y7/full_node_question/ctk4lnd

Privacy

Downloading the entire blockchain is the most private way to operate a wallet. All other lightweight solutions leak information about which addresses are yours because they must query third-party servers. The Electrum servers will know which addresses belong to you and can link them together. Despite bloom filtering, SPV nodes based on BitcoinJ do not provide much privacy against nodes who connected directly to the wallet.[1]

For some use cases, such privacy may not be required. But an important reason to run a full node and use it as a wallet is to get the full privacy benefits.

Security

Lightweight nodes are sometimes able to be temporarily tricked into accepting transactions or blocks that are not actually valid. This could cause serious financial damage, especially for websites that automatically process Bitcoin transactions. Full nodes provide the maximum security possible, and so they should be used by all businesses, and also by regular users whenever doing so is convenient.

Network services

Full nodes may provide various services to other network participants (if the software is run with -listen=1 as is default). This is especially important for lightweight nodes.

These services include:

  • Filtering transactions and blocks on behalf of lightweight nodes so that lightweight nodes do not need to download every transaction ever made on the network in order to find their own transactions.
  • Serving historical full blocks to nodes that have been offline for a while.
  • Transmitting new transactions from users to miners.
  • Broadcasting new blocks from miners to other nodes.

For the most part, these services are only usefully performed by full nodes that are listening on port 8333. The more full nodes that accept incoming connections there are, the more users the Bitcoin network can support. Although if there is ever a shortage, lots of archival nodes can be easily created by cheaply renting VPS or AWS space.

Some are incentivizing it

Bitnodes ran a program to incentivize full node operators until the end of 2015.[2]

How to run a full node

If you run the Bitcoin Core/bitcoind wallet, you are running a full node. If you open port 8333, you will contribute to the network's capacity. If you actually use the wallet feature, or if you use a lightweight client like MultiBit but configure it to connect exclusively to your full node, then you will contribute to the network's economic strength and receive protection from some possible attacks against lightweight nodes.

There are a few alternate full node implementations, but they are not recommended for serious use because it is currently difficult to determine whether they implement the consensus rules with 100% accuracy. Even very slight inaccuracies could cause serious problems for the users of these alternate clients. Example of implementations Bitcore, libbitcoin, btcd.

Tips and tricks for running a node

For Bitcoin Core:

  • Improve sync speed by increasing the dbcache value in configuration. This value controls how many megabytes of RAM to use for the database cache, increase it to as much as your hardware allows to reduce the disk operations and increase speed.
  • To store the blockchain files on an external hard drive use -datadir. e.g. -datadir=/path/to/your/bitcoin/directory.

See Also: Running Bitcoin

See Also

References

Full node - Bitcoin Wiki (2024)

FAQs

What is a full node in Bitcoin? ›

A 'full node' is a computer in Bitcoin's peer-to-peer network, which hosts and synchronises a copy of the entire Bitcoin blockchain. Nodes are essential for keeping a cryptocurrency network running.

How much does it cost to run a Bitcoin full node? ›

Bitcoin Full Node with Ordinal Protocol support on AWS by Techlatest.net
EC2 Instance typeSoftware/hrTotal/hr
m4.large$0.13$0.23
m4.xlarge$0.13$0.33
m4.2xlarge$0.13$0.53
m4.4xlarge$0.13$0.93
71 more rows

What can full nodes not do? ›

Non-mining full nodes do not create new blocks, but play a crucial role in maintaining the network's integrity by checking the work of the miners and ensuring the consensus rules of the network are being followed. Despite playing a critical role, full nodes are often misunderstood.

What are the benefits of running a full Bitcoin node? ›

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.

Does running a Bitcoin node make money? ›

While no one will pay you for running a Lightning Node, you can charge routing fees for payments that go through your channels. This can become a good source of revenue, but it takes a lot of learning, effort and manual tweaking to make a node profitable.

How many Bitcoin full nodes are there? ›

As of Februrary 2024, there are currently approximately 18,000 public nodes running on the Bitcoin network. This number is regularly updated and accounts for duplicate and non-listening nodes. As more people join the network, the more nodes and miners are needed to keep the network functioning and decentralized.

Can anyone run a Bitcoin node? ›

Anyone can become a Bitcoin node operator and participate in securing the network by simply downloading the Bitcoin Core software, thus making the blockchain transparent, immutable and decentralized.

How much electricity does a Bitcoin node use? ›

Full nodes are usually run on desktop class hardware such as an old laptop / mini desktop PC or on low power hardware such as a Raspberry Pi. A laptop or desktop computer might use 15-30 kWh per month while a Raspberry Pi's will only use around 5-7 kWh per month.

What hardware do you need for Bitcoin node? ›

A computer or Raspberry Pi. A hard drive or SSD with at least 600 GB of free space. An internet connection with upload and download speeds of at least 50 Mbps. A Bitcoin node software client.

Can a full node contain a wallet? ›

It's possible and safe to run a full node to support the network and use its wallet to store your bitcoins, but you must take the same precautions you would when using any Bitcoin wallet.

What happens if all Bitcoin nodes shut down? ›

If all bitcoin nodes and servers were to shutdown there would be no bitcoin network. With no network there is no bitcoin. The network is necessary for transactions to be processed and confirmed. This, of course, would never happen in the foreseeable future.

How long does a node last? ›

Nodes have three possible purities, which affect how fast are resources extracted (see below). All resource nodes are infinite which means they cannot be depleted.

What is the difference between Bitcoin full node and miner? ›

A Bitcoin miner or Bitcoin mining node is a type or subset of a full node. However, not all full nodes are mining nodes. A full node maintains a complete and updated copy of the blockchain and validates transactions and blocks. Mining nodes include these capabilities but also participate in the mining process.

What is the difference between a node and a miner in Bitcoin? ›

Nodes function as communication hubs, storing the blockchain, validating transactions, and relaying information. Conversely, miners provide computational power to create new blocks, validate transactions, maintain consensus, and secure the network.

How to have your own Bitcoin node? ›

You can operate a Bitcoin node on an SBC (Single Board Computer) such as a Raspberry Pi or RockPro64. These are small devices that use less power and can be left on all the time cheaply. Various software node packages will help make this process easy.

What is full node vs light node Bitcoin? ›

Light nodes' reduced blockchain data requirements keep them running quickly without their underlying systems getting bogged down by too much data. A full node does everything that a regular node does, but it also contains an entire copy of the blockchain ledger, i.e. all that blockchain's transactions, in real time.

What is full node vs partial node Bitcoin? ›

A full node is a complete list of every single transaction that has occurred on a blockchain. A light node, is only a partial list. For example, a full Bitcoin node would have every single block that has ever been created on the Bitcoin network from 2009, all the way to now.

Is Bitcoin core a full node? ›

Initially, the software was published by Satoshi Nakamoto under the name "Bitcoin", and later renamed to "Bitcoin Core" to distinguish it from the network. It is also known as the Satoshi client. Bitcoin Core includes a transaction verification engine and connects to the Bitcoin network as a full node.

Top Articles
Latest Posts
Article information

Author: Greg Kuvalis

Last Updated:

Views: 6334

Rating: 4.4 / 5 (75 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Greg Kuvalis

Birthday: 1996-12-20

Address: 53157 Trantow Inlet, Townemouth, FL 92564-0267

Phone: +68218650356656

Job: IT Representative

Hobby: Knitting, Amateur radio, Skiing, Running, Mountain biking, Slacklining, Electronics

Introduction: My name is Greg Kuvalis, I am a witty, spotless, beautiful, charming, delightful, thankful, beautiful person who loves writing and wants to share my knowledge and understanding with you.