# M01-L02 — Lab contract

**Build:** Hash genesis and two blocks; flip a transaction byte and revalidate.

**Pass:** Original chain validates; edited chain fails at affected height.

**Failure injection:** Mutable serialization or omitted fields permit undetected changes.

**Review question:** Why must serialization be canonical?

Status: specification; only count as executable when source and tests are present and verified.
