In zero-knowledge proof, a private key owner does not need to reveal their private key to prove they own it. Instead, they sign a piece of data with their private key and send it as proof to the server.