Halcyon 0.8.2 update.
💠What that does: makes a note, proves its withdrawal (Groth16, 7,106 constraints, about 2 s), verifies it with the verification key, then asks the verifier on mainnet with an eth_call. It says true. The pool then still refuses it: the root was never sown. Sound, and strict.
💠Who set a mist key, each round sown
(batch, notes, root), the payments in the open, the pool's spends.
🔹Public: the notes.
🔹Private: whose.
Verifier 0x354B35ADA4E9D18077ab67b6c86bEDeeFf0DE15e
Verified on Etherscan.
$Halcyon launchpad on ethereum mainnet.
The way a holder's notes are addressed comes from the stealth-address scheme
@VitalikButerin laid out in "An incomplete guide to stealth addresses" (2023) and ERC-5564, which he co-authored:
a spending key and a viewing key, an ephemeral key per note, a view tag so the holder can scan the feed cheaply, nothing on chain that names the recipient. Mist applies that to payout notes instead of addresses, which is why one signature derives your keys and the Me page can find yours among everyone's.
Halcyon.cash is updating right now.