What Zero Knowledge Proofs (ZKPs) Can and Can't Do