Brevis is a smart ZK coprocessor that empowers smart contracts to read the full historical on-chain data from any chain and run customizable computations in a completely trust-free way.
This documentation focuses on the architecture and implementation of the currently running platform that offers ZK attestation for Ethereum PoS. New generations of the system (not included in this doc) are being actively developed and optimized. For future evolvement directions and implementations of other blockchains, please refer to the Breivs whitepaper.

Application Interfaces

Powered by highly-efficient and succinct ZK proof, the current Brevis system offers the following ZK-attested information about the source chain to dApp contracts on connected blockchains.
  • Block hash and associated state/transaction/receipt roots of any block on the source chain.
  • Slot value and associated metadata of any <block, contract, slot> on the source chain.
  • Transaction receipt and associated metadata from any transaction on the source chain.
  • Transaction input and associated metadata of any transaction on the source chain.
  • Arbitrary message sent by anyone from the source chain to anyone on the destination chain.
Please refer to the Developer Guide sections to learn more about how to integrate app contracts with Brevis and utilize these ZK-attested cross-chain data.

Architecture Overview

The figure below shows the current Brevis architecture, which consists of three components:
  • Relayer Network synchronizes block headers and on-chain information from various blockchains, forwarding them to the prover network to generate validity proofs. Subsequently, it submits the attested information and associated proofs to connected blockchains.
  • Prover Network implements circuits for each blockchain’s light client protocol, block chunk updates, and generates proofs of requested slot value, transaction, receipt, and integrated application logic. To minimize proving time, proving cost, and on-chain verification cost, the prover network can aggregate proofs generated concurrently by distributed provers. It can also leverage accelerators such as GPUs, FPGAs, and ASICs.
  • Verifier Contracts on connected blockchains accept zk-attested data and associated proofs generated by the prover network, then feed the verified information to dApp contracts.
Please refer to the ZK Implementation sections to learn more about how the proving system is implemented.