Shielded pool

Un pool de depósitos cuyos participantes son mutuamente anónimos, sostenido por un árbol de Merkle y por la unicidad de los nullifiers.

Un shielded pool es el objeto on-chain que custodia los depósitos y verifica los retiros. El pool de SolMask es un único programa de Solana propietario de cuatro PDAs: vault (la cuenta de tokens que custodia el activo), merkle_frontier (el lado de inserción del árbol de Merkle), root_history (la lista rodante de raíces válidas recientes) y nullifier_set (el registro de notas ya gastadas).

La garantía de privacidad que ofrece un pool es el tamaño de su conjunto de anonimato: el conjunto de depósitos al que cualquier retiro concreto podría corresponder de forma plausible. Si el pool guarda un solo depósito, el anonimato es cero. Si guarda diez mil, un observador que intente atribuir un retiro a un depósito concreto se enfrenta a un acierto de uno entre diez mil, antes incluso de sumar el efecto del retardo de privacidad.

SolMask opera un shielded pool distinto por activo (uno para SOL, uno para USDC, uno para USDT), porque mezclar depósitos entre mints obligaría a revelar importes al retirar, rompiendo la construcción. La privacidad entre activos se logra con un swap por Jupiter dentro de la propia transacción de retiro, no mezclando los pools.

Términos relacionados

Shielded pool · Glossary · SolMask