Protecting user privacy: a technical discussion on privacy and zero-knowledge proofs