Privacidad: Ataques de cadena de bloques a la privacidad

Bitcoin utiliza una cadena de bloques. Los usuarios pueden descargar y verificar la cadena de bloques para confirmar que todas las reglas de Bitcoin se han seguido a lo largo de su historia. Por ejemplo, los usuarios pueden verificar que nadie haya generado una cantidad de bitcoins infinita y que cada moneda ha sido gastada únicamente con una firma válida creada por su propia llave privada. Esto es lo que lleva a la proposición de valor única de bitcoin como una forma de dinero electrónico que solo requiere un mínimo de confianza. Sin embargo, la propia estructura de cadena de bloques conduce a problemas de privacidad debido a que cada transacción debe estar disponible para que todos la puedan ver, por siempre. Esta sección habla de métodos conocidos que un adversario podría utilizar para analizar la cadena de bloques pública.

Bitcoin utiliza el modelo de UTXO. Las transacciones tienen entradas y salidas, estas pueden tener una o más de cada caso. Las salidas previas se pueden utilizar como entradas para transacciones en el futuro. Una salida que todavía no ha sido gastada se denomina una salida de transacción no gastada (“Unspent Transaction Output”, UTXO por sus siglas en inglés). Las UTXO se denominan usualmente “monedas”. Las UTXO están asociadas a una dirección bitcoin y se pueden gastar creando una firma válida que corresponda a la scriptPubKey de la dirección.

Las direcciones son información criptográfica, en esencia números aleatorios. En si mismas no revelan mucho respecto al propietario real de los bitcoins vinculados. Usualmente un adversario intentará vincular múltiples direcciones que suponga pertenecen a la misma billetera. Estos conjuntos de direcciones se denominan “grupos” o “grupos de billeteras”, y la actividad de su elaboración se denomina agrupamiento de billeteras. Una vez que se obtienen los grupos el adversario puede intentar vincularlos a identidades del mundo real para las entidades a las que intenta espiar. Por ejemplo, puede encontrar el grupo de billetera A que pertenece a Alice y otro grupo que pertenece a Bob. Si se identifica una transacción bitcoin que paga desde el grupo A al grupo B, entonces el adversario sabrá que Alice ha enviado monedas a Bob.

Puede ser muy difícil el afinar las heurísticas para el agrupamiento de billeteras que conduzcan a obtener información correcta.

Heurística de propiedad por entrada común

Esta es una heurística o suposición que dice que si una transacción tiene más de una entrada entonces todas las entradas son propiedad de la misma entidad.

Por ejemplo, considere esta transacción con entradas A, B y C; y salidas X e Y.

A (1 btc) --> X (4 btc) 
B (2 btc)     Y (2 btc) 
C (3 btc)

Esta transacción sería una indicación de que las direcciones B y C son propiedad de la misma persona que posee A.

Uno de los objetivos de CoinJoin es quebrar esta heurística. Sin embargo, esta heurística es cierta muy a menudo y es ampliamente utilizada por las empresas de vigilancia de transacciones y otros adversarios al 2019. La heurística usualmente se combina con el razonamiento de la reutilización de las direcciones, que junto con la economía algo centralizada de bitcoin al 2018 es la razón por la que esta heurística puede ser irracionalmente efectiva. El éxito de esta heurística también depende del comportamiento de la billetera: por ejemplo, si la billetera usualmente recibe pequeñas sumas y envía grandes sumas entonces creará muchas transacciones con entradas múltiples.

Detección de dirección cambio

Muchas transacciones de bitcoin tienen salidas de cambio. Esto podría representar una filtración de privacidad si se puede encontrar de alguna manera la dirección de cambio, puesto que vincularía la propiedad de las entradas (gastadas recientemente) con una nueva salida. Las direcciones de cambio pueden ser muy efectivas cuando se combinan con otras filtraciones de privacidad como la heurística de propiedad por entrada común o reutilización de dirección. La detección de la dirección de cambio permite al adversario agrupar direcciones creadas recientemente, que la heurística de propiedad por entrada común y la reutilización de dirección permiten agrupar con direcciones pasadas.

