Halo: Recursive Proof Composition without a Trusted Setup Sean Bowe, an engineer and cryptographer at Electric Coin Company (ECC), has discovered a technique for creating practical, scalable and […] Tags: cryptography, privacy, zkSNARKs

Reducing Shielded Proving Time in Sapling Since the successful Sapling network upgrade, we have already seen an increased adoption of shielded addresses in the Zcash ecosystem. […] Tags: cryptography, explainers, hash functions, Sapling, zkSNARKs

Perspectives on Zcash Origins from Tromer As we approach Zcash’s second birthday, it’s fitting to look back at the origins of this little experiment. And who […] Tags: cryptography, Perspectives

Improved zk-SNARK Multi-party Computation Protocol zk-SNARKs – the zero-knowledge proofs at the core of Zcash – require a parameter generation ceremony to take place for […] Tags: cryptography, Parameter Generation, zkSNARKs

Ceremony Audit Results As a science-focused team, ensuring the security of the Zcash protocol and the users of the network is a natural […] Tags: cryptography, security, security audits

Pay-to-sudoku Revisited Last year, I created a project called pay-to-sudoku which was the world’s first implementation of a zero-knowledge contingent payment (ZKCP). […] Tags: cryptography, ZKCP, zkSNARKs

Explaining SNARKs Part VII: Pairings of Elliptic Curves << Part VI In Part VI, we saw an outline of the Pinocchio zk-SNARK. We were missing two things – […] Tags: cryptography, explainers, zkSNARKs

Explaining SNARKs Part VI: The Pinocchio Protocol << Part V In part V we saw how a statement Alice would like to prove to Bob can be […] Tags: cryptography, explainers, zkSNARKs

Explaining SNARKs Part V: From Computations to Polynomials << Part IV In the three previous parts, we developed a certain machinery for dealing with polynomials. In this part, […] Tags: cryptography, explainers, zkSNARKs

Explaining SNARKs Part IV: How to make Blind Evaluation of Polynomials Verifiable << Part III In this part, we build on Part II and III to develop a protocol for verifiable blind […] Tags: cryptography, explainers, zkSNARKs

Bellman: zk-SNARKs in Rust Bellman is a Rust-language library for building zk-SNARKs — small, cheap-to-verify zero-knowledge proofs of arbitrary computations. The goal of bellman […] Tags: cryptography, Rust, zkSNARKs

Explaining SNARKs Part III: The Knowledge of Coefficient Test and Assumption << Part II In Part II, we saw how Alice can blindly evaluate the hiding :math:`E(P(s))` of her polynomial :math:`P` […] Tags: cryptography, explainers, zkSNARKs