diff --git a/README.md b/README.md index a71c516..8d4ad89 100644 --- a/README.md +++ b/README.md @@ -8,34 +8,81 @@ Suite de auditoría de privacidad Bitcoin para nodos propios. ## Qué es -Txoko es una herramienta de auditoría de privacidad Bitcoin que corre sobre tu propio nodo. Te permite analizar tus transacciones y entender qué puede deducir un observador externo sobre tu actividad on-chain. +Txoko es una herramienta de auditoría de privacidad Bitcoin que corre sobre tu propio nodo. Analiza tus transacciones y te explica qué puede deducir un observador externo sobre tu actividad on-chain. No es un explorador de bloques genérico. Es una herramienta para que el propietario de un nodo audite su propia privacidad con total control sobre sus datos. -Lo esencial: **ninguna consulta sale de tu red**. Todo el análisis ocurre en tu nodo, en tu navegador. No dependes de servicios externos ni expones qué transacciones o direcciones estás investigando. +Lo esencial: **ninguna consulta sale de tu red**. Todo el análisis ocurre en tu nodo y en tu navegador. No dependes de servicios externos ni expones qué transacciones o direcciones estás investigando. + +--- + +## Qué NO hace + +Tan importante como saber qué hace es saber qué no hace: + +- **No envía datos a ningún servidor externo** — ni analíticas, ni telemetría, ni consultas a APIs de terceros +- **No identifica a otras personas** — es una herramienta de auto-auditoría, no de vigilancia +- **No da consejos de inversión** — analiza privacidad on-chain, nada más +- **No afirma más de lo que sabe** — distingue siempre entre CERTEZA, PROBABLE e POSIBLE +- **No tiene número de score exacto** — muestra bandas (ALTA/MEDIA/BAJA); la precisión numérica sería falsa +- **No muestra el contenido de OP_RETURN** — solo informa de su presencia y tamaño + +--- + +## Cómo verificar que nada sale de tu red + +El código es un único archivo HTML autocontenido. Puedes auditarlo tú mismo: + +```bash +# Buscar cualquier llamada a dominios externos +grep -E "fetch\(|XMLHttpRequest|src=\"http|href=\"http" dashboard.html +``` + +Verás que todas las llamadas van a rutas relativas (`/api/`, `/system/`) que apuntan a tu propio nodo vía nginx. No hay ninguna llamada a dominios externos en el código de análisis. + +Las únicas dependencias externas son las librerías del frontend (React, Babel) que se cargan desde CDN al abrir la página. Estas no reciben ningún dato de tus transacciones — solo sirven el código de la interfaz. --- ## Funcionalidades -- **Privacy Lab** — análisis completo de una transacción con 15 heurísticas ponderadas -- **Informe narrativo** — explicación en prosa de lo que puede deducir un analista, sin jerga -- **UTXO Map** — mapa de tus UTXOs con score de privacidad por moneda -- **Wallet fingerprinting** — detecta qué wallet generó la transacción -- **Detección de CoinJoin** — Whirlpool, WabiSabi, JoinMarket, genérico -- **Explorador de bloques** — bloques recientes y búsqueda on-chain -- **Mempool** — stats, fees, fee intelligence, bloques proyectados -- **Monitor del nodo** — estado de Bitcoin Core, sistema, logs en tiempo real -- **Herramientas** — conversor sat/BTC/EUR, validador de dirección, decodificadores +**Auditoría de privacidad** +- Análisis de transacción con más de 20 heurísticas ponderadas +- Detección de CoinJoin: Whirlpool (denominaciones fijas), WabiSabi (estructura de mezcla), CoinJoin genérico +- Detección de OP_RETURN: presencia y tamaño, sin mostrar contenido +- Detección de tipo legacy (P2PKH/P2SH) vs SegWit/Taproot +- Wallet fingerprinting: Bitcoin Core, Sparrow, BlueWallet, Taproot nativo y otros +- Detección de entidades: OFAC, pools de minería, exchanges conocidos (~745 direcciones) +- Rastro de procedencia: sigue cada input hacia atrás salto a salto, bajo demanda +- Distancia a entidad: a cuántos saltos está lo más cercano de cada tipo marcado +- Informe narrativo: qué puede deducir un analista, en prosa, sin jerga +- Bandas de privacidad con distinción explícita CERTEZA / PROBABLE / POSIBLE +- Exportación del informe en JSON y Markdown + +**Exploración on-chain** +- UTXO Map con score de privacidad por moneda, exportable a CSV +- Explorador de bloques y búsqueda on-chain +- Mempool: stats, fees, fee intelligence, bloques proyectados + +**Monitor del nodo** +- Estado de Bitcoin Core, sistema (CPU, RAM, disco) y logs en tiempo real +- Checklist de seguridad del nodo + +**Herramientas** +- Conversor sat/BTC/fiat +- Validador de dirección +- Detector OP_RETURN +- Decodificador PSBT y transacción raw --- ## Filosofía - **Sin dependencias externas de datos** — todo viene de tu propio nodo -- **Transparencia sobre certeza vs inferencia** — siempre distingue lo que es hecho de lo que es probabilidad -- **Didáctica honesta** — explicar las limitaciones es tan importante como el análisis -- **Ligero por defecto** — no estresar el nodo +- **Honestidad sobre la certeza** — siempre distingue hechos de inferencias +- **Informa, no aconseja** — da el dato y la consecuencia; tú decides +- **Calibrado al riesgo real** — no alarma por lo normal; reserva la alerta para lo que importa +- **Ligero por defecto** — el rastro de procedencia es bajo demanda para no estresar el nodo --- @@ -56,7 +103,7 @@ Probado sobre Ubuntu Server 24.04 con HP EliteDesk (i5, 32GB RAM, 2TB NVMe). ### 1. Clonar el repositorio ```bash -git clone https://gitea.tu-comunidad/txoko-dashboard.git +git clone https://git.bitcointxoko.org/pikaro/txoko-dashboard.git cd txoko-dashboard ``` @@ -124,6 +171,8 @@ txoko-dashboard/ ├── system-metrics.js # Backend de métricas del nodo (Node.js) ├── txoko-metrics.service # Servicio systemd ├── README.md +├── SETUP.md +├── CHANGELOG.md └── LICENSE ``` @@ -133,10 +182,10 @@ El frontend es un único archivo HTML autocontenido. Sin bundler, sin npm, sin p ## Limitaciones conocidas -- Análisis de transacción aislada — sin acceso al grafo completo, algunas heurísticas tienen techo -- Sin base de datos de entidades — no identifica exchanges o servicios KYC (en desarrollo) -- El score de privacidad muestra bandas (ALTA/MEDIA/BAJA), no un número exacto — la precisión numérica sería falsa -- El fingerprinting de wallet requiere mínimo varias señales coincidentes para aparecer +- **Análisis de transacción aislada** — sin seguir el grafo completo, algunas heurísticas tienen techo. El rastro de procedencia amplía el contexto pero es bajo demanda y no exhaustivo +- **Base de datos de entidades parcial** — ~745 direcciones de exchanges, OFAC y minería. Cubre los casos más comunes; no es completa +- **Fingerprinting conservador** — requiere varias señales coincidentes; prefiere no detectar antes que detectar mal +- **Sin análisis de red** — no cruza datos con otros nodos ni mempool distribuida --- @@ -150,7 +199,7 @@ Los cambios de cada versión se documentan en [CHANGELOG.md](CHANGELOG.md). Proyecto en desarrollo activo. Issues y PRs bienvenidos. -Si encuentras un false positive en alguna heurística o tienes un caso de prueba interesante, abre un issue con el txid y lo que esperabas ver. +Si encuentras un falso positivo en alguna heurística o tienes un caso de prueba interesante, abre un issue con el txid y lo que esperabas ver. ---