The changed root no longer matches the original root.

highlighted = computed this step

The old and new roots differ

The original root was 0x0e. The changed root is 0x0f.

0x0e≠0x0f0x0e\ne 0x0f
Original rootA toy Merkle tree recomputes only the affected path.Original root - original root 0eroot 0eoriginal rootAB 65pair hashA aaleaf hashB bbleaf hashCD a9pair hashC ccleaf hashD ddleaf hash

The changed tree shows where the difference traveled

The changed tree carries C=0xcd, CD=0xaa, and root=0x0f.

C,CD,rootC,CD,root
Changed rootA toy Merkle tree recomputes only the affected path.Changed root - changed root 0froot 0fchanged rootAB 65unchangedA aaunchangedB bbunchangedCD aarecomputedC cdchanged leafD ddunchanged

A root comparison catches the change

A verifier expecting 0x0e would recompute 0x0f from the changed chunks.

expected 0x0e≠ recomputed 0x0f\text{expected }0x0e\ne\text{ recomputed }0x0f
Changed rootA toy Merkle tree recomputes only the affected path.Changed root - changed root 0froot 0fchanged rootAB 65unchangedA aaunchangedB bbunchangedCD aarecomputedC cdchanged leafD ddunchanged

Honesty boundary

NOTE: toy one-byte hash and four chunks only; not SHA 256, collision resistance, signatures, transparency logs, blockchain, storage proofs, or production integrity.

toy only=1\text{toy only}=1
Changed rootA toy Merkle tree recomputes only the affected path.Changed root - changed root 0froot 0fchanged rootAB 65unchangedA aaunchangedB bbunchangedCD aarecomputedC cdchanged leafD ddunchanged