Las direcciones de cambio llevan a un patrón de uso común denominado la cadena de pelado. Se puede observar después de grandes transacciones desde casas de cambio, mercados, grupos de minería y pagos de salarios. En una cadena de pelado, una única dirección inicia con una cantidad relativamente grande de bitcoins. Luego, una cantidad pequeña es pelada de esta cantidad mayor, creando una transacción en la que una pequeña cantidad se transfiere a una dirección y el restante a una dirección de cambio de uso único. Este proceso se repite, potencialmente en cientos o miles de saltos – hasta que la cantidad más grande se recorta, en cuyo momento (en un único uso) el monto restante en la dirección podría agregarse con otras direcciones similares para producir nuevamente una cantidad grande en una única dirección, y entonces el proceso de pelado inicia nuevamente.

Aquí listamos las posibles maneras de inferir cuál de las salidas de una transacción es la salida de cambio:

Reutilización de dirección

Si una dirección ha sido utilizada nuevamente es muy probable que sea una salida de pago, no una dirección de cambio. Esto se debe a que las direcciones de cambio se crean automáticamente por el software de billetera, sin embargo, las direcciones de pago se envían manualmente entre personas. La reutilización de dirección podría ocurrir debido a que la persona la ha vuelto a utilizar por ignorancia o apatía. Esta heurística es probablemente la más precisa, y es muy difícil imaginar cómo podrían surgir falsos positivos (excepto por diseño intencionado de las billeteras). Esta heurística también se denomina la heurística de la sombra.

Algunas billeteras de software muy antiguas (de la era del 2010-2011 que no implementaba billeteras deterministas) no utiliza una nueva dirección de cambio sino que envía el cambio a la dirección de entrada. Esto revela la dirección de cambio de forma exacta.

El evitar la reutilización de direcciones es un remedio obvio. Otra idea es que estas billeteras podrían detectar automáticamente cuando se ha utilizado una dirección de pago en el pasado (quizá preguntando al usuario) y entonces usar una dirección utilizada previamente como la dirección de cambio, de este modo ambas salidas serían direcciones reutilizadas.

Además, la mayoría de direcciones reutilizadas se citan en la internet, foros, redes sociales como Facebook, Reddit, Stackoverflow, etc. Estas direcciones se pueden encontrar y verificar en el sitio https://checkbitcoinaddress.com/. Es un poco de desanonimización de la cadena de bloques pseudo-anónima.

Huella digital de billeteras

Un analista cuidadoso a veces deduce qué software ha creado cierta transacción, debido a que en su mayoría los diferentes software no crean las transacciones de la misma manera. La identificación digital de las billeteras se puede utilizar para detectar direcciones de cambio debido a que la dirección de cambio es la que gasta con la misma huella digital de billetera.

Como un ejemplo, considera cinco transacciones típicas que consumen una entrada cada una y producen dos salidas. A, B, C, D, E se refieren a transacciones. A1, A2 etc., se refieren a direcciones de cambio de esas transacciones.

          --> C1 
A1 --> B2 --> C2
   --> B2 --> D1
          --> D2 --> E1 
                 --> E2

Si la identificación de huella digital de billeteras encuentra que las transacciones A, B, D y E han sido creadas por el mismo software, y las otras por otro software, entonces las direcciones de cambio son obvias. Se muestra estas mismas transacciones con las direcciones que no coinciden reemplazadas por una X. Se observa la cadena de pelado, es claro que B2, D2, E1 son direcciones de cambio que pertenecen a la misma billetera que A1.

          --> X 
A1 --> X  --> X 
   --> B2 --> X
          --> D2 --> E1
                 --> X

