Files
txoko-dashboard/CHANGELOG.md
T
2026-06-04 11:36:34 +02:00

260 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Changelog
Todos los cambios notables de Txoko Node Dashboard se documentan aquí.
El formato sigue [Keep a Changelog](https://keepachangelog.com/es-ES/1.0.0/)
y el versionado sigue [Versionado Semántico](https://semver.org/lang/es/):
`MAYOR.MENOR.PARCHE`.
- **MAYOR** — cambios grandes que cambian cómo se usa la herramienta
- **MENOR** — características nuevas que no rompen lo anterior
- **PARCHE** — arreglos de errores
---
## [1.7.0] — 2026-06-04
### Añadido
- Detección de CoinJoin estructural (WabiSabi y similares). El motor reconocía
CoinJoin por denominaciones fijas (Whirlpool) o por outputs de igual valor
(CoinJoin genérico), pero no capturaba WabiSabi, que usa outputs de valor
variable. Se añadió una tercera variante: detecta mezclas por forma estructural
(muchos inputs y outputs, ratio cercano a 1, sin output dominante). El
fingerprint "Wasabi o JoinMarket" se activa también para esta variante.
- Check de datos OP_RETURN en el motor de privacidad. Hasta ahora OP_RETURN solo
se detectaba en la herramienta dedicada de TOOLS. Ahora aparece en el informe
de privacidad de Auditoría: informa de cuántos outputs OP_RETURN hay y su
tamaño en bytes, sin mostrar el contenido. Una transacción con OP_RETURN fuerza
banda BAJA independientemente del resto de señales.
- Check de tipo de script legacy (P2PKH/P2SH). Detecta cuando los inputs usan
direcciones legacy (1... o 3...) en lugar de SegWit (bc1q...) o Taproot
(bc1p...). Informa de que forman un conjunto de usuarios cada vez más pequeño,
lo que reduce el anonimato por conjunto. Peso 15, certeza CERTEZA,
actionability "wallet" (depende del software).
### Cambiado
- En transacciones CoinJoin, los checks "Mezcla de tipos de script en inputs",
"Inputs innecesarios (consolidación revelada)" y "Fingerprinting de wallet"
ahora se muestran como informativos (punto gris, sin penalización) en lugar de
como advertencias en rojo. En una mezcla, estas condiciones son esperadas por
diseño del protocolo — no son fallos del usuario.
### Corregido
- El check de batch payment ya no dispara en transacciones WabiSabi. Al no
detectarse como CoinJoin, el filtro `!likelyCJ` no se activaba y un WabiSabi
de 327×279 aparecía marcado como batch. Resuelto al corregir la detección.
---
## [1.6.0] — 2026-06-03
### Añadido
- Detección de exchanges (cuarta categoría de entidad, junto a OFAC, minería y
CoinJoin). Cuando una transacción o un eslabón del rastro toca una dirección
asociada a un exchange conocido, se marca con 🏦 y aparece en el veredicto y
en la distancia a entidad del rastro.
- La detección distingue la fiabilidad de cada dirección según su origen, en
línea con la honestidad del resto de la herramienta:
- Direcciones que el propio exchange ha publicado, o de etiquetas públicas
conocidas, se muestran como coincidencia (certeza PROBABLE).
- Direcciones inferidas por agrupación (clustering) se muestran como "posible"
(certeza POSIBLE), avisando claramente de que es una inferencia estadística
no confirmada por el exchange y de que puede haber falsos positivos.
- Conjunto inicial de ~590 direcciones de 16 exchanges, mayoritariamente de
datos de agrupación pública, etiquetadas con su fuente para reflejar su
fiabilidad.
---
## [1.5.0] — 2026-06-03
### Cambiado
- Mejoras de legibilidad del rastro de procedencia, para interpretar los datos
de un vistazo:
- Veredicto arriba del rastro: "Camino limpio" (en verde) si nada de lo
explorado toca entidades marcadas, o "Atención" (en ámbar) indicando qué
toca y a cuántos saltos. Responde de un vistazo si hay algo que revisar.
- Jerarquía visual: los eslabones con buena privacidad y sin marcas se
muestran discretos; los que merecen atención (marca o banda no alta) se
destacan con color. El ojo va directo a lo relevante.
- Barra visual de cantidad en cada eslabón, para captar la proporción sin
leer la cifra; el número queda al lado como apoyo.
- Indicador de estructura (entradas → salidas) siempre visible junto a cada
eslabón, útil para detectar consolidaciones grandes de un vistazo.
- Detalle ampliado al pasar el ratón (o tocar en móvil) sobre el indicador
de estructura: número exacto de entradas y salidas, valor en sat y BTC,
bloque, comisión y tasa. Mantiene la vista limpia y el detalle a mano.
- Contraste de texto mejorado en toda la aplicación. El texto secundario
(descripciones, datos de apoyo, el texto dentro de las casillas y el pie de
página) era demasiado tenue y costaba leerlo. Se ha subido su contraste en
los cuatro temas, manteniendo la jerarquía visual: el texto secundario se
sigue distinguiendo del principal, pero ahora se lee con comodidad.
---
## [1.4.0] — 2026-06-02
### Añadido
- Distancia a una entidad en el rastro de procedencia. A medida que se exploran
eslabones, un resumen arriba del rastro indica a cuántos saltos está lo más
cercano de cada tipo marcado (OFAC, minería, CoinJoin) — por ejemplo "minería
· a 2 saltos". Es honesto sobre su alcance: solo cuenta las ramas que se han
seguido y avisa de que puede haber más sin explorar.
### Corregido
- Transacciones coinbase como origen del rastro. Antes mostraban un aviso
confuso ("este input no indica su transacción de origen"), como si fuera un
error. Ahora se reconocen como el principio natural del rastro: un mensaje
claro indica que esas monedas se crearon ahí como recompensa de minado y no
proceden de ninguna transacción anterior.
---
## [1.3.0] — 2026-06-02
### Añadido
- Rastro de procedencia. En la pestaña Auditoría, debajo del informe de
privacidad, cada input de la transacción tiene un botón "seguir rastro" que
trae su transacción de origen y muestra un eslabón con: el txid de origen
(enlace a tu propio Mempool), cuánto fluyó, la fecha, la banda de privacidad
de esa transacción y marcas relevantes (CoinJoin, OFAC, minería, coinbase).
- El rastro es recursivo: desde cada eslabón se puede seguir bajando por sus
propios inputs, encadenando saltos hacia atrás nivel a nivel. Funciona bajo
demanda —cada consulta la pide el usuario, para no sobrecargar el nodo— y
comparte una caché en memoria para no repetir transacciones ya consultadas.
Incluye un límite de profundidad y un botón para limpiar el rastro.
### Corregido
- Detección de CoinJoin en el rastro: antes marcaba como CoinJoin cualquier
transacción cuyo análisis mencionara la palabra (lo que ocurría siempre,
porque existe un indicador con ese nombre aunque dé negativo), produciendo
falsos positivos. Ahora la marca solo aparece cuando el indicador de CoinJoin
da positivo de verdad (estructura de varios inputs y salidas de igual valor).
---
## [1.2.1] — 2026-06-02
### Cambiado
- La herramienta de OP_RETURN pasa de decodificar y mostrar el contenido a
solo detectar su presencia y tamaño. Para auditar privacidad, lo relevante
es que una transacción contenga datos arbitrarios (revela uso de un
protocolo o servicio), no qué dicen esos datos. Además, la herramienta no
debe funcionar como visor de contenido arbitrario de la cadena. Ahora indica
cuántos outputs OP_RETURN hay y su tamaño en bytes, sin mostrar el contenido.
---
## [1.2.0] — 2026-06-01
### Añadido
- Exportación del informe de privacidad de una transacción en dos formatos,
desde la pestaña Auditoría. El botón "↓ JSON" descarga el análisis completo
con su estructura (score, banda, wallets detectados y todas las señales con
su detalle), pensado para procesar con scripts o archivar en formato máquina.
El botón "↓ MD" descarga el informe legible en Markdown (diagnóstico, qué
puede saber un analista, limitaciones, recomendaciones y una tabla de señales),
para leer o guardar como documento. Ambos se generan en el navegador y se
descargan en local — no sale nada del nodo.
### Corregido
- El botón "Analizar privacidad" del Lab ahora envía correctamente el txid a
la pestaña Auditoría y lanza el análisis. Antes la pestaña aparecía vacía
porque el identificador no se transmitía entre vistas.
---
## [1.1.0] — 2026-06-01
### Añadido
- Exportación del UTXO Map a CSV. Un botón "↓ CSV" en el UTXO Map descarga
todos los UTXOs de la dirección analizada con su información: txid, vout,
valor en sats y en BTC, estado de confirmación, altura de bloque, score
de privacidad y problemas detectados. El archivo se genera en el navegador
y se descarga en local — no pasa por ningún servidor, no sale nada del nodo.
Pensado para abrir en una hoja de cálculo y ordenar o filtrar los UTXOs
por privacidad.
---
## [1.0.0] — 2026-05-31
Primera versión completa y funcional. Suite de auditoría de privacidad
Bitcoin self-hosted, con motor de análisis, exploración de cadena, monitor
del nodo y detección de entidades.
### Motor de análisis de privacidad
- Análisis de transacción con 15+ heurísticas ponderadas
- Score de privacidad por bandas (ALTA / MEDIA / BAJA), sin precisión
numérica falsa
- Informe narrativo en prosa: explica qué puede deducir un observador
- Distinción explícita entre certeza, probabilidad y posibilidad en cada señal
- Etiquetas de accionabilidad: qué es evitable, qué depende del wallet,
qué ya está en la cadena y no se puede cambiar
### Detección de CoinJoin
- Whirlpool con denominaciones fijas y tolerancia del 2%
- CoinJoin genérico por outputs de igual valor
- Filtro de denominación mínima (10.000 sats) — descarta mezclas de polvo
que no son CoinJoin reales
- OP_RETURN tratado correctamente: un Whirlpool con OP_RETURN de cambio se
sigue detectando
- Supresión de penalizaciones coherente: en una mezcla no penaliza señales
que son esperadas
### Fingerprinting de wallet
- Detección de BlueWallet, Bitcoin Core, Sparrow, Electrum y wallets con
Taproot nativo a partir de señales estructurales combinadas
- Wallet inferido del tipo de CoinJoin (Whirlpool → Samourai/Sparrow,
genérico → Wasabi/JoinMarket)
- En CoinJoin el fingerprinting es informativo y no penaliza
### Detección de entidades
- Índice de ~155 direcciones embebido, lookup local sin consultas externas
- OFAC: alerta crítica si una dirección está en la lista de sanciones
(Blender.io, Sinbad, Garantex, Suex, Chatex, Lazarus Group)
- Mining pools: marca informativa de origen en pool de minería
(F2Pool, Foundry, Antpool, MARA, Braiins, Luxor, Ocean, NiceHash, Bitfury)
### Exploración y monitor
- Explorador de bloques y búsqueda on-chain
- Vista de Mempool con stats, fees y bloques proyectados
- Monitor del nodo: estado de Bitcoin Core, sistema y logs en tiempo real
- UTXO Map con score de privacidad por moneda
- Herramientas: conversor de unidades, validador de dirección, decodificadores
### Experiencia de uso
- El análisis se mantiene al cambiar de pestaña y volver (Privacy Lab y
Auditoría) — el estado vive en memoria, sin escribir en disco
- Diseño responsive para móvil
- Tema cypherpunk
### Filosofía
- Sin dependencias externas de datos: todo viene del propio nodo del usuario
- Ninguna consulta sale de la red del usuario
- Didáctica honesta sobre las limitaciones del análisis
[1.0.0]: https://git.bitcointxoko.org/pikaro/txoko-dashboard