What is a fraud proof? In Pieter Wuille's presentation on Segregated Witness, he often mentioned "fraud proofs". What exactly are they? Do physical users actually have to go out of their way to manually produce these proofs to alert other nodes of misbehaviour? How do fraud proofs relate to witness scripts?
SPV clients don't fully validate blocks. Therefore, they are vulnerable to being fed a fake block from their full node peers. A fraud proof is a way to prove that a chain tip is invalid. As soon as any node would discover a block to be invalid, they'd create and relay a fraud proof to the network. As SPV clients receive the fraud proof they will know not to accept the invalid block.

As hinted above, fraud proofs can be created by any network participant that discovers an invalid block. As far as I know, this has nothing to do with Segregated Witness, but will rather be introduced as an independent softfork some time in the future.