0
0
I've read the Nakamoto's paper "Bitcoin: a peer-to-peer electronic cash system". In paragraph Simplified Payment Verification he said that is possible to verify payments without running a full network node.
I don't understand how, having a Markle's Tree Root hash, verify payment. In fact, in order to check payment, I need to combine and hash all node of right or left branch, not just the root.
Moreover, how can choose which Root hash needs to get without see in all nodes?
How can a node verify transaction? The node needs to run all blockchain blocks and Merkle's Tree is used only to proof the validity? – alessandro308 – 2016-03-27T14:22:44.450
The SPV node only uses the block headers, which do not contain all the many different transaction data, and are therefore only a few kilobytes in total. The Merkle root is in the header data. To check if a transaction has been confirmed by the network, the SPV client challenges a random selection of full nodes by asking for a Merkle path for the transaction. The path does not contain the total tree, since it only needs to follow up the transaction to the root, as can be seen from the graph. If the root is known, it is not feasible to construct a "fake" Merkle path for a transaction. – Bjarne – 2016-03-27T17:03:30.017