added some stuff on zero-knowledge proof