Groth16 — это pairing-based zk-SNARK с самыми короткими доказательствами и самой быстрой верификацией среди систем, реально работающих в продакшене сегодня: три элемента эллиптической кривой (~192 байта) и верификация, стоящая на Solana примерно 1,5 миллиона compute unit-ов. Withdraw-схема SolMask компилируется в Groth16 над BN254 — той же кривой, что используют EVM-роллапы, — так что on-chain-верификатор уже хорошо обкатан.
Каждый вывод SolMask несёт одно Groth16-доказательство. Оно одновременно подтверждает четыре утверждения: prover знает nullifier_secret, чей Poseidon-хеш равен раскрытому nullifier-у; соответствующий commitment — лист дерева Меркла, чей корень совпадает с недавно опубликованным; текущий slot Solana больше, чем unlock_slot этого commitment-а; получатель, сумма и комиссия relayer-а в транзакции — те, что prover авторизовал.
Groth16 требует trusted setup для каждой схемы. Setup SolMask-а был многосторонней церемонией с публичной транскрипцией — так, чтобы ни один отдельный участник не мог в одиночку подделывать доказательства.