Please describe your proposed solution
zkFold offers to build a general-purpose zero knowledge rollup solution for Cardano. A zero knowledge rollup is a technological layer (Layer 2) on top of a blockchain that increases the blockchain’s scalability potential by compressing many transactions into transaction batches. As batches offer a greater degree of information compression, it is reasonable to expect that hundreds of rollup smart contract transactions might fit into a single Cardano mainnet transaction. Zero knowledge proofs technology places a limit on the cost of on-chain verification of the validity of transaction batches. Specifically, the batch verification fits well within the Execution Unit limits set at the protocol level, as demonstrated by the prototype created by the zkFold team (see the benchmark)
Once online, our ZK Rollup solution will offer cheap wallet-to-wallet transfers. Preliminary estimates suggest that even Cardano -> ZK Rollup -> Cardano transfers might be cheaper than wallet-to-wallet transfers on Cardano. Besides that, our zkFold Symbolic framework (funded by Project Catalyst F11) will offer developers tools to develop smart contracts for the ZK Rollup. Smart contract transactions inside the ZK Rollup will cost users a fraction of the price they pay for smart contract transactions on Cardano.
Besides benefits to the individual users, ZK Rollup reduces the total chain load so that new applications demanding high transaction throughput can thrive on Cardano.
Our ZK Rollup solution has a number of distinct features that separate it from similar solutions on other blockchains.
- Permissionless access to updating the state. ZK Rollup can be updated by any Cardano user to ensure that the system is fully decentralized and permissionless. Users can withdraw their funds from the ZK Rollup smart contract at any time.
- New record bar set in data compression. Other ZK rollups either utilize cheap data posting options available on other blockchains (such as Ethereum) or use third-party data availability solutions (such as Celestia). Our solution posts the full Rollup state update on Cardano but takes extra care of which data is truly necessary for permissionless state updates. Cardano already demands very efficient space usage from smart contract developers. With our ZK Rollup, this has been taken a step further, making it possible to create transactions that are just a few bytes in size.
- High-level functional programming for smart contracts. Smart contracts for our ZK Rollup can be created using the zkFold Symbolic framework in Haskell or in any Cardano on-chain language through our upcoming UPLC Converter funded in F12.