Add a block and the simulator mines it: it searches for a nonce until the hash starts with enough zeros (proof-of-work). Each block stores the previous block's hash, so they're chained. Edit any block's data and watch its proof-of-work break and every block after it fall out of sync. That's tamper-evidence.