How zero-knowledge proofs work and why they matter for privacy