VIA Protocol
  • Getting Started
    • Introduction
  • Technical Specs
    • Architecture Overview
    • Core Functionalities
      • Block Generation
      • Proof Generation
      • Proof Verification
      • Block Finality
    • Transaction Flows Overview
      • L2 Transactions
      • Deposits
      • Withdrawals
    • Inscription Standard
    • Verifier Network
  • User Guide
    • Bridge BTC between Bitcoin and VIA
    • Get VIA Testnet BTC
    • Run VIA Verifier Node
  • Developer Docs
    • Quickstart
    • Tooling
    • 🛰️ RPC Documentation
    • Connect to VIA Network
  • Future Research
    • System Constraints and Design Trade-offs
    • Trust-minimized BTC Bridge
  • FAQs & Troubleshooting
    • FAQs
    • Contact & Support
Powered by GitBook
On this page
  1. Technical Specs
  2. Core Functionalities

Proof Generation

ZK proof generation ensures the validity of the transactions within the L1 batch. It involves the following steps:

  • Prover Notification: Once the L1 batch is committed on Bitcoin and its transaction gets confirmed, the VIA Inscription Indexer inside the Sequencer will notify the proof data handler to start the proof generation process.

  • Data Retrieval: The data required for proof generation is passed from the Sequencer's database to the Prover via the Prover Gateway API endpoints. This data includes the state changes and other relevant information necessary for witness generation.

  • Witness & Proof Generation: Using the retrieved data, the Prover constructs a cryptographic proof. This SNARK proof attests to the correctness of the transactions and state changes within the L1 batch.

  • Proof Inscription: The constructed proof is then inscribed on the Bitcoin blockchain in an optimized and compressed format. This inscription provides a decentralized and tamper-proof record of the proof, leveraging Bitcoin's security and transparency.

In order to optimize transaction fees as a MVP solution, Instead of sending the full proof data to the Bitcoin blockchain, we submit it to Celestia and inscribe only a reference (blob id) to Bitcoin, which can be used to retrieve the complete proof data.

PreviousBlock GenerationNextProof Verification

Last updated 1 month ago