Public Blockchain technology like Ethereum is gaining interest and growing use case among startup and fintechs. Apart from scalability issues which are going to be solved with new consensus and mining techniques (Ethereum Metropolis and Bitcoin SegWit2x with Lightning network), the privacy of transactions is still an issue which is not yet fully addressed. Due to the public nature of Ethereum, many businesses are reluctant to deploy Smart-contract or Dapps solutions for fear of exposing confidential or sensitive information. The use of zk-SNARKs (zk-SNARK stands for “Zero-Knowledge Succinct Non-Interactive Argument of Knowledge”) essentially solves this blocker. Moreover, the next Ethereum Improvement Proposal called 'Byzantium' includes zk-SNARKS. zk-SNARKs allows verification of the correctness of computations, without a verifier having to execute those computations or even learn what was actually executed. Using zk-SNARKs, a verifier can confirm that a computation happened correctly, with ‘zero-knowledge’ of the computation itself. During this talk, we present a brief overview of cryptography and the theory around the zero-knowledge proof algorithm. Then we showcase the benefits of zk-SNARKS and other privacy-preserving techniques (like zcash) on the public blockchain ecosystem.