Zcash's shielded pools have no scripts, so the multisignatures, timelocks and hash locks behind payment channels and atomic swaps on Bitcoin cannot be written there. We introduce Violet's Constrained Locks (VCLs). Two parties jointly control a shielded address created by a FROST key generation, and agree offline on the transactions that may spend from it. A lock's conditions come from composition rather than on-chain code. Following Skyhook, transaction identifiers can be predicted before signing and checked from a few revealed fields. Transaction format v6, introduced in NU6.3 along with the Ironwood pool, moves the anchor out of the identifier, which extends prediction to spends of notes that are not yet on chain. Zero-knowledge proofs constrain the outputs of the predicted transaction. The choice of threshold signing scheme sets what releases the lock: plain FROST; preFROST, a threshold adaptor signature; or hashFROST, which ties the adaptor to a hash preimage. We define VCLs and their security and prove the algebraic core in Lean 4 with Mathlib. We give reductions for most of the rest; for the unforgeability of preFROST and hashFROST we give only a proof plan. An appendix lists the status of every claim. As applications we give hash- and point-time-locked contracts and cross-chain swaps. A Lightning-style channel and streaming payments built from VCLs, and a blind variant of hashFROST, are developed in companion papers. Under current consensus, the lock time of a shielded-only transaction is not enforced. We use a transparent state output as an interim measure and propose a consensus change.
Metadata
Available format(s)
PDF
Category
Cryptographic protocols
Publication info
Preprint.
Contact author(s)
avi @ strahn xyz
History
2026-10-21 · v2 — Second share version, semi-public
@misc{swiss:2026/0002,
author = {Strahn Cryptography},
title = {Violet's Constrained Locks, or: How I Learned to Stop Worrying and Love Scriptless Chains},
year = {2026},
howpublished = {Paper 2026/0002},
url = {https://swiss.strahn.dev/p/2026/0002},
}
Hosted on swiss · versions are immutable · all papers