In order to perform zkrollups of transactions, the zk-SNARKs has to be able to verify the validity of offline transactions.
Zokrates is a toolbox to generate zk-SNARKs on ethereum, however it has been proofed that it can be also used to generate zk-SNARKs on tezos:
- ZoKraTez: How to play Zero Knowledge Proofs using ZoKrates and Tezos - DaiLambda, Inc.
- niki_blu / Bachelorarbeit · GitLab
The only issue preventing Zokrates to be able to create zk-rollups on Tezos, is the fact, that Zokrates stdlib only support signature verification using the
baby jubjub curve which is based on the
bn128 used by ethereum. Adding support for the
jubjub curve (suggested by Zcash and based on the
bls12_381) in the zokrates stdlib (ZoKrates/zokrates_stdlib/stdlib/ecc at develop · Zokrates/ZoKrates · GitHub) would solve the problem