Technical Details
Proof Generation and Verification
The ZK coprocessor generates and verifies proofs through several key components:
Proof Data Generation
The get_proof_data
functionality is central to the protocol's cross-chain operations:
Guest Program
Executes inside the RISC Zero zkVM
Verifies cross-chain state through zero-knowledge proofs
Validates user positions and market states across chains
Generates cryptographic proofs of state verification
Handles view calls to market contracts for state verification
Chain-Specific Verification
Each supported chain has specialized verification mechanisms:
Ethereum (L1)
Light client verification through beacon chain
Proof state via OPstack L1 reads
Optimism/Base (OpStack)
Sequencer commitment verification
Dispute game validation
L1 block inclusion proofs
Linea
Sequencer commitment verification
L1 block inclusion proofs
Self-Sequencing
The Sequencer is unavailable
The Sequencer attempts to censor transactions
Users prefer to handle their own proof generation
Additional security guarantees are required
Self-Sequencing Guide
To generate proofs independently:
Setup
Environment Configuration Create a
.env
file with required RPC endpoints:Proof Generation Use the Malda SDK to generate proofs:
Transaction Preparation Extract the required data for on-chain submission:
Note: For self-sequencing, l1_inclusion
must be set to true
to ensure additional security guarantees against potential reorg exploits.
Last updated