Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Light Clients

Light clients in this stack are consumer-side programs (often IBC 08-wasm CosmWasm clients) that track Zcash-related consensus and privacy-adjacent state without running a full Zcash node on every appchain.

This chapter is ecosystem-level: which designs exist, how they use Zcash zero-knowledge and consensus primitives, and when to pick one. Implementation repos are maintained by their respective teams—we integrate and document; we do not claim authorship of those libraries.

Credits And Upstream Sources

Libraries and specs below are curated by their upstream teams. Prefer their repositories for correctness, releases, and contribution norms.

ProjectCurated by / originRepository
ICS-08 Wasm light clients (IBC-Go)Cosmos / IBC-Go maintainerscosmos/ibc-go — 08-wasm
IBC light-client architectureIBC communityIBC docs, cosmos/ibc (specs including client semantics)
IBC v2 / Eureka-oriented programsCosmos Solidity IBC Eureka contributorscosmos/solidity-ibc-eureka
cw-ics08-wasm-crosslinkEureka programs tree (+ monorepo packaging)programs/cw-ics08-wasm-crosslink
cw-ics08-wasm-eth (structural peer)Same Eureka treeprograms/cw-ics08-wasm-eth
Zebra / Crosslink node stackShielded Labs / Zebra lineage; permissionlessweb fork for integrationShieldedLabs/zebra-crosslink, permissionlessweb/zebra-crosslink
ics08-wasm client crates (Rust)IBC-rs maintainers / forkspermissionlessweb/ibc-rs — ics08-wasm (upstream CosmWasm / IBC-rs ecosystem)
Tendermint light client cratesInformal / tendermint-rs maintainersTendermint-rs light-client packages in the monorepo vendor path
CosmWasm contract & host modelCosmWasm core teamsCosmWasm/cosmwasm, book.cosmwasm.com, docs.cosmwasm.com

Spec-oriented reading for integrators:

  • IBC light clients overview (docs site may version-shift; follow current IBC-Go version).
  • ICS-08 Wasm module README and ADR notes in ibc-go.
  • IBC v2 / multi-hop and Eureka design notes in solidity-ibc-eureka (docs/, program READMEs) and related monorepo notes such as Mercury docs/ibc-v2.md when present.

What “Powered By Zcash ZK Primitives” Means

Zcash contributes more than “a hash chain.” Light-client designs in this ecosystem can draw on:

Primitive familyRole for light clients
Proof-of-work headersCanonical chain work, confirmation depth, pure PoW clients — see Pure PoW Path
Crosslink / hybrid finalityFaster finality certificates layered on Zcash work — Crosslink Path
ZIP-221 FlyClient-style ideasSuccinct PoW header verification patterns for sparse sampling
Halo2 / Orchard-class provingValidity proofs over batch state, selective disclosure, circuit VKs on the host
Nullifiers / note commitments (conceptually)Privacy-preserving membership and spend-auth adjacent app protocols (via VM + composition, not always inside the LC Wasm)

The proof VM verifies circuits on the consumer chain; light clients provide verification ability of which Zcash (or hybrid) tip and roots to trust. Together they enable “verify Zcash-grade crypto and headers in CosmWasm.”

Design Families (Summary)

DesignTrust modelZK / crypto angleStatus (honest)
Crosslink pathHybrid finality over PoWFinality + parent PoW; often paired with app-level Halo2Primary implemented LC path in monorepo
Pure PoW pathConfirmation depth onlyHeader work, no Crosslink committee — details & fixturesSecond trust dial; dual-path narrative
FlyClient / sparse PoWProbabilistic PoW proofsSuccinct work proofs (ZIP-221 lineage)Design / research adjacency for ingress
08-wasm CosmWasm LCOn-chain Wasm clientHost may verify signatures/proofs depending on clientDeployment shape for Crosslink (and peers)
IBC v1 classic + IBC v2 / EurekaChannel / client models per IBC versionSame Wasm packaging; different wire and routing assumptionsChoose stack by consumer chain IBC version
App-gated roots via proofsApplication policyproof_instance_verify on VM after LC tip advancesComposition pattern, not a separate LC binary

Details: Design Survey. Paths: Crosslink Path, Pure PoW Path, Headers And Ingress.

Integrator Checklist

  1. Choose a trust dial (pure PoW vs hybrid Crosslink vs future succinct PoW).
  2. Pin the Wasm checksum / store flow for the 08-wasm client.
  3. Define ingress (who feeds headers / certificates).
  4. Separate header advancement from application ZK verification (proof host).
  5. Align with IBC v1 vs v2 capabilities on the consumer chain.
  6. Plan for multi-source ecosystems later—the LC section is Zcash-first, not Zcash-only forever.

Next