Understanding Zero-Knowledge Proofs in Blockchain Technology