https://cryptoeducationhub.com/a-primer-to-understanding-zero-knowledge-proofs/