Merkle tree
A tree of hashes that lets you verify that data belongs to a set efficiently.
In simple terms
Transactions are hashed in pairs, layer by layer, until a single root hash remains. Change any transaction and the root changes.
Analogy
A tournament bracket: each match combines two players until one winner represents the whole tournament.
Going deeper
A membership proof is just the log₂(n) sibling hashes beside your leaf: hash them together and you recompute the block's root. This is what lets SPV wallets verify payments from headers alone, and what the scenario question "attacker edits an old transaction" tests.
Common mistake
Forgetting that the root only proves membership if you also trust the path of hashes.