@ -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 application s. Those running
some of the businesses that provide Bitcoin service s. 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 confirm ed on the Bitcoin network since its inception in 2009. This
dataset is dozens of gigabytes in size and is downloaded incrementally
dataset is hundred s of gigabytes in size and is downloaded incrementally
over several days or week s, depending on the speed of your CPU and
over several hours or day s, 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: