<p>The state a full node is in while it is aware it is significantly behind the rest of the network is called <strong>initial block download</strong>, or IBD. Being in IBD makes the node make different tradeoffs, like preferring bandwidth over latency, and more aggressively batching operations.</p>

<p>While downloading blocks, getting a node closer to the most-work chain tip, <strong>block validation</strong> happens. This includes sanity checking the received data, verifying its difficulty and proof of work claims, checking that all coins spent by its transaction inputs exist and haven't been spent already, verifying the scripts and ECDSA signatures, and marking the inputs as spent and remembering the outputs created as being available for spending.</p>

<p>The whole process of learning and downloading and validating new blocks to get to the same knowledge other nodes have is called <strong>synchronization</strong>.</p>

CC BY-SA 3.0
2017-12-16T17:55:51.863Z
2017-12-16T17:55:51.863Z
Pieter Wuille
<p>When a new node connects for the first time to the Bitcoin network, it first needs to determine <em>what</em> is in the ledger, and what is not. As far as I understood, it does so by connecting to the Bitcoin overlay network, downloading the blockchain and checking all the proofs of work. In case of multiple blockchains found, it just selects the longest and commits its transactions on top of that one.</p>

<p>Now, I wonder: does this process have a name? The process to start from scratch and determine what the state of the ledger is? I usually call it <strong>bootstrap</strong> but I am not sure whether or not it is the correct term to use.</p>

<synchronization>
What is the name of the procedure of downloading and checking the ledger for a new node?
Matteo Monti
# What is the name of the procedure of downloading and checking the ledger for a new node?

(Asked by: username_0 on 2017-12-16)

When a new node connects for the first time to the Bitcoin network, it first needs to determine *what* is in the ledger, and what is not. As far as I understood, it does so by connecting to the Bitcoin overlay network, downloading the blockchain and checking all the proofs of work. In case of multiple blockchains found, it just selects the longest and commits its transactions on top of that one.

Now, I wonder: does this process have a name? The process to start from scratch and determine what the state of the ledger is? I usually call it **bootstrap** but I am not sure whether or not it is the correct term to use.

**Tags:** synchronization


---

## 1 answers

### Answer by username_1 on 2017-12-16. Score: 2

The state a full node is in while it is aware it is significantly behind the rest of the network is called **initial block download**, or IBD. Being in IBD makes the node make different tradeoffs, like preferring bandwidth over latency, and more aggressively batching operations.

While downloading blocks, getting a node closer to the most-work chain tip, **block validation** happens. This includes sanity checking the received data, verifying its difficulty and proof of work claims, checking that all coins spent by its transaction inputs exist and haven't been spent already, verifying the scripts and ECDSA signatures, and marking the inputs as spent and remembering the outputs created as being available for spending.

The whole process of learning and downloading and validating new blocks to get to the same knowledge other nodes have is called **synchronization**.


---

