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

A
Address
A shielded payment destination: a diversified base g_d and public key pk_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 →
B
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 →
C
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 →
D
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 →
E
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 →
F
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 →
I
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 →
L
Leftover address
Where a script's host contract sends any remaining balance when it self-destructs, unless the script sets LEFTOVER or calls SETLEFTOVER. 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 →
M
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 →
N
Nullifier
The tag revealed once when a note is spent and recorded permanently, which makes reuse impossible by construction. More →
O
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 →
P
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 executeScriptOp calls signed with the script public key. A script whose key is 0x0 can't persist. More →
Proving key
The halo2 circuit key material. It is built once per process and cached, and never transported with witnesses. More →
R
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 →
S
SingletonRunner
The one shared contract holding ESMASTe's interpreter. Each execution runs in a fresh CREATE2 contract 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 →
T
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 →
U
UA
Unified address: one string that encodes receivers across several pools. More →
V
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 →
W
Witness
The Merkle path from a note commitment to an anchor root. More →
Z
ZIP
Zcash Improvement Proposal, the specification series this design follows. More →