La privacidad y la conversión de activos suelen tratarse como dos pasos separados, y unirlos es exactamente donde la mayoría de la gente filtra. El flujo ingenuo es: mueve los fondos de forma privada y luego cámbialos en un DEX. Pero el swap es una transacción pública desde la wallet de destino, y si cambias la cantidad retirada completa de una sola vez justo después de recibirla, le has entregado a un observador una señal de correlación brillante. El enfoque más limpio es hacer la conversión dentro del retiro privado, de modo que el destinatario simplemente reciba el activo que quería y no haya un swap aparte que correlacionar.
Este artículo cubre los retiros entre activos: deposita SOL, el destinatario recibe USDC, el vínculo sigue roto.
Por qué "retirar y luego cambiar" filtra
Supón que retiras 50 SOL de forma privada a una wallet fresca y luego cambias inmediatamente esos 50 SOL a USDC en un DEX. On-chain hay ahora una wallet fresca que recibió exactamente 50 SOL y, segundos después, cambió exactamente 50 SOL. Las cantidades coinciden, el momento es ajustado y el swap es totalmente público. Un observador que vigila retiros del pool de ~50 SOL y swaps en DEX de ~50 SOL puede alinearlos. No rompiste la privacidad en el pool: reintrodujiste un evento correlacionable justo después.
Dos cosas lo empeoran: el swap expone una cantidad precisa (frustrando la higiene de "mezclarse en cantidades redondas" de /blog/anonymity-sets-on-solana), y la wallet fresca tiene ahora un historial de transacciones, así que ya no es fresca para ningún uso futuro.
Cómo funciona en cambio un retiro entre activos
SolMask puede enrutar un swap como parte de la propia transacción de retiro. Depositas SOL en el pool de SOL. Cuando retiras, la prueba libera tus SOL dentro de la misma transacción que los cambia a través de Jupiter y entrega USDC al destinatario. Desde la perspectiva de la cadena hay un retiro privado que resulta en que el destinatario tiene USDC, no un retiro seguido de un swap aparte y vinculable.
La propiedad de privacidad no cambia con la conversión. La prueba de conocimiento cero sigue afirmando únicamente "soy dueño de uno de los depósitos de este pool"; no revela nada sobre cuál depósito, y la pata del swap viaja dentro de la misma transacción atómica. El depósito (SOL desde tu wallet) y el resultado (USDC a una wallet fresca) siguen siendo dos eventos que no parecen relacionados. /learn/what-is-a-shielded-pool cubre el mecanismo base; el swap es un añadido al retiro, no un salto aparte.
Cuándo los retiros entre activos son la herramienta correcta
- El destinatario quiere una stablecoin. Pagar a un contratista o proveedor que factura en USDC, pero tú mantienes SOL. Deposita SOL, entrega USDC, sin conversión pública de por medio. Esto combina de forma natural con /blog/dao-treasury-privacy-on-solana y /blog/private-payroll-on-solana.
- Quieres que el activo de destino difiera del de origen por sí mismo. Cambiar el activo al cruzar la frontera privada elimina por completo el patrón de "la misma cantidad del mismo token entró y salió".
- Liquidación en una moneda concreta. Flujos de OTC y tesorería que tienen que liquidarse en USDC en lugar de SOL — ver /blog/private-otc-trades-on-solana.
Qué tener en cuenta
El slippage y el enrutamiento son públicos en la salida, no en la entrada. El swap se ejecuta a precio de mercado a través de Jupiter, así que el destinatario recibe lo que la ruta devuelva en el momento de la ejecución. La tasa de conversión es una tasa de mercado normal; lo que está oculto es la conexión con tu depósito, no la existencia de una pata de swap. Elige cantidades y momentos con sensatez para que la cifra entregada siga pareciéndose a la actividad ordinaria.
La higiene de cantidades sigue aplicando. Un retiro entre activos cambia el activo pero no excusa una cantidad atípica. Si depositas una cantidad muy distintiva de SOL, la conversión no borra esa distinción. Iguala a la multitud en el lado del depósito y mantén poco llamativas las cantidades entregadas.
El retraso sigue importando. Convertir a la salida no reemplaza el retraso de privacidad: deja que tu depósito madure en el pool antes de retirar, exactamente como con un retiro del mismo activo. /blog/the-privacy-delay-explained explica por qué.
La dirección de destinatario sigue teniendo que ser fresca. Entregar USDC a una wallet con historial previo ligado a ti reconecta ambos extremos sin importar el cambio de activo. /learn/choosing-a-recipient-address es un consejo que no cambia aquí.
La versión corta
Un retiro entre activos pliega la conversión dentro del paso privado para que no haya un swap aparte y correlacionable después. Deposita SOL, el destinatario recibe USDC, el vínculo permanece roto. Todo lo demás —retraso, higiene de cantidades, destinatario fresco— es la misma disciplina que un retiro del mismo activo, resumida en /blog/solana-wallet-privacy-checklist. Pruébalo desde /swap.
FAQ
P. ¿Revela el swap cuál depósito era el mío? R. No. La prueba afirma la propiedad de un depósito no especificado del pool; la pata del swap se ejecuta dentro de la misma transacción sin referenciar tu nota concreta. La conversión no debilita la no-vinculabilidad.
P. ¿Puedo depositar USDC y hacer que el destinatario reciba SOL? R. Los retiros entre activos funcionan entre los activos soportados, así que la dirección puede invertirse según el soporte del pool. El principio es idéntico: convierte dentro del retiro, no en una transacción aparte después.
P. ¿Es más barato retirar el mismo activo y cambiarlo yo mismo? R. Podría parecer marginalmente más barato en comisiones brutas, pero hacer el swap tú mismo después crea una transacción pública y correlacionable desde la wallet fresca, que es justo el coste de privacidad que intentabas evitar. El swap dentro del retiro existe precisamente para evitar eso.
P. ¿Qué tasa obtengo en la conversión? R. Una tasa de mercado normal a través del enrutamiento de Jupiter en el momento de la ejecución, incluyendo el slippage habitual. La privacidad oculta el vínculo, no el hecho de que ocurrió un swap de mercado.
P. ¿Convertir a la salida reemplaza el retraso de privacidad? R. No. Usa un retraso real y deja que el depósito madure en el pool antes de retirar: la conversión es independiente de las protecciones de tiempo.