Mezcladores y monedas de privacidad · Lección 3 de 5
Mezcladores basados en contratos inteligentes
10 min de lectura
Un mezclador basado en contratos inteligentes deja un registro público más completo que cualquier servicio de custodia: cada depósito y cada retiro es un evento que cualquiera puede decodificar. Lo que elimina es el dato que buscan los investigadores, el vínculo entre ambos, y lo elimina mediante criptografía en lugar de mediante una base de datos que pueda incautarse. Esta lección aborda qué demuestran los registros del contrato, cómo funcionan las heurísticas de vinculación publicadas y hasta qué punto se puede confiar en ellas, y dónde se encuentran realmente las pruebas que permiten establecer un vínculo de forma concluyente: notas, retransmisores e interfaces.
Tornado Cash en términos probatorios
Tornado Cash es el diseño de referencia. Cada fondo de mezcla es un contrato que acepta un único importe fijo; los fondos de mezcla de ETH aceptan 0,1, 1, 10 o 100 ETH, y existen fondos de mezcla de tokens para activos como DAI, USDC, USDT y WBTC. Los contratos de los fondos de mezcla no se pueden pausar ni actualizar. Un usuario realiza un retiro presentando una prueba de conocimiento cero (una zk-SNARK) de que conoce los secretos asociados a algún compromiso del árbol de Merkle del fondo de mezcla, sin revelar cuál; la lección Mezcladores con custodia compara este diseño con las demás familias de mezcladores. Esto es lo que demuestra cada registro.
| Registro | Campos clave | Qué demuestra | Qué no demuestra |
|---|---|---|---|
Llamada a deposit(bytes32 _commitment) y evento Deposit | commitment, leafIndex, timestamp, remitente en la transacción | Esta dirección pagó el importe del fondo de mezcla y registró este compromiso | Quién lo retiró posteriormente |
Llamada a withdraw(...) | prueba, raíz de Merkle, nullifierHash, destinatario, retransmisor, comisión, reembolso | Se presentó una prueba válida para algún depósito no gastado del árbol | Qué depósito |
Evento Withdrawal | to, nullifierHash, relayer, fee | Este destinatario recibió el importe menos la comisión; este retransmisor, si lo hubo, recibió un pago | Quién lo solicitó |
El software del depositante genera dos secretos: un anulador y un valor aleatorio. El compromiso es un hash de ambos; el hash del anulador es un hash únicamente del anulador. El usuario conserva ambos secretos como una nota, una cadena como tornado-eth-0.1-1-0x… que codifica la moneda, el importe, el ID de la cadena y los secretos. El contrato registra cada hash del anulador y rechaza un segundo retiro con el mismo valor. Quien posea la nota puede realizar el retiro; la nota es, en la práctica, una clave al portador.
El conjunto de anonimato y cómo documentarlo
Para un retiro determinado, los candidatos son los depósitos realizados en el mismo fondo de mezcla con anterioridad. Dos cifras describen ese conjunto con rigor, y las tablas de eventos decodificados proporcionan ambas:
-- Conjunto de anonimato para un retiro del fondo de mezcla de 10 ETH en el bloque 15.200.000
SELECT
(SELECT COUNT(*) FROM tc_deposits
WHERE pool = 'ETH-10' AND block_number < 15200000) AS prior_deposits,
(SELECT COUNT(*) FROM tc_withdrawals
WHERE pool = 'ETH-10' AND block_number < 15200000) AS prior_withdrawals;
La primera subconsulta cuenta todos los depósitos anteriores al bloque del retiro: cada uno es un candidato, porque el contrato nunca revela qué depósitos se han gastado. La segunda cuenta los retiros anteriores. La diferencia es el número de depósitos que seguían sin gastarse en ese momento, que constituye el tamaño operativo del fondo de mezcla. Documente ambas cifras, junto con el fondo de mezcla, el bloque y la fuente de los datos. Los nombres de las tablas que se muestran aquí son ilustrativos; constrúyalas a partir de los registros del contrato del fondo de mezcla filtrados por la firma del evento (véase la lección Consultas de datos UTXO y registros y trazas de EVM).
Heurísticas de vinculación en investigaciones publicadas
Los investigadores han medido con qué frecuencia los propios usuarios revelan el vínculo. Las heurísticas más citadas son:
| Heurística | Lógica | Solidez y salvedades |
|---|---|---|
| Coincidencia de direcciones | La misma dirección realiza el depósito y recibe el retiro | Casi determinista respecto al control; aun así, debe comprobarse si se trata de direcciones compartidas o de custodia |
| Direcciones vinculadas | Las direcciones del depositante y del destinatario han realizado transacciones entre sí fuera del mezclador (Tutela utilizó tres o más transacciones de este tipo) | Sólida cuando las interacciones son directas y repetidas |
| Financiación del gas | El depositante, o una dirección que este financia, paga el gas de la dirección del retiro | Patrón sólido; los proveedores de gas y los financiadores compartidos generan vínculos falsos |
| Múltiples denominaciones | Un conjunto inusual de depósitos en distintos fondos de mezcla (por ejemplo, 3 × 10 ETH y 1 × 1 ETH) coincide con el mismo conjunto de retiros en un plazo aproximado de un día | Probabilística; pierde solidez a medida que aumenta la actividad del fondo de mezcla |
| Precio del gas singular | El depósito y el retiro utilizaron el mismo precio del gas inusual, fijado por el usuario | Solo antes del cambio del mercado de comisiones de agosto de 2021 (EIP-1559), y únicamente para retiros sin retransmisor |
| Proximidad temporal | Un retiro poco después de un depósito en un fondo de mezcla con poca actividad | Débil por sí sola; útil para acotar conjuntos |
| Solicitudes de recompensas | Las solicitudes del programa de recompensas por minería de anonimato (de diciembre de 2020 a diciembre de 2021) revelaban cuánto tiempo permanecía un depósito en el fondo de mezcla | De alcance limitado; solo para usuarios que solicitaron recompensas |
Dos estudios muestran la magnitud. Tutela (Wu y colaboradores, 2022) señaló unos 42.800 de 97.300 depósitos, aproximadamente el 44 %, como potencialmente comprometidos por al menos una heurística, principalmente las direcciones vinculadas (18.900), la coincidencia de direcciones (18.600) y las múltiples denominaciones (16.200), y estimó una reducción media del 37 % (±15 %) en los conjuntos de anonimato. Wang y colaboradores (ACM Web Conference 2023) comunicaron reducciones medias del 27,34 % para los fondos de mezcla de Ethereum más populares y del 46,02 % para un mezclador comparable en otra cadena. Béres y colaboradores (2021) utilizaron identificadores de servicios de nombres como datos de referencia parcialmente verificados para elaborar perfiles de usuarios a partir de sus hábitos de fijación del precio del gas y de las horas del día en que realizaban actividades.
El punto fundamental desde la perspectiva probatoria: los autores de Tutela afirman que sus heurísticas producirán falsos positivos y no presentan ninguna validación con datos de referencia verificados para las heurísticas de Tornado Cash. Las cifras publicadas muestran que las filtraciones son frecuentes; no proporcionan una tasa de error para un vínculo de su caso. Asigne a un vínculo basado en una sola heurística el grado C o D según su lógica, y busque corroboración en un tipo de prueba diferente.
Ejemplo resuelto. La dirección 0xA1b2…9F deposita 3 × 10 ETH y 1 × 1 ETH en el plazo de una hora. Diecinueve horas después, la dirección nueva 0x5cE0…71 recibe tres retiros del fondo de mezcla de 10 ETH y uno del fondo de mezcla de 1 ETH a través de un retransmisor, cada uno menos la comisión del retransmisor, y su primera transacción saliente paga a una dirección de depósito de un exchange. El examinador cuenta cuántas otras direcciones depositaron la misma combinación en las 48 horas anteriores (ninguna) y cuántos conjuntos de retiros con esa configuración se produjeron (uno). La coincidencia de múltiples denominaciones se registra con grado D junto con sus recuentos; se solicitan al exchange los registros de la dirección de depósito; si muestran al mismo cliente que financió 0xA1b2…9F, el vínculo asciende al grado B.
Notas: las pruebas que establecen un vínculo de forma concluyente
Una nota hallada al amparo de una autorización legal logra lo que ninguna heurística puede. A partir de los secretos de la nota, el examinador vuelve a calcular el compromiso, que identifica el evento Deposit, y el hash del anulador, que identifica el evento Withdrawal si existe. Esto constituye un vínculo determinista, reproducible de forma independiente, entre el depositante y el destinatario. Si ningún retiro contiene ese hash del anulador, el depósito sigue en el fondo de mezcla y la nota sigue permitiendo controlarlo; asegurarla pasa entonces a ser una cuestión de recuperación de activos (véanse las lecciones Opciones de congelación e incautación y Protección de criptoactivos incautados).
Dónde se encuentran las notas:
- archivos de texto, incluidos los archivos de copia de seguridad que el cliente de línea de comandos escribe cuando crea una nota;
- gestores de contraseñas, aplicaciones de notas, capturas de pantalla, mensajes de chat enviados a uno mismo y papel;
- copias de seguridad cifradas que la interfaz podía almacenar en la cadena mediante una "cuenta de notas", legibles con la clave de la cuenta;
- informes de la herramienta de cumplimiento de la interfaz, que generaba a partir de una nota un documento que enumeraba su depósito y su retiro.
Trate una nota como trataría una clave privada (véanse las lecciones Billeteras en dispositivos incautados y Cálculo de hashes, registro, cadena de custodia y gestión de la calidad). Nunca la pegue en una interfaz alojada ni en un sitio de terceros: cualquiera que la vea puede retirar los fondos no gastados. Repita los cálculos con código abierto en un equipo aislado del examinador, registre la versión y el hash del software, y haga que un segundo examinador repita el cálculo.
Retransmisores e interfaces
El evento Withdrawal identifica al retransmisor y su comisión, por lo que la dirección del retransmisor es un dato determinista. Los retransmisores son operadores independientes; los registrados bloquean tokens de gobernanza como garantía en un registro en la cadena que la interfaz consulta, pero los fondos de mezcla pagan a cualquier retransmisor que figure en un retiro. Un retransmisor recibe la solicitud de retiro a través de la red y puede conservar registros de las horas de las solicitudes y de las direcciones de red, si es que mantiene registros. Trátelo como un posible poseedor de registros, identifique a su operador a partir del registro y de los registros de nombres, y tenga en cuenta que muchos operan detrás de redes de anonimización o no conservan nada.
La interfaz es código independiente, servido desde almacenamiento descentralizado y pasarelas, y cambia. A principios de 2024, una propuesta maliciosa de gobernanza insertó código en la interfaz servida a través de pasarelas IPFS que enviaba las notas de los usuarios a un servidor externo, desde el 1 de enero de 2024 hasta que se descubrió. De ello se desprenden dos lecciones: registre qué versión de la interfaz y qué pasarela utilizó el sujeto (historial del navegador, registros de conexión de la extensión de la billetera), y recuerde que una nota también puede estar en manos de otra persona.
Una autoridad sancionó los contratos de Tornado Cash en agosto de 2022 y retiró la designación en marzo de 2025; los contratos siguieron funcionando durante todo ese tiempo (véase la lección de IDFE-CC Verificación de billeteras y transacciones).
Enfoque del examen: qué demuestran y qué no demuestran los eventosDeposityWithdrawaly los parámetros dewithdraw; el compromiso, el hash del anulador y la nota como clave al portador; la documentación de los depósitos anteriores y los depósitos no gastados como conjunto de anonimato; las heurísticas de coincidencia de direcciones, direcciones vinculadas, financiación del gas, múltiples denominaciones, precio del gas singular, proximidad temporal y solicitudes de recompensas, con sus salvedades; Tutela (aproximadamente el 44 % de los depósitos señalados, reducción media del 37 %) y Wang y colaboradores (27,34 %) y la ausencia de tasas de error validadas; una nota hallada como vínculo determinista, dónde se encuentran las notas y su tratamiento seguro; pruebas de retransmisores e interfaces.