0
I've starting doing some researches about the Bitcoin protocol and the blockchain. I'm trying to understand all the sections in the Bitcoin white-paper. So far, i couldn't understand what is the utility of adding the transactions merkle tree root on the block header. Yes, i know that it's done to save space as the paper said. But when do someone need it?
For example, when miners receives a new block, does they receive only the block header, or the block header with the transaction? Means, is the blockchain a chain of blocks of headers?
If the 8- Simplified Payment Verification section Satoshi said:
It is possible to verify payments without running a full network node. A user only needs to keep a copy of the block headers of the longest proof-of-work chain, which he can get by querying network nodes until he's convinced he has the longest chain, and obtain the Merkle branch linking the transaction to the block it's timestamped in. He can't check the transaction for himself, but by linking it to a place in the chain, he can see that a network node has accepted it, and blocks added after it further confirm the network has accepted it.
How can the user obtain the obtain the Merkle branch linking the transaction to the block it's timestamped in ?
Yes, you're right. But how does that save space? are the transactions removed and we keep just the merkle tree hash? if yes, how can we verify a transaction with just the merkle tree hash? if not, the block is always sent with it's transactions? – John Karimov – 2019-04-21T22:34:14.563
The merkle root isn't used to save space in block relay. A node must have the block in its entirety in order to validate it. Traditionally, this means the that the block is sent in full. The merkle root does not allow blocks transactions to not be relayed. Note that compact blocks allows block relay without sending the full block as it sends the information necessary for a node to completely reconstruct the block. That section in the Bitcoin paper is simply saying that the entire block does not need to be stored in full so it can be used to save space on disk. – Andrew Chow – 2019-04-21T22:41:08.350
1Note that the method described in the Bitcoin paper for saving space on disk is not actually used. Current pruning methods are far more efficient and allow for the deletion of the block from disk entirely. – Andrew Chow – 2019-04-21T22:43:54.930