PROTOCOLO DE PRIVACIDAD NO CUSTODIAL

TORNADO.CASH / QUÉ ES TORNADO CASH

¿Qué es Tornado Cash?

Tornado Cash es un protocolo descentralizado para transacciones privadas en blockchains públicas. Separa la relación visible entre la dirección de depósito y el destinatario mediante pools de contratos inteligentes inmutables y pruebas de conocimiento cero.

Qué es Tornado Cash: Tornado Cash es un protocolo de privacidad no custodial. Un depósito publica un compromiso criptográfico en un pool compartido y un retiro posterior demuestra la propiedad sin revelar el depósito relacionado.

CUSTODIANo custodial
VERIFICACIÓNPruebas zk-SNARK
EJECUCIÓNContratos inteligentes
MODELO DE PRIVACIDAD ZERO-KNOWLEDGE Visualización del estado del protocolo
LÓGICA VERIFICADA
01 CompromisoEl hash público entra en el conjunto
CONJUNTO DE ANONIMATOCompromisos compartidos on-chain
02 Prueba zkPropiedad demostrada en privado
03 VerificadorPrueba válida sin vínculo de depósito
NOTAGuardada por el usuario
ON-CHAINCompromiso + nullifier
REVELADOSin vínculo depósito-destinatario
01 // FLUJO DE TRANSACCIÓN

Depositar. Esperar. Retirar.

El protocolo recibe un compromiso desde una dirección y después verifica una prueba para un destinatario. La nota privada conecta ambas acciones para el usuario, pero no se publica on-chain.

01
CREAR UN COMPROMISO

Depósito

El navegador genera valores secretos y deriva una nota privada. El activo y el hash de la nota se envían a un pool de importe fijo.

PÚBLICOcommitmentHash
PRIVADOsecret + nullifier
02
DEJAR QUE EL POOL CAMBIE

Espera

Cuando entran más compromisos del mismo valor, las correlaciones temporales evidentes resultan menos útiles. La privacidad también depende del comportamiento y de los metadatos de red.

ACTIVIDAD DE DEPÓSITOS
03
DEMOSTRAR SIN REVELAR

Retiro

El cliente demuestra que existe un compromiso válido y no gastado en el árbol de Merkle. El contrato verifica la prueba y transfiere los fondos al destinatario elegido.

PÚBLICOroot + nullifierHash
OCULTOdeposit path + secrets
02 // MODELO DE PRIVACIDAD

Un pool.
Dos direcciones.

Una blockchain pública suele mostrar un camino directo. Tornado Cash lo cambia: la fuente publica un compromiso y el destino presenta después una prueba válida para el pool compartido.

ORIGEN
0x71…9A2Dirección de depósito
POOL COMPARTIDOÁrbol de Merkle
DESTINATARIO
0xB4…E08Dirección de retiro
01

La nota permanece privada

La nota contiene los secretos necesarios para crear una prueba. Debe guardarse como una clave privada y nunca compartirse.

02

El pool ve un compromiso

El contrato registra un compromiso en un árbol de Merkle en vez de guardar la nota secreta del usuario.

03

El nullifier evita la reutilización

Un hash público del nullifier marca la nota como gastada sin revelar qué compromiso la generó.

04

La prueba vincula al destinatario

Los parámetros del destinatario y del relayer forman parte de la prueba para impedir sustituciones.

03 // BAJO EL CAPÓ

Verificado por código,
no por un operador.

Los contratos de Tornado Cash evalúan hechos criptográficos. No necesitan conocer la nota privada, mantener saldos de clientes ni elegir qué destinatario válido recibe el retiro.

Leer la documentación del protocolo
#
PASO 01

Compromiso

Un hash derivado del secreto y el nullifier se inserta como hoja en el árbol de Merkle del pool.

H(secret, nullifier)
PASO 02

Pertenencia a Merkle

El cliente reconstruye el árbol y demuestra que su compromiso pertenece a una raíz aceptada.

leaf ∈ root
Ø
PASO 03

Comprobación del nullifier

El contrato rechaza un hash de nullifier ya utilizado e impide un segundo retiro.

spent[nHash] == false
PASO 04

Verificación on-chain

El verificador comprueba la prueba y el pool envía el importe fijo al destinatario vinculado.

verifyProof() → true
04 // MODELOS DEL PROTOCOLO

Classic y Nova.

CLASSICIMPORTES FIJOS

Notas privadas y pools del mismo valor

Los pools Classic agrupan denominaciones iguales. Los depósitos generan notas que después permiten construir una prueba de retiro.

  • Importes fijos
  • Custodia de la nota privada
  • Compromisos Merkle
  • Retiros opcionales con relayer
Documentación Classic
NOVAIMPORTES ARBITRARIOS

Saldos protegidos y transferencias privadas

Nova introduce valores arbitrarios y transferencias que pueden permanecer dentro del pool protegido mediante otro modelo de cuenta.

  • Importes flexibles
  • Transferencias protegidas
  • Acceso por cuenta
  • Despliegue en Gnosis Chain
Documentación Nova
01

No custodial

El control se representa mediante secretos del usuario, no mediante una cuenta controlada por un operador.

02

Código abierto

Los contratos, circuitos, herramientas de prueba e interfaces se pueden revisar y alojar de forma independiente.

03

Pools inmutables

Los pools desplegados ejecutan su bytecode sin depender de los desarrolladores originales.

04

Gobernanza comunitaria

Las propuestas y los votos TORN se ejecutan on-chain y están separados de la custodia de notas.

05 // PREGUNTAS FRECUENTES

Detalles del
protocolo.

Estas respuestas describen el diseño central. La privacidad no es automática: también importan el tiempo, la reutilización de direcciones, el navegador, los RPC y la ley aplicable.

01¿Cómo permanece el depósito bajo control del usuario?+

El contrato recibe el activo y un compromiso derivado de secretos. La nota privada permanece con el usuario y se necesita para crear la prueba de retiro. El protocolo no guarda una contraseña convencional ni una base de recuperación.

02¿Por qué existe una espera entre depósito y retiro?+

La espera permite que entren otros depósitos del mismo valor y reduce correlaciones temporales evidentes. La espera por sí sola no garantiza privacidad.

03¿Qué demuestra la prueba de conocimiento cero?+

Demuestra que quien retira conoce los secretos de un compromiso incluido en una raíz de Merkle aceptada y que el nullifier no se ha utilizado antes, sin publicar los secretos.

04¿Qué función cumple un relayer?+

Un relayer puede enviar la transacción de retiro y pagar el gas por el destinatario. La prueba vincula al destinatario y la comisión.

TORNADO.CASH

La privacidad es un protocolo,
no una promesa.

Revisa la documentación, verifica los contratos, protege la nota y comprende los supuestos de privacidad antes de interactuar.