Hi guys,
I am currently working with a small team as part of the wider community for the Mina Protocol. More specifically, we are integrating ZCash Foundation’s lovely FROST implementation to enable multi-threshold wallets on the Mina blockchain.
We have run into a problem wherein Mina requires all commitment elliptic curve elements within its signatures to have even Y values, however, FROST makes no such distinction and produces commitment elements with odd or even Y coordinates. I was wondering whether there is any existing research or implementations which suggest secure modifications to FROST to allow for even Y commitments.
I believe that the redpallas implementation by ZCash Foundation does meddle with parity but does not produce even Y coordiantes for commitments (only group public keys I believe?). Another solution is to constantly rerun the entire signing process within FROST until we get a desired signature but we’d very much like to avoid that if possible.
Here are some links to the repositories for relevance:
FROST: GitHub - ZcashFoundation/frost: Rust implementation of FROST (Flexible Round-Optimised Schnorr Threshold signatures) by the Zcash Foundation
My team’s repository: GitHub - Raspberry-Devs/mina-multi-sig: Using FROST multi-signature scheme for jointly owned contracts on the Mina Blockchain
Any help or direction to someone who can provide help is much appreciated! Thank you!