Existe una cantidad de formas para obtener evidencia que se utiliza para identificar el software de billetera:

  • Formatos de direcciones. Frecuentemente las billeteras utilizan un único tipo de dirección. Si una transacción tiene todas las entradas y una salida del mismo tipo de dirección (por ejemplo, p2pkh), y la salida restante de un tipo diferente (p2sh), entonces una suposición razonable es que la salida de formato de dirección similar (p2pkh) es la dirección de cambio y la salida de formato de dirección distinta (p2sh) es el pago que pertenece a alguien más.

  • Tipos de Script. Por ejemplo, la billetera que envía podría ser una billetera de firma múltiple P2SH 2 de 3, que efectúa una transacción a dos salidas: una dirección de firma múltiple 2 de 3 y la otra dirección de firma múltiple 2 de 2. El programa distinto es un claro indicador de que esta salida es un pago y que la otra es de cambio.

  • BIP69 Indexación lexicográfica de entradas y salidas de transacciones. Este BIP (propuesta de mejora a Bitcoin) describe una manera de que las billeteras ordenen sus entradas y salidas de forma estándar que mejore la privacidad. Actualmente el ecosistema de billeteras tiene una mezcla de aquellas que implementan y otras que no implementan este estándar, lo cual ayuda a la identificación digital. Note que la transacción común de una salida con dos entradas con ordenamiento aleatorio cumplirá con BIP69 el 50% de las veces simplemente por un tema de probabilidad.

  • Número de entradas y salidas. Muchas veces distintos usuarios construyen transacciones de manera distinta. Por ejemplo, las personas crean frecuentemente transacciones únicamente con dos salidas; un pago y el cambio, mientras que las instituciones que tienen altos volúmenes como los casinos o las casas de cambio utilizan consolidación y procesamiento por lotes. Una salida que luego se emplea para crear una transacción por lotes probablemente no haya sido el cambio. Esta heurística también se denomina “heurística de consumidor”.

  • Campos de la transacción. Los valores en el formato de la transacción que podrían variar dependiendo del software de billetera: nLockTime es un campo en las transacciones que algunas billeteras establecen para hacer menos rentable la práctica conocida como fee sniping. Una mezcla de billeteras en el ecosistema tanto implementan esta característica como no lo hacen. nLockTime también se puede utilizar en ciertos protocolos como CoinSwap. nSequence es otro ejemplo. También el número de versión.

  • Firmas con un valor R bajo. El formato DER utilizado para codificar las firmas de Bitcoin requiere añadir un byte adicional a una firma simplemente para indicar en cuando el valor R de la firma está en la mitad superior de la curva elíptica utilizada por Bitcoin. El valor R es derivado de forma aleatoria, de modo que la mitad de todas las firmas tienen este byte adicional. Hasta julio del 2018 Bitcoin Core solo genera firmas con un valor de R bajo que no requiere este byte adicional. Al hacerlo, las transacciones de Bitcoin Core se ahorrarán un byte por cada dos firmas (en promedio). Al 2019 ninguna otra billetera efectúa esto, de modo que un valor R alto es evidencia que no se utiliza Bitcoin Core.

  • Llaves públicas comprimidas y no comprimidas. Software de billeteras antiguos utilizan llaves públicas sin comprimir. Se puede utilizar una mezcla de llaves comprimidas y no comprimidas para la identificación de huella digital.

  • Comisiones de minero. Diversos software de billetera podrían responder a la presión por el espacio en el bloque de diferentes maneras que podrían conducir a que se paguen diferentes tipos de comisiones de minero. Esto también podría ser una manera de identificación de huella digital de las billeteras.

  • Selección de moneda. Diversos software de billetera podrían elegir cuales UTXO gastar empleando algoritmos diferentes que podrían utilizarse para la identificación de huella digital.

Si múltiples usuarios están empleando el mismo software de billetera, entonces la identificación de huella digital de billetera no puede detectar la dirección de cambio. También es posible que un único usuario posee dos billeteras diferentes que emplean software distinto (por ejemplo una billetera en línea y otra de hardware) y por tanto las transacciones entre software distinto no podrían indicar un cambio de propietario. La identificación de huella digital de billetera en si misma no es en ningún caso una evidencia decisiva, sin embargo, como en otras filtraciones de privacidad funciona mejor con fusión de datos cuando se combinan múltiples filtraciones de privacidad.

Números redondeados

Muchos montos de pago son números redondos, por ejemplo 1 BTC o 0.1 BTC. El monto de cambio restante entonces no sería un número redondo (por ejemplo, 1.78213974 BTC). Esto es potencialmente útil para identificar la dirección de cambio. El monto podría ser redondo en otra moneda. El monto 2.24159873 BTC no es redondo en Bitcoin pero cuando se convierte a USD podría ser cercano a $ 100.

Incremento de comisión

BIP 0125 define un mecanismo para reemplazar una transacción sin confirmar con otra que paga una comisión más alta. En el contexto del mercado para espacio en el bloque, un usuario podría descubrir que su transacción no se está confirmando lo suficientemente rápido de modo que opta por “incremento de comisión” o paga una comisión de minero más alta. Sin embargo, generalmente la nueva comisión de minero ocurrirá reduciendo el monto de cambio. De este modo si un adversario está observando las transacciones sin confirmar podrían ver tanto la transacción previa de comisión baja y la posterior de comisión alta, y la salida con el monto reducido será la salida de cambio.

Esto se puede mitigar al reducir la cantidad de ambas salidas por un tiempo, o reduciendo solo el monto de pago (en el modelo en el que el emisor paga la comisión).

Heurística de entrada innecesaria

También denominada la “heurística de cambio óptimo”. Considere esta transacción de bitcoin. Tiene dos entradas valoradas en 2 BTC y 3 BTC y dos salidas valoradas en 4 BTC y 1 BTC.

2 btc --> 4 btc 
3 btc     1 btc

Asumiendo que una de las salidas es de cambio y la otra salida es el pago. Existen dos interpretaciones: la salida de pago es bien la de 4 BTC o la de 1 BTC. Sin embargo, si la salida de 1 BTC es el monto de pago entonces la entrada de 3 BTC no es necesaria, dado que la billetera podría haber gastado solo la entrada de 2 BTC y pagado menores comisiones de minero al hacerlo. Esto es una indicación que la salida real de pago es la de 4 BTC y que la de 1 BTC es la salida de cambio.

Esto es un problema para las transacciones que tienen más de una entrada. Una manera de corregir esta filtración es añadir más entradas hasta que el monto de la salida de cambio es más alto que cualquier entrada, por ejemplo:

2 btc --> 4 btc
3 btc     6 btc 
5 btc

Ahora, ambas interpretaciones implican que algunas entradas no son necesarias. Desafortunadamente esto cuesta más en comisiones de minero y solo se puede hacer si la billetera en realidad posee otros UTXO.

Algunas billeteras tienen algoritmos de selección de moneda que viola esta heurística. Un razón podría ser debido a que las billeteras quieren consolidar entradas en momentos de comisiones de minero baratas. De modo que esta heurística no es una evidencia decisiva.

Enviar a un tipo de script diferente

El enviar fondos a un tipo de script diferente que aquel desde donde está gastando facilita el identificar cuál de las salidas es la de cambio.

Por ejemplo, para una transacción con una entrada que gasta una moneda p2pkh y crea 2 salidas, una de tipo p2pkh y otra de p2sh, es muy probable que la salida p2pkh sea la de cambio mientras que la de p2sh es la de pago.

Esto también es posible si las entradas son de una mezcla de tipos (creadas por billeteras que soportan múltiples tipos de script por compatibilidad). Si uno de los script de salida se conoce que se utiliza por la billetera (debido a que el mismo tipo de script se gasta por al menos una de las entradas) mientras que la otra no lo es, es probable que la otra sea la salida de pago.

Esto tiene el mayor efecto en los primeros usuarios de la tecnología de billetera, como p2sh o segwit. Mientras sea más inusual pagar a personas utilizando el mismo tipo de script que usted, más filtrará la identidad de su salida de cambio. Esto mejorará con el transcurso del tiempo a medida que la tecnología obtiene mayor adopción.

Fallos de billetera

Algunos software de billetera gestiona el cambio de una manera poco privada. Por ejemplo, ciertas billeteras antiguas colocan siempre la dirección de cambio en la última posición de la transacción. Una versión antigua de Bitcoin Core agregaría UTXO de entrada a la transacción hasta que el monto de cambio sea cercano a 0.1 BTC, de modo que un monto ligeramente superior a 0.1 BTC siempre será de cambio.

Salida idéntica de CoinJoin

Las transacciones de salida idéntica de CoinJoin revelan de forma trivial la dirección de cambio debido a que esta es la salida que no es de valor idéntico. Por ejemplo, considere esta transacción de salida idéntica de CoinJoin:

              A (1btc) 
X (5btc) ---> B (1btc) 
Y (3btc)      C (4btc) 
              D (2btc)

Existe un claro indicador que la salida D es cambio que pertenece al propietario de la entrada Y, mientras que la salida C es cambio que pertenece a la entrada X. Sin embargo, CoinJoin rompe con la heurística de propiedad por entrada común y oculta efectivamente la propiedad de las salidas de pago (A y B), de modo que la disyuntiva está todavía muy a favor del uso de coinjoin.

Crecimiento de grupo

Los grupos de billeteras creados al emplear la heurística de propiedad por entrada común usualmente crece (en número de direcciones) lentamente y de manera incremental. De modo que otra forma de deducir la dirección de cambio es encontrar qué salida ocasiona que los grupos crezcan solo de forma lenta. El valor exacto de “cuan lento” se permite crecer a un grupo es una pregunta abierta.

Heurística de grafo de transacción

Como se ha descrito en la introducción, las direcciones se conectan entre si a través de las transacciones en la cadena de bloques. El concepto matemático de un grafo se puede utilizar para describir la estructura en donde las direcciones se conectan con las transacciones. Las direcciones son vértices mientras que las transacciones son las aristas en este grafo de transacción.

Esto se denomina heurística debido a que las transacciones en la cadena de bloques no corresponden necesariamente a transacciones económicas reales. Por ejemplo, la transacción podrías representar alguien enviado bitcoins a si mismo. También, las transacciones económicas reales podrían no aparecer en la cadena de bloques, sino ser efectuadas fuera de esta; bien a través de una entidad de custodia con una casa de cambio, o sin custodia como Lightning Network.

Análisis de contaminación

El análisis de contaminación es una técnica utilizada algunas veces para estudiar el flujo de bitcoins y extraer información de interés respecto a la privacidad. Si una dirección A está conectada a información de interés (como un nombre verdadero) y efectúa una transacción que envía monedas a la dirección B, entonces se dice que la dirección B está contaminada con monedas de la dirección A. De esta manera la contaminación se difunde al “tocarla” a través de transacciones. No está claro cuán útil es el análisis de contaminación para el espionaje, dado que no considera la transferencia de propiedad. Por ejemplo, un propietario de monedas contaminadas podría donar algunas de ellas a alguna beneficencia, se podría afirmar que las monedas están contaminadas, aún así a la beneficencia no le importa y podría no divulgar ninguna información respecto al origen de estas monedas. El análisis de contaminación solo podría ser útil para romper esquemas en donde alguien intenta ocultar el origen de sus monedas al enviar muchas veces docenas de transacciones a si mismo.

Monto

Las transacciones de cadena de bloques contienen información del monto de las entradas y salidas de la transacción, así como un monto implícito de comisión de minero. Esto está a vista de todos.

A menudo el monto de pago de una transacción es un número redondo, posiblemente al convertirlo a otra moneda. Un análisis de números redondos en transacciones de bitcoin se ha utilizado para medir los países o regiones en donde se ha dado el pago.

Montos de entrada que revelan la riqueza del emisor

Una discordancia en los tamaños de las entradas disponibles frente a lo que se solicita puede tener como resultado una filtración de privacidad de la riqueza total del emisor. Por ejemplo, cuando se quiere enviar 1 bitcoin a alguien un usuario podría tener solo una entrada de 10 bitcoins. Éste crea una transacción con 1 bitcoin para el receptor y 9 bitcoins para la dirección de cambio. El receptor podría ver la transacción en la cadena de bloques y deducir que el emisor tenía al menos 10 bitcoins.

Por analogía con dinero de papel, si usted entrega un billete de 100 dólares americanos para pagar por una bebida que cuesta solo 5 dólares, el camarero sabrá que usted tiene al menos 95 dólares. Bien podría ser mayor, por supuesto, pero al menos no es menor.

Montos de pago exactos (sin cambio)

Los pagos que envían montos exactos y no tienen cambio son una probable indicación de que los bitcoins no han cambiado de dueño.

Esto a menudo significa que el usuario ha empleado la función de “enviar el monto máximo” de su billetera para transferir fondos a su nueva billetera, a una cuenta de casa de cambio, para financiar un canal de Lightning, u otro caso similar en donde los bitcoins no han cambiado de propietario.

Otras posibles razones para enviar montos exactos sin cambio son que el algoritmo de selección de monedas ha sido suficientemente listo y suertudo para identificar un conjunto de entradas adecuado destinado para el monto de pago que no ha requerido de cambio (o ha requerido cambio que es suficientemente trivial para perder), o que usuarios avanzados envían donaciones utilizando selección manual de monedas para evitar explícitamente el cambio.

Lotes

El pago por lotes es una técnica para reducir la comisión de minero de un pago. Funciona al agrupar varios pagos en una única transacción de cadena de bloques. Se utiliza típicamente por las casas de cambio, casinos y otras entidades con altos volúmenes de gasto.

La implicancia en la privacidad se origina en el hecho de que los receptores pueden ver el monto y dirección de los receptores.

When you receive your withdrawal from Kraken, you can look up your transaction on a block chain explorer and see the addresses of everyone else who received a payment in the same transaction. You don’t know who those recipients are, but you do know they received bitcoins from Kraken the same as you.

That’s not good for privacy, but it’s also perhaps not the worst thing. If Kraken made each of those payments separately, they might still be connected together through the change outputs and perhaps also by certain other identifying characteristics that block chain analysis companies and private individuals use to fingerprint particular spenders.

However, it is something to keep in mind if you’re considering batching payments where privacy might be especially important or already somewhat weak, such as making payroll in a small company where you don’t want each employee to learn the other employees’ salaries.

Scripts inusuales

La mayor parte, pero no todas, las transacciones de scripts de bitcoin son de firma única. Es posible otro tipo de scripts, en donde el más común es el de firma múltiple. Un script que es particularmente inusual puede filtrar información simplemente por el hecho de ser tan único.

Al 2019 la firma múltiple 2 de 3 es de lejos el script más común que no es de firma única.

Pago de comprador misterioso

Un pago de comprador misterioso es cuando un adversario paga bitcoin a un objetivo con el fin de obtener información de interés. Esto funcionará aún si se evita la reutilización de direcciones. Por ejemplo, si el objetivo es un comercio en línea, entonces el adversario podría comprar un artículo pequeño. En la interfaz de pago se mostraría una de las direcciones bitcoin del comerciante. El adversario ahora sabe que esta dirección pertenece al comerciante y al investigar futuras transacciones en la cadena de bloques se podría divulgar otra información, la que cuando se combine con otras técnicas podrían revelar mucha más información sobre el comerciante. La heurística de propiedad por entrada común y detección de dirección de cambio podría revelar otras direcciones que pertenecen al comerciante (asumiendo que no se utilizan contramedidas como CoinJoin) y podría ofrecer el límite inferior del volumen de ventas. Esto funciona debido a que cualquiera en toda la Internet puede solicitar una de las direcciones del comerciante.

Reutilización de dirección forzada

La reutilización de dirección forzada o reutilización de dirección por incentivo es cuando un adversario paga un monto (usualmente pequeño) de bitcoin a direcciones que ya han sido utilizadas en la cadena de bloques. El adversario espera que los usuarios o su software de billetera utilizará estos pagos como entradas para transacciones mayores que revelarán otras direcciones a través de la heurística de propiedad por entrada común. Estos pagos se pueden entender como una manera de obligar al propietario de direcciones a una reutilización no intencionada.

Este ataque a veces se denomina incorrectamente un ataque de polvo.

El comportamiento correcto de las silletas es no gastar monedas que han arribado a una dirección vacía previamente utilizada.

Correlación de monto

La correlación de montos se refiere a la búsqueda en toda la cadena de bloques de montos de salida.

Por ejemplo, digamos que utilizamos tecnología de privacidad de caja negra que rompe con el grafo de transacciones.

V --> [tecnología de privacidad de caja negra] --> V - comisión

La tecnología de privacidad se emplea para mezclar un monto V de bitcoins y devolver V bitcoins menos comisiones al usuario. La correlación de montos se puede utilizar para deshacer esta tecnología al buscar en la cadena de bloques transacciones con un monto de salida cercano a V.

Una manera de oponerse a la correlación de monto es dividir el envío de bitcoin al usuario en diferentes transacciones con montos de salida que juntos suman V menos comisiones.

V --> [tecnología de privacidad] --> w0 
                                 --> w1
                                 --> w2

Otra manera de utilizar la correlación de montos es utilizarla para encontrar un punto de inicio. Por ejemplo, si Bob desea espiar a Alicia. Digamos que Alicia menciona que tomará vacaciones por festividades con su novio, lo que le costará $ 5000. Bob podría buscar todas las transacciones en la cadena de bloques en el periodo apropiado de tiempo con montos de salidas cercanos a $ 5000. Aún si se encuentra múltiples coincidencias esto le da a Bob una buena idea de las direcciones bitcoin que pertenecen a Alicia.

Correlación de tiempo

La correlación de tiempo se refiere a utiliza la información de tiempo de las transacciones en la cadena de bloques. De manera similar a la correlación de monto, si un adversario encuentra de alguna manera el momento que una transacción interesante ha ocurrido podría buscar en la cadena de bloques en ese periodo de tiempo para reducir sus candidatos potenciales.

Esto se puede vencer al elegir de manera uniformemente aleatoria una hora entre ese momento y un periodo de tiempo apropiado en la que se publique la transacción bitcoin. Esto fuerza al adversario a buscar más entre las transacciones existentes; tendrá que considerar igualmente todo el conjunto anónimo entre ese momento y el periodo de tiempo.

Traducción artículo: Privacy en el wiki de Bitcoin.
https://en.bitcoin.it/wiki/Privacy#Blockchain_attacks_on_privacy

Parte 1: Privacidad: Introducción