"If you accept the mathematical claim that a secure hash like SHA256 has only a 2\^-256 probability of producing the same output given two different inputs, then it is reasonable to assume that when two blocks have the same checksum, they are in fact the same block. You can trust the hash. An enormous amount of the world's commerce operates on this assumption, including your daily credit card transactions. However, if this makes you uneasy, that's OK: ZFS provies a 'verify' option that performs a full comparison of every incoming block with any alleged duplicate to ensure that they really are the same, and ZFS resolves the conflict if not. To enable this variant of dedup, just specify 'verify' instead of 'on':..." (from https://blogs.oracle.com/bonwick/entry/zfs_dedup)
Yes, quite uneasy. Using "verify", of course :) Reliance on hash for exact matching was one of my big concerns with WHS (Windows Home Server). I am really glad that ZFS is paranoiac-friendly.