Interoperable FROST co-signing for shielded ZEC: open specs and a reference implementation

Small update on the backup side.

I wrote a draft of a common member backup format for FROST groups on shielded ZEC:

It starts from Zkool’s zkfrost string: version 1 is exactly its 68-byte payload, so existing Zkool backups stay valid. It keeps only what’s needed to rebuild one member (id, t, n, signing share, sk; ak comes from the group’s UFVK), and it doesn’t depend on how sk was agreed. A passphrase and a Shamir split of sk are optional profiles behind the version byte. Open points are listed at the end (identifier encoding, test vectors…).

@aryaethn and I agreed on it as a starting point for discussion, not a finished spec. Comments welcome.

On the co-signer side: it now refuses dummy spending keys (ZIP 374), checks witnesses against the anchor, and flags v6 pre-authorization.

Scope and budget are unchanged.

1 Like