CH03::running a node: update resource requirements

- Update resource requirements to their 2023 figures (and mention that
  they may increase in the future).

- Be more precise about the minimal data a node needs, e.g. disk space
  requirements with pruning enabled and bandwidth in blocks-only mode.

- Mention bandwidth alternatives, like Blockstream Satellite

- Drop text about running on a VPS, since that's not useful to the
  network and not sure for anyone using a wallet.
develop
David A. Harding 1 year ago
parent ff1d3fb92e
commit 8e9fc4485c

@ -343,50 +343,55 @@ $ which bitcoin-cli
((("Bitcoin Core", "running core nodes", id="BCnode03")))((("Bitcoin ((("Bitcoin Core", "running core nodes", id="BCnode03")))((("Bitcoin
nodes", "running core nodes", id="BNcore03")))Bitcoin's peer-to-peer nodes", "running core nodes", id="BNcore03")))Bitcoin's peer-to-peer
network is composed of network "nodes," run mostly by volunteers and network is composed of network "nodes," run mostly by volunteers and
some of the businesses that build bitcoin applications. Those running some of the businesses that provide Bitcoin services. Those running
Bitcoin nodes have a direct and authoritative view of the Bitcoin Bitcoin nodes have a direct and authoritative view of the Bitcoin
blockchain, with a local copy of all the transactions, independently blockchain, with a local copy of all the spendable bitcoins
validated by their own system. By running a node, you don't have to rely independently validated by their own system. By running a node, you
on any third party to validate a transaction. Moreover, by running a don't have to rely on any third party to validate a transaction.
Bitcoin node you contribute to the Bitcoin network by making it more Additionally, by running a Bitcoin node, you contribute to the Bitcoin
network and help make it more
robust. robust.
Running a node, however, requires a permanently connected system with Running a node, however, requires downloading and processing over 500 GB
enough resources to process all Bitcoin transactions. Depending on of data initially and about 400 MB of Bitcoin transactions per day.
whether you choose to index all transactions and keep a full copy of the These figures are for 2023 and will likely increase over time. If you
blockchain, you may also need a lot of disk space and RAM. As of early shut down your node or get disconnected from the internet for several
2018, a full-index node needs 2 GB of RAM and a minimum of 160 GB of days, your node will need to download the data that it missed. For
disk space (see https://blockchain.info/charts/blocks-size[]). Bitcoin example, if you close Bitcoin Core for ten days, you will need to
nodes also transmit and receive bitcoin transactions and blocks, download approximately 4 GB the next time you start it.
consuming internet bandwidth. If your internet connection is limited,
has a low data cap, or is metered (charged by the gigabit), you should Depending on whether you choose to index all transactions and keep a
probably not run a Bitcoin node on it, or run it in a way that full copy of the blockchain, you may also need a lot of disk space---at
constrains its bandwidth (see <<constrained_resources>>). least 1 TB if you plan to run Bitcoin Core for several years. By
default, Bitcoin nodes also transmit transactions and blocks to other
nodes (called "peers"), consuming upload internet bandwidth. If your
internet connection is limited, has a low data cap, or is metered
(charged by the gigabit), you should probably not run a Bitcoin node on
it, or run it in a way that constrains its bandwidth (see
<<constrained_resources>>). You may connect your node instead to an
alternative network, such as a free satellite data provider like
https://blockstream.com/satellite/[Blockstream Satellite].
[TIP] [TIP]
==== ====
((("warnings and cautions", "core node resource ((("warnings and cautions", "core node resource
requirements")))((("resource requirements")))Bitcoin Core keeps a full requirements")))((("resource requirements")))Bitcoin Core keeps a full
copy of the blockchain by default, with every transaction that has ever copy of the blockchain by default, with nearly every transaction that has ever
occurred on the Bitcoin network since its inception in 2009. This been confirmed on the Bitcoin network since its inception in 2009. This
dataset is dozens of gigabytes in size and is downloaded incrementally dataset is hundreds of gigabytes in size and is downloaded incrementally
over several days or weeks, depending on the speed of your CPU and over several hours or days, depending on the speed of your CPU and
internet connection. Bitcoin Core will not be able to process internet connection. Bitcoin Core will not be able to process
transactions or update account balances until the full blockchain transactions or update account balances until the full blockchain
dataset is downloaded. Make sure you have enough disk space, bandwidth, dataset is downloaded. Make sure you have enough disk space, bandwidth,
and time to complete the initial synchronization. You can configure and time to complete the initial synchronization. You can configure
Bitcoin Core to reduce the size of the blockchain by discarding old Bitcoin Core to reduce the size of the blockchain by discarding old
blocks (see <<constrained_resources>>), but it will still download the blocks (see <<constrained_resources>>), but it will still download the
entire dataset before discarding data. entire dataset.
==== ====
Despite these resource requirements, thousands of volunteers run Bitcoin Despite these resource requirements, thousands of people run Bitcoin
nodes. Some are running on systems as simple as a Raspberry Pi (a $35 nodes. Some are running on systems as simple as a Raspberry Pi (a $35
USD computer the size of a pack of cards). Many volunteers also run USD computer the size of a pack of cards).
Bitcoin nodes on rented servers, usually some variant of Linux. A
_Virtual Private Server_ (VPS) or _Cloud Computing Server_ instance can
be used to run a Bitcoin node. Such servers can be rented for $25 to $50
USD per month from a variety of providers.
Why would you want to run a node? Here are some of the most common Why would you want to run a node? Here are some of the most common
reasons: reasons:

Loading…
Cancel
Save