If you trust a root you can check a whole dataset against it without keeping the old copy - just rebuild and compare. Today you build that check.
Verify a dataset against a known-good root by rebuilding and comparing.
Detecting tampering does not require keeping the original data - just its root. A verifier who was handed a trusted root once can, at any later time, rebuild the tree from whatever data they now hold and compare. Match means intact; mismatch means something changed. This is exactly how a downloaded dataset is checked against a published root, or how a system confirms its own storage has not been corrupted.
Verify is a one-liner precisely because all the work already lives in Build. The
value is in the pattern: a tiny trusted anchor (32 bits here, 256 in a real system)
guards an arbitrarily large dataset. The next chapter makes this even cheaper - you
will confirm a single item belongs without rebuilding, or even seeing, the rest.
func Verify(data [][]byte, root Hash) bool {return Build(data).Root() == root}