zkSync: Scaling Ethereum with Zero-Knowledge Proofs