Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Limits and Performance

Brevis is built as a highly performant and highly scalable ZK Coprocessor. As Brevis is currently running in Alpha mainnet with a low-capacity prover infrastructure, there are some limits in the public version worth mentioning here. However, note that our developer partners have implemented use cases handling more than 100X more scale than the public version. Therefore, we suggest developers to use the public version as a testbed for now and talk to us about your production launch.

We also provide a brief overview of some performance benchmarks.

Data Access Limits in Public Alpha

Note: The limits below are set up in a data-driven way according to Ethereum historical trace, which should cover >99% use cases.

If your project requests higher limits, please reach out to us. Brevis can support much higher data limits on a partner-request basis.

Transaction

Only transactions of type 0 (legacy) and type 2 (dynamic fee) are supported.

Storage

The maximum length of a storage value is 32 bytes.

Application Circuit Size Limit

Circuit size is described by a metric called “constraints”. The constraints number is printed to console whenever you compile your circuit. Your circuits will have a constraints upper limit of 2^26.

Application Circuit Output Limit

There is no artificially imposed upper limit for the amount of circuit outputs you can have, but the more outputs you have, the bigger your circuit will be. The amount of outputs will be bound by the circuit size limit described above.

Performance Benchmarks

Brevis will give you the lowest operation overhead, cost and the best user experience for your dApps. Brevis is highly horizontally scalable and can easily support much higher scalability than the current publicly available version. Please contact us if you have large-scale use cases.

The current public deployment is supported by a tiny cluster of 2 AWS servers with low-cost commodity hardware. In this deployment, Brevis achieves 5-10X faster proving performance than other solutions with comparable configuration of limits. See below benchmarks to get an idea.

Data TypeNumber of Data PointsEnd-to-end Coprocessing Time*
Transaction Receipt6458s
Transaction Receipt25668s
Transaction Receipt1024127s
Transaction Receipt4096344s
Storage Slot6469s
Storage Slot25681s
Storage Slot1024142s
Storage Slot4096350s
Transaction6465s
Transaction25677s
Transaction1024144s
Transaction4096323s

*End-to-end time here account for the time from the query to the App Service to the completion of aggregated application and data access proof generation.