Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: cryptonisan on February 26, 2023, 11:19:03 PM



Title: Why a new node need to synchronize from the begining of the blockchain ?
Post by: cryptonisan on February 26, 2023, 11:19:03 PM
Hi,

I'm kinda new to this crytpo stuff and I wanted to start a bitcoin core node to understand more.

I understand that it needs to synchronize data (taking days to do so) but why ?

Knowing that there's a prune option making so not all data are stored on my computer, why couldn't a new node start with info validated from the last blocks ?

Unless I get it wrong, its purpose is to validate future blocks based on a previous/last one right ?


Title: Re: Why a new node need to synchronize from the begining of the blockchain ?
Post by: franky1 on February 26, 2023, 11:52:24 PM
when the first blocks are made those blocks do not know when they will be spent in the future(yea time travel only goes one way)

this means you need to take in the data and then treat the old transactions are spent and list them remaining ones as unspent whilst it goes through the process. to ensure you can have a viable list of what is unspent value

this list of unspents(utxoset) then saves time later by not having to recheck the whole blockchain data on your system every time and just checks the utxoset once said utxoset it built. then it can easily just check against what has not been spent super quick

also those first blocks (that are later spent) do not know which ones will eventually be funding the value on your keys (again time travel one direction)

and so to validate that you received good coin that was not double spent it needs to go through the whole data to figure out the path from the coin origins your funded keypair

because of the utxoset being used when its uptodate, the software doesnt really need to check the blockchain data each time so some people think they can just delete old blocks

for personal use where you do not care about being part of the network infrastructure of decentralising the blockchain and you just care about personal use wallet function. you can prune it as you have decided you dont want to be part of the peer-2-peer process of sharing the blockchain data.
but atleast accept your choice of not wanting to offer the blockchain data to others and just wanting to use the software for personal use once you have synced and built up your utxo set


Title: Re: Why a new node need to synchronize from the begining of the blockchain ?
Post by: cryptonisan on February 26, 2023, 11:56:16 PM
oooooh it's all about the utxo!
thank you very much, your answer helps me a lot to understand  ;)


Title: Re: Why a new node need to synchronize from the begining of the blockchain ?
Post by: BitMaxz on February 27, 2023, 12:30:13 AM
If you talking about why it needs to be synced to download the first blocks it's because the full node needs the entire history of the blockchain where all transactions are recorded. The Bitcoin full node needs the first and the most recent blocks because it's part of the transaction history on the network so if your Bitcoin core didn't sync you won't be able to verify the transaction authenticity and you won't be able to receive and send Bitcoin or check your transaction history. If ever you are the first one who made a transaction included from the first block then without syncing the Bitcoin core you won't be able to see them and Bitcoin core has limited features if it's not fully synced.


Title: Re: Why a new node need to synchronize from the begining of the blockchain ?
Post by: odolvlobo on February 27, 2023, 09:44:57 AM
I understand that it needs to synchronize data (taking days to do so) but why ?

Each block contains the block hash of the previous block. So, in short, if you want to ensure that a block that you have received is actually part of the block chain, you must validate all of its preceding blocks to make sure that the original block's hash (which is stored in the software) is in the chain that you have downloaded.