unlock_slot — это per-note time-lock, обеспечивающий privacy-задержку SolMask. При депозите интерфейс переводит выбранную вами задержку (1 час, 6 часов, 1 день, вплоть до недели) в номер slot-а Solana — примерно current_slot + delay_seconds / 0.4 — и вписывает это значение в commitment рядом с секретом и суммой.
При выводе схема Groth16 проверяет, что unlock_slot <= current_slot, а on-chain-верификатор проверяет, что переданный ему slot совпадает с Clock::get()?.slot. Proof, сгенерированный до unlock slot-а, математически валиден, но программа всё равно отклонит транзакцию.
Задержка существует потому, что мгновенные выводы тривиально связываются: если депозит и вывод на ту же сумму попадают в соседние slot-ы, первый же догадка наблюдателя о том, кто кому отправил, окажется верной. Заставляя каждую ноту высидеть выбранный срок, мы даём возможность новым депозитам накопиться рядом с вашим, увеличивая anonymity set ещё до того, как ваш вывод попадёт в блокчейн.