How COW (copy on write) file system and Data Integrity works?

ZFS snapshots are based on tree snapshots which are stored considerably different than how block snapshots were traditionally done. The Copy On Write file system creates a map as to where the changed blocks are stored instead of traditional method of what was overwritten. This gives the ability to have unlimited snapshotting and facilitates the benefit of the little or no space that current ZFS snapshots consume. The below Article from Jeff Bonwick of Sun gives a great visual depiction of how tree snapshots are structured.

http://cs.dartmouth.edu/~cs108/resources/stuff/zfs_last.pdf