1
0
mirror of https://github.com/bitcoinbook/bitcoinbook synced 2024-11-29 11:28:20 +00:00

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.
This commit is contained in:
David A. Harding 2023-02-05 08:48:44 -10:00
parent ff1d3fb92e
commit 8e9fc4485c

View File

@ -343,50 +343,55 @@ $ which bitcoin-cli
((("Bitcoin Core", "running core nodes", id="BCnode03")))((("Bitcoin
nodes", "running core nodes", id="BNcore03")))Bitcoin's peer-to-peer
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
blockchain, with a local copy of all the transactions, independently
validated by their own system. By running a node, you don't have to rely
on any third party to validate a transaction. Moreover, by running a
Bitcoin node you contribute to the Bitcoin network by making it more
blockchain, with a local copy of all the spendable bitcoins
independently validated by their own system. By running a node, you
don't have to rely on any third party to validate a transaction.
Additionally, by running a Bitcoin node, you contribute to the Bitcoin
network and help make it more
robust.
Running a node, however, requires a permanently connected system with
enough resources to process all Bitcoin transactions. Depending on
whether you choose to index all transactions and keep a full copy of the
blockchain, you may also need a lot of disk space and RAM. As of early
2018, a full-index node needs 2 GB of RAM and a minimum of 160 GB of
disk space (see https://blockchain.info/charts/blocks-size[]). Bitcoin
nodes also transmit and receive bitcoin transactions and blocks,
consuming 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>>).
Running a node, however, requires downloading and processing over 500 GB
of data initially and about 400 MB of Bitcoin transactions per day.
These figures are for 2023 and will likely increase over time. If you
shut down your node or get disconnected from the internet for several
days, your node will need to download the data that it missed. For
example, if you close Bitcoin Core for ten days, you will need to
download approximately 4 GB the next time you start it.
Depending on whether you choose to index all transactions and keep a
full copy of the blockchain, you may also need a lot of disk space---at
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]
====
((("warnings and cautions", "core node resource
requirements")))((("resource requirements")))Bitcoin Core keeps a full
copy of the blockchain by default, with every transaction that has ever
occurred on the Bitcoin network since its inception in 2009. This
dataset is dozens of gigabytes in size and is downloaded incrementally
over several days or weeks, depending on the speed of your CPU and
copy of the blockchain by default, with nearly every transaction that has ever
been confirmed on the Bitcoin network since its inception in 2009. This
dataset is hundreds of gigabytes in size and is downloaded incrementally
over several hours or days, depending on the speed of your CPU and
internet connection. Bitcoin Core will not be able to process
transactions or update account balances until the full blockchain
dataset is downloaded. Make sure you have enough disk space, bandwidth,
and time to complete the initial synchronization. You can configure
Bitcoin Core to reduce the size of the blockchain by discarding old
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
USD computer the size of a pack of cards). Many volunteers also run
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.
USD computer the size of a pack of cards).
Why would you want to run a node? Here are some of the most common
reasons: