Zerochain is a privacy-protecting layer on top of any smart contract platforms like Substrate and Ethereum.
As a high-level overview, Zerochain is based on Zether protocol(https://crypto.stanford.edu/ ~buenz/papers/zether.pdf) which is privacy-oriented payment protocol on top of smart contracts. Though this original specification uses Sigma-bullets as zero-knowledge proving systems, instead we use zk-SNARKs for the efficiency reason.
I would like to talk about how it works, how we can integrate privacy into the account-based approach.
Currently supported for the only Substrate, but it can be supported for Ethereum as well because Zerochain and Zether protocols can be compatible with any smart contract platforms.