Agrupación y atribución · Lección 4 de 8
Evaluación de la calidad de los clústeres
10 min de lectura
Un clúster es una hipótesis sobre el control, y las hipótesis deben ponerse a prueba. Los analistas que no pueden indicar la calidad de sus clústeres tampoco pueden indicar cuánto se puede confiar en los hallazgos basados en ellos. Esta lección explica cómo se mide la calidad de los clústeres, qué ha descubierto la literatura de investigación sobre las tasas de error de las heurísticas, cómo detectar el colapso de clústeres y cómo demostrar que una conclusión se mantiene ante cambios razonables en el método.
La verdad de referencia y sus sesgos
Evaluar clústeres requiere una verdad de referencia: direcciones cuyo controlador se conoce con independencia de las heurísticas que se están probando. La verdad de referencia real es escasa y todas las fuentes tienen sesgos:
| Fuente | Qué ofrece | Sesgo |
|---|---|---|
| Transacciones de prueba propias | Conocimiento certero de unas pocas direcciones por servicio | Muestra diminuta; solo servicios |
| Publicación por la propia entidad | Listas completas de algunos exchanges o protocolos | Organizaciones que deciden publicar |
| Filtraciones y datos incautados | Contenido real de billeteras | Poco frecuentes, antiguos, de un solo tipo de billetera |
| Conjuntos de datos etiquetados de empresas de análisis o autoridades | Grandes y variados | Elaborados en parte con las mismas heurísticas, lo que implica un riesgo de circularidad |
| Etiquetas reveladas por el comportamiento | Millones de ejemplos, como el cambio identificado posteriormente mediante el gasto conjunto | Sobrerrepresentación de las billeteras que reutilizan direcciones o gastan desde ellas conjuntamente |
| Registros de servicios de nombres (cadenas basadas en cuentas) | Vínculos autodeclarados entre direcciones | Usuarios que deciden registrar nombres |
Nick (2015, una tesis de maestría sobre la desanonimización en Bitcoin) es un ejemplo poco frecuente basado en filtraciones: una falla de privacidad en los filtros de Bloom de las billeteras ligeras expuso los conjuntos de direcciones de billeteras reales, y la heurística de entradas comunes encontró más del 69% de sus direcciones. Möser y Narayanan (2022, "Resucitar la agrupación de direcciones en Bitcoin") utilizaron etiquetas reveladas por el comportamiento: 35,26 millones de transacciones cuyo cambio quedó expuesto posteriormente mediante la regla de entradas comunes. Ninguno de los dos constituye una muestra aleatoria de todos los usuarios, y ambos están ligados a su época. Trate cada tasa de error publicada como «medida con esta verdad de referencia, en este momento».
Precisión y exhaustividad de los clústeres
La precisión pregunta qué proporción de lo que el método agrupó realmente pertenece al mismo grupo; la exhaustividad pregunta qué proporción de lo que pertenece al mismo grupo encontró el método. En los clústeres hay dos formas habituales de contar.
Un ejemplo resuelto. La entidad E controla 10 direcciones y la entidad F controla 4. El método produjo el clúster C, que contiene 8 de las direcciones de E y las 4 de F (una fusión falsa), mientras que las otras 2 direcciones de E están en un clúster separado.
- A nivel de dirección (C se evalúa como el clúster de E): precisión = 8 ÷ 12 = 0,67; exhaustividad = 8 ÷ 10 = 0,80.
- Por pares: C contiene 12 × 11 ÷ 2 = 66 pares de direcciones. Los pares correctos son E–E (8 × 7 ÷ 2 = 28) más F–F (4 × 3 ÷ 2 = 6), es decir, 34. Precisión por pares = 34 ÷ 66 = 0,52. Los pares verdaderos en la realidad son 45 para E más 6 para F, es decir, 51; exhaustividad por pares = 34 ÷ 51 = 0,67.
El recuento por pares penaliza más las fusiones falsas, porque una fusión crea muchos pares incorrectos a la vez, lo que refleja el daño que las fusiones causan al análisis. Indique siempre qué método de recuento utiliza cada cifra.
-- Precisión y exhaustividad a nivel de dirección de cada clúster frente a la verdad de referencia
WITH overlap AS (
SELECT c.cluster_id, g.entity_id, COUNT(*) AS shared
FROM clusters c
JOIN ground_truth g ON g.address = c.address
GROUP BY c.cluster_id, g.entity_id
),
ranked AS (
SELECT o.*, SUM(shared) OVER (PARTITION BY cluster_id) AS labeled_in_cluster,
ROW_NUMBER() OVER (PARTITION BY cluster_id ORDER BY shared DESC) AS rk
FROM overlap o
),
entity_size AS (SELECT entity_id, COUNT(*) AS n FROM ground_truth GROUP BY entity_id)
SELECT r.cluster_id, r.entity_id,
r.shared * 1.0 / r.labeled_in_cluster AS precision,
r.shared * 1.0 / e.n AS recall
FROM ranked r
JOIN entity_size e ON e.entity_id = r.entity_id
WHERE r.rk = 1;
La consulta cuenta, para cada clúster, cuántas de sus direcciones con verdad de referencia pertenecen a cada entidad, selecciona la entidad dominante y divide la intersección por las direcciones etiquetadas del clúster (precisión) y por el tamaño conocido de la entidad (exhaustividad). Se ignoran las direcciones sin verdad de referencia, que es la opción honesta: son desconocidas, no correctas. Multiplicar por 1,0 evita la división entera en los motores que truncan el resultado.
Comprobaciones que no requieren verdad de referencia
La mayoría de las investigaciones reales no cuentan con verdad de referencia para las entidades implicadas. Aun así, las comprobaciones de coherencia interna revelan problemas:
- Coherencia de las huellas. Las direcciones controladas por una misma billetera tienden a compartir un tipo de script, una versión de transacción, un patrón de locktime y un estilo de comisiones. Un clúster cuyas transacciones de gasto muestran muchas huellas sin relación probablemente fusiona varias billeteras. Kappos et al. (2022, "Cómo pelar un millón: validación y ampliación de clústeres de Bitcoin") utilizaron características de este tipo a escala de todo el clúster para separar los clústeres contaminados por CoinJoins de los limpios.
- Coherencia temporal. Un clúster cuyas direcciones estuvieron activas en períodos muy separados, sin nada que vincule esos períodos salvo una transacción, merece que se examine esa transacción.
- Coherencia del comportamiento. Un clúster que se comporta como un exchange en una parte (miles de depósitos y barridos) y como un usuario individual en otra (unos pocos pagos manuales) puede ser dos entidades unidas por un único vínculo.
- Distribución de tamaños. Un salto repentino en el tamaño de los clústeres más grandes tras un cambio de método apunta a nuevos vínculos falsos, no a nuevos conocimientos.
Ninguna de estas comprobaciones demuestra que un clúster sea correcto, pero cada una puede mostrar que probablemente sea incorrecto.
Qué muestran las investigaciones sobre las tasas de error
| Estudio | Heurística | Resultado informado |
|---|---|---|
| Meiklejohn et al. (2013, "Un puñado de bitcoins") | Cambio de un solo uso (Heurística 2), refinada | Aproximadamente un 0,17% de falsos positivos, medido mediante la reutilización posterior de direcciones |
| Kappos et al. (2022) | La misma heurística, aplicada a clústeres verificados | Tasa de falsos descubrimientos del 51,64%; heurística más estricta: 12,7%; método propio: 0,62% y 0,02% |
| Nick (2015) | Entradas comunes | Más del 69% de las direcciones de las billeteras encontradas (exhaustividad) |
| Möser y Narayanan (2022) | Clasificador de cambio que combina heurísticas y huellas | Aproximadamente el 82% del cambio encontrado con alrededor de un 0,06% de falsos positivos |
| Victor (2020, "Heurísticas de agrupación de direcciones para Ethereum"); Wu et al. (2022, estudio de código abierto de Tutela) | Reutilización de direcciones de depósito de Ethereum y otras | 17,9% de las EOA activas agrupadas sin verdad de referencia; 39,4% de exhaustividad frente a clústeres de servicios de nombres |
De ello se desprenden cuatro conclusiones. Las tasas de error dependen en gran medida de cómo se midan: la misma heurística de cambio obtiene un 0,17% frente a la prueba de falsación de sus propios autores y un 51,64% frente a clústeres verificados de forma independiente nueve años después. Las heurísticas envejecen a medida que cambian el software de las billeteras y los hábitos de los usuarios. Combinar varias señales supera a cualquier regla individual. Y las heurísticas del modelo de cuentas siguen, en gran medida, sin validarse.
Colapso de clústeres
El colapso de clústeres ocurre cuando vínculos falsos fusionan entidades sin relación en un superclúster. La literatura ofrece varios ejemplos:
- La heurística de cambio ingenua de Meiklejohn et al. produjo un clúster de 1,6 millones de claves que contenía Mt. Gox, Instawallet, BitPay y Silk Road.
- Möser y Narayanan descubrieron que la fusión ingenua basada en su clasificador de cambio produjo un clúster de 223,9 millones de direcciones que absorbió 113 de 273 clústeres etiquetados de forma independiente. Las restricciones basadas en el comportamiento de gasto previsto bloquearon 413.608 fusiones; el mayor clúster restante tenía 40,5 millones de direcciones, y aun así se fusionaron siete pares de clústeres etiquetados.
- Harrigan y Fretter (2016, "La eficacia irrazonable de la agrupación de direcciones") excluyeron por completo el clúster de Mt. Gox porque una función de importación de claves hacía que la regla de entradas comunes no fuera fiable en ese caso.
Señales de alerta prácticas:
- Conflictos de etiquetas: dos exchanges distintos, o un exchange y un mezclador, que terminan en un mismo clúster.
- Fusiones entre clústeres grandes: Harrigan y Fretter observaron que los clústeres grandes rara vez se fusionan de forma natural, por lo que estas fusiones merecen una revisión.
- Crecimiento repentino: un clúster que adquiere una gran parte de su tamaño en una sola instantánea.
- Puntos únicos de fallo: una sola transacción responsable de unir dos componentes grandes; localícela en la tabla de evidencias y examínela.
Análisis de sensibilidad
El análisis de sensibilidad vuelve a obtener un hallazgo con distintos métodos razonables e informa de cómo cambia. Una progresión típica:
| Conjunto de heurísticas | Flujo del clúster X hacia exchanges |
|---|---|
| Solo entradas comunes, con exclusión de CoinJoins | 120 BTC |
| Más vínculos de cambio de alta solidez | 141 BTC |
| Más todos los vínculos de cambio | 410 BTC |
Aquí, las dos primeras filas coinciden estrechamente, mientras que la tercera casi triplica la cifra. Un informe cuidadoso indicaría «al menos 120 BTC, y unos 141 BTC si se incluyen los vínculos de cambio de alta solidez» y trataría los 410 BTC como una cifra no fiable, probablemente inflada por una fusión. La investigación muestra el mismo efecto a gran escala: Möser y Narayanan descubrieron que añadir su agrupación por cambio aumentaba los flujos estimados desde mercados de la darknet hacia exchanges en un 13,8% y reducía una estimación de la velocidad de circulación de las monedas en aproximadamente un 11,9%. Las decisiones metodológicas modifican las cifras principales.
Documentación de los supuestos
Todo informe que se base en clústeres debe registrar:
- el conjunto de heurísticas, su versión y sus umbrales (por ejemplo, el filtro de CoinJoin y el umbral de puntuación de cambio);
- la instantánea de los datos: cadena, altura de bloque y versión del nodo o del conjunto de datos;
- la verdad de referencia utilizada para evaluar los clústeres, su tamaño y sus sesgos conocidos;
- las tasas de error medidas o citadas, con su fuente y fecha;
- los colapsos conocidos excluidos y las fusiones revisadas;
- los resultados de sensibilidad para cada hallazgo clave;
- las fuentes y los grados de las etiquetas (véase la lección De la dirección a la entidad y a la persona: atribución y etiquetado).
Este registro permite que un revisor reproduzca los clústeres, cuestione un vínculo concreto y vea qué conclusiones se mantendrían si una heurística resultara ser incorrecta. La lección Redacción del informe forense: confianza y lenguaje muestra dónde corresponde incluirlo en el documento final.
Enfoque del examen: las fuentes de verdad de referencia y sus sesgos, incluida la circularidad en las etiquetas de los proveedores; la precisión y la exhaustividad a nivel de dirección frente a las calculadas por pares, y el cálculo de ambas a partir de un ejemplo pequeño; por qué las métricas por pares penalizan las fusiones falsas; qué muestran las cifras de las investigaciones, sobre todo el 0,17% frente al 51,64% para la misma heurística de cambio y por qué incluso una tasa de falsos positivos del 0,06% puede provocar el colapso de clústeres a gran escala; el colapso de clústeres y sus señales de alerta; el análisis de sensibilidad y la presentación de un límite inferior robusto; la documentación de heurísticas, umbrales, instantánea, verdad de referencia y tasas de error.
Preguntas de práctica
Comprueba lo que has aprendido. Estas preguntas no cuentan para el examen.
Inicia sesión para guardar tu progreso y continuar donde lo dejaste. Es gratis. Iniciar sesión