What are you building on Zcash?

Good question. You’re pointing at the right gap.

What ZAP1 does today: hash the event payload with BLAKE2b, commit the leaf to a Merkle tree, anchor the root to Zcash, hand you a portable proof bundle (leaf, path, root, txid). The raw data stays with whoever created it. Verifier only sees hashes and the proof path. That’s the proof of
event
layer.

What you’re describing: proving properties of the event without revealing the event itself, is the next layer up. Instead of handing someone the full leaf and letting them re-hash to verify, you’d generate a ZK proof that says “this leaf satisfies predicate X” and attach that to the same Merkle anchor. The root is already on-chain. The trust model doesn’t change, you’re just narrowing what the verifier learns.

Example: you attested 50 completed tasks. Today you can prove each one individually by sharing the proof bundle. With an attribute layer, you could prove “I completed more than 20 tasks of type X” without revealing which ones, when, or the exact count. Same Merkle root, same Zcash anchor, but the proof is over a circuit instead of a hash path.

The building blocks are there. ZAP1 leaves are BLAKE2b commitments with a fixed structure (type byte + length-prefixed fields). Clean input for a circuit. The Solidity verifier on Sepolia already checks Merkle paths on-chain, adding a SNARK verifier for attribute proofs is straightforward from there. Not built yet. But the architecture doesn’t need to change to support it. It’s an addition on top of the existing anchor/proof layer, not a replacement. The hard part was getting the anchoring and cross-chain verification right. That’s done. The attribute proof layer is where it gets interesting next.

More detail in the Grant Application: ZAP1 Protocol Hardening and Zaino Integration and the GitHub - Frontier-Compute/zap1: ZAP1 structured memo protocol for Zcash. BLAKE2b Merkle commitments, Orchard shielded anchoring, verification SDK. · GitHub . Proof bundle spec is in
docs/PROOF_BUNDLE_V2.md, Solidity verifier is Address: 0x3fD65055...03005C87F | Etherscan Sepolia .

1 Like