2

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.

1 Answer 1

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.