Public-Coin Zero-Knowledge Proof Systems