Shielded pool

Пул депозитов, участники которого взаимно анонимны; держится на дереве Меркла и проверке уникальности nullifier-ов.

Shielded pool — это on-chain-объект, который хранит депозиты и проверяет выводы. Пул SolMask — это одна программа Solana, владеющая четырьмя PDA: vault (token-аккаунт, хранящий актив), merkle_frontier (вставочная сторона дерева Меркла), root_history (скользящий список недавно валидных корней) и nullifier_set (реестр уже потраченных нот).

Приватность, которую даёт пул, измеряется размером его anonymity set-а — множества депозитов, к которым любой конкретный вывод мог бы относиться правдоподобно. Если в пуле один депозит, анонимность нулевая. Если десять тысяч — наблюдатель, пытающийся связать конкретный вывод с конкретным депозитом, сталкивается с угадайкой «один из десяти тысяч», и это ещё без учёта эффекта privacy-задержки.

SolMask держит отдельный shielded pool для каждого актива (один для SOL, один для USDC, один для USDT), потому что смешивание депозитов между mint-ами потребовало бы раскрывать суммы на выводе и сломало бы всю конструкцию. Кросс-активная приватность достигается Jupiter-свапом внутри самой транзакции вывода, а не смешиванием пулов как таковых.

Связанные термины

Shielded pool · Glossary · SolMask