| title |
Pattern: zk-SPV (Succinct Cross-Chain Verification) |
| status |
draft |
| maturity |
research |
| works-best-when |
Assets/contracts must verify events on another EVM chain. |
Institutions require strong DvP atomicity across ledgers. |
|
| avoid-when |
Both legs can be settled on a single rollup/L1. |
Consensus rules of the target chain are unstable or rapidly evolving. |
|
| dependencies |
zkSNARK/zkSTARK system (Groth16, Halo2, SP1, RiscZero) |
Target chain consensus encoding (Ethereum PoS, IBFT, etc.) |
|
Restore true atomicity across chains by proving on Chain A that a transaction finalized on Chain B.
A zk-SPV proof convinces Chain A that “tx X was finalized on Chain B under consensus Y” without replaying all headers or trusting a relayer.
- Proof system: zkSNARK/zkSTARK for succinct verification.
- Consensus logic in-circuit: target chain’s header validity rules.
- Inclusion proof: Merkle proof linking tx/receipt → receipts root in block header.
- Verifier contract: deployed on the verifying chain.
- User/prover gathers:
- Block header
H from Chain B.
- Merkle proof of tx/receipt inclusion in
H.
- Finality evidence (e.g. sync-committee signatures).
- Prover constructs zk proof:
- “
H is valid under Chain B’s consensus.
- Tx/receipt R is included in
H.
H is finalized (per consensus rules).”
- Submit
(proof, publicInputs) to verifier on Chain A.
- Chain A contract accepts R as finalized on Chain B.
- Strong atomicity enabler: Chain A contract can condition its execution on proof that a counter-leg finalized on Chain B.
- Succinctness: verify in ~200k gas instead of replaying 1000+ headers.
- Trustless: no relayer trust required, only proof validity.
- Heavy prover costs (minutes on today’s zkVMs).
- Consensus changes require circuit updates.
- Still inherits security assumptions of target chain’s consensus.
- Private DvP between Chain A and Chain B:
- Each leg locked in shielded pools under relation R.
- Each side finalizes only after verifying a zk-SPV proof that the counter-leg finalized on the other chain.
- Yields both privacy and true atomicity.
- Asymmetric: only one side checks zk-SPV, other trusts relayer.
- Hub-and-spoke: use Ethereum L1 as common verification hub for L2s.
- Optimistic: relayers post claims, zk-SPV used on dispute.