---
description: >-
  Exploring the prover in  Validium Network, a ZK rollup technology, which
  ensures secure and efficient transaction verification through cryptographic
  proofs.
---

# Overview

***

&#x20;Validium Network utilizes Zero-Knowledge (ZK) proofs to ensure secure and efficient transaction processing on the Ethereum blockchain. This technology compresses transactions, significantly reducing fees for users while maintaining the robust security standards of Ethereum.

## How  Validium Network Utilizes ZK Proofs

Zero-Knowledge proofs enable a verifier to confirm that a prover has correctly executed a computation without revealing the specifics of the transaction. This approach ensures both privacy and data security. In  Validium Network, the prover is responsible for demonstrating the correct execution of  Validium Network's Ethereum Virtual Machine (EVM), and this proof is then verified by a smart contract on Ethereum.

## The Proving Process

The proving process in  Validium Network involves several crucial steps:

1. **Witness Generation**: This is the initial phase where, upon transaction initiation by a user, a witness is generated. This witness acts as proof of the transaction's validity according to the network's consensus rules, without disclosing any transaction details. Witnesses for new transactions are collected in batches and processed together.
2. **Circuits**: To generate accurate proofs, standard code logic must be converted into a format interpretable by the proof system. This conversion involves organizing code into various circuits within a virtual machine, ensuring that every aspect of the code execution can be proven.
3. **Proof System**: The ZK circuit requires a robust proof system for processing. In  Validium Network, this system is called Boojum. It comprises several components:
   * **Boojum**: This repository acts as a toolkit containing essential tools for proving and verifying circuit functionality, along with backend components necessary for circuit construction.
   * **zkevm\_circuits**: This repository is where the actual EVM-replicating circuits are built using tools from Boojum.
   * **zkevm\_test\_harness**: Serving as the testing ground, this repository contains various tests to ensure the circuits function correctly and includes code essential for running these circuits.

## Understanding Circuits in  Validium Network

A ZK circuit functions similarly to an arithmetic circuit, where inputs at the bottom pass through various computational steps, resulting in a final output at the top. The prover's job is to demonstrate that each step of the circuit is computed correctly, satisfying the circuit with the correct outputs.

It's crucial that each circuit step is fully constrained to prevent any incorrect computations by a malicious prover. In Zero-Knowledge terminology, an underconstrained circuit may result in a soundness error, allowing invalid proofs to pass verification.

![Arithmetic Circuit Diagram](https://docs.zksync.io/_ipx/q_90/images/zk-stack/circuit.png)

## What  Validium Network's Circuits Prove

The primary purpose of  Validium Network's circuits is to ensure the correct execution of the VM, covering every opcode, storage interaction, and the integration of precompiled contracts. These elements are crucial for the holistic functioning and security of the system.

## Additional Resources

For those interested in a deeper dive into the technology behind  Validium Network's proof system, resources like Vitalik Buterin's blog on [Plonk](https://vitalik.eth.limo/general/2019/09/22/plonk.html) and the [Plonky2](https://github.com/mir-protocol/plonky2/blob/main/plonky2/plonky2.pdf) paper provide extensive information on the arithmetization process. More comprehensive details can also be found in the [Redshift Paper](https://eprint.iacr.org/2019/1400.pdf).

Through these sophisticated cryptographic processes, ZKsync's prover efficiently secures and verifies transactions, leveraging the power of ZK proofs to enhance blockchain scalability and security.
