SkyhookReference
Glossary
This glossary defines terms as the Skyhook documentation uses them, each with a link to the page where it is explained in full. Where a definition here differs from a normative specification listed in References, the specification takes precedence.
A · B · C · D · E · F · I · L · M · N · O · P · R · S · T · U · V · W · Z
- Address
- A shielded payment destination: a diversified base
g_dand public keypk_d. Anyone who pays you knows it. It can receive funds but cannot decrypt any transaction, reveal a balance or spend; that takes a viewing or spending key, which Skyhook never sees. Until Milestone 3 a swap's recipient address is public on Ethereum. More → - Anchor
- The chain state that the Skyhook contracts keep on Ethereum: the hashes of finalized block headers, the MMR peaks that summarize them, and the inclusion roots that claims are checked against. A transaction anchor commits to transactions by txid; a note anchor commits to notes by note commitment. More →
- Bagging
- Folding the peaks of a Merkle Mountain Range into a single summary root. More →
- Branch ID
- The consensus version stamp carried in every Zcash transaction header. Builders read it from the chain tip at build time rather than pinning it. More →
- cmx
- A note commitment: the Sinsemilla hash of the address, value, rho and psi, blinded by rcm. It is the leaf the bridge folds. More →
- Difficulty floor
- The minimum difficulty a bridge's contract accepts for submitted blocks, taken from its last trusted block. Set per deployment and updatable by agreement; it is "trusted" only in quotation marks. More →
- Diversifier
- Eleven bytes that select one address within a viewing key, feeding the diversified base point. More →
- EncCiphertext head
- The first 52 bytes of a note's ciphertext, holding the diversifier, value and seed. Compact blocks carry it, digests hash it, and lock-script roots hide inside it. More →
- Equihash
- Zcash's proof-of-work algorithm, built on Wagner's algorithm. Finding a solution is expensive and checking one is cheap; the EVM only checks. More →
- ESMASL
- The JavaScript-based language for writing swap programs, which run on ESMASTe. More →
- ESMASTe
- The deterministic on-chain virtual machine that executes lock-scripts. More →
- FlyClient
- The super-light-client protocol of Bünz, Kiayias and Leonardos on which Skyhook's rollups are based. More →
- Fully sampled rollup
- The default rollup mode: tail samples are drawn by full FlyClient sampling and checked by proof-of-work, usually read from oracle-stored blocks. Secure even if no one checks anything off-chain. More →
- Ironwood
- The shielded pool introduced by NU6.3: Orchard-style actions with separate trees, digests and branch era. More →
- IVK / OVK
- Incoming and outgoing viewing keys, used respectively for trial-decryption by the recipient and for recovery by the sender. Skyhook never uses or exposes either, nor the unified full viewing key (UFVK) that contains them. More →
- Leftover address
- Where a script's host contract sends any remaining balance when it self-destructs, unless the script sets
LEFTOVERor callsSETLEFTOVER. A deployment parameter, so funds from a faulty script can be requested back. More → - Liquidity provider
- A counterparty who fills swap requests for a spread. On the Zcash side, any shielded ZEC holder who is online; their ZEC is never locked and their identity never revealed. More →
- Lightwalletd
- The stateless gRPC service that serves compact blocks and tree state and broadcasts transactions. Browsers connect to it through a gRPC-web proxy. More →
- Lock-script
- A program committed inside a request's ciphertext that takes control of the payout. More →
- MEV buffer
- An optional premium, funded by the taker, that pays watchers so that fills don't stall unattended. More →
- MMR
- Merkle Mountain Range: the append-only log of peaks shared by both finality mechanisms. More →
- Nullifier
- The tag revealed once when a note is spent and recorded permanently, which makes reuse impossible by construction. More →
- One-shot finality
- Initiating, cementing and finalizing a rollup in a single transaction (about 2.7–2.9M gas with oracle-stored blocks), for a swap that is its own only client. More →
- Online-offline finality
- The check behind a root-anchored rollup, agreed at quote time: the quote carries the counterparty's MMR root at the last block it knows, and blocks proven under that root skip proof-of-work, at about 36,500 gas per sample. Always one transaction, about 5–13M gas; the party whose escrow is at risk must check the root. More →
- Oracle
- A participant that submits each new Zcash block to the chain, as an orphan or linked to its predecessor. Trustless, with no registration; paid a share of a rollup's fee per reused block, at most half of the fee in total. More →
- Orphan proof
- Verification of a block submitted without a known parent, which is how every block enters the contract; it requires complete Equihash checking without shortcuts. More →
- P2SC (Pay-to-Smart-Contract)
- A minimal implementation of Skyhook that reuses an existing deployment's rollups and block store, letting any contract accept shielded ZEC sent to an address fixed in it (
g_d,pk_d), read the amount, and act on it, for example by minting an NFT or wrapped ZEC. More → - Peak
- The root of one perfect subtree within an MMR. Bagging summarizes all the peaks into one root. More →
- PERSIST
- A script header parameter that keeps the host contract alive instead of self-destructing it. Its creator then controls it through
executeScriptOpcalls signed with the script public key. A script whose key is0x0can't persist. More → - Proving key
- The halo2 circuit key material. It is built once per process and cached, and never transported with witnesses. More →
- rho / psi / rcm
- A note's randomness, its pseudorandom expansion, and its commitment blinding scalar, in increasing order of sensitivity. More →
- Rollup
- A bundle of Zcash blocks, built by anyone, that finalizes a chosen main block: full FlyClient tail samples (about 30 for a 100-block gap, 150 for 1,000), the main block and 3 head blocks. Transactions join it and pay its builder fees. Also called a SwarmClient session. More →
- Root-anchored rollup
- A rollup whose samples are proven with MMR proofs under a root its participants agreed on, instead of read from oracle-stored blocks. Always one transaction, about 5–13M gas, with no oracles needed; every participant must check the root, and it never becomes the starting point for a fully sampled rollup. More →
- SingletonRunner
- The one shared contract holding ESMASTe's interpreter. Each execution runs in a fresh
CREATE2contract that holds the escrow, delegatecalls into the SingletonRunner, and self-destructs at the end. More → - Skyhook
- The mechanism, and its implementation, by which a contract on another chain verifies that a specific shielded Zcash payment was made and is final, without trusting anyone to report it. More →
- Skyhook Bridge
- One application of Skyhook: a protocol for trustless swaps between shielded ZEC and assets on other chains, with escrow contracts, pricing modes, liquidity and lock-scripts. The application this grant completes. More →
- Spread (bps)
- A liquidity provider's margin in basis points, measured as the gap between quoted amounts. It is the only source of yield. More →
- Tail sample
- A block from the history behind a rollup's main block, chosen by FlyClient sampling derived by Fiat–Shamir from block headers. Usually already stored by an oracle; otherwise anyone may submit it with a valid Equihash solution and difficulty. More →
- Ticket
- A signed, off-chain liquidity provider quote covering amounts, taker and expiry. Tickets are single-use, bound to one taker and short-lived. More →
- Tolerance (toleranceBps)
- The requester's largest acceptable discount, in basis points. It is the only price-shaped check in consensus. More →
- TRANSFERNATIVE
- The ESMASTe instruction for native value calls, the point at which programs pay out funds. It pops an address, a value and a gas allowance. More →
- UA
- Unified address: one string that encodes receivers across several pools. More →
- Validator
- Whoever builds a rollup. No stake or permission is involved; the reward is a share of the fees of the transactions that use it. More →
- Witness
- The Merkle path from a note commitment to an anchor root. More →
- ZIP
- Zcash Improvement Proposal, the specification series this design follows. More →
A
B
C
D
E
F
I
L
M
N
O
P
R
S
T
U
V
W
Z