docs: README v2 — qué no hace, cómo verificar, funcionalidades actualizadas
This commit is contained in:
@@ -8,34 +8,81 @@ Suite de auditoría de privacidad Bitcoin para nodos propios.
|
|||||||
|
|
||||||
## Qué es
|
## 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.
|
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
|
## Funcionalidades
|
||||||
|
|
||||||
- **Privacy Lab** — análisis completo de una transacción con 15 heurísticas ponderadas
|
**Auditoría de privacidad**
|
||||||
- **Informe narrativo** — explicación en prosa de lo que puede deducir un analista, sin jerga
|
- Análisis de transacción con más de 20 heurísticas ponderadas
|
||||||
- **UTXO Map** — mapa de tus UTXOs con score de privacidad por moneda
|
- Detección de CoinJoin: Whirlpool (denominaciones fijas), WabiSabi (estructura de mezcla), CoinJoin genérico
|
||||||
- **Wallet fingerprinting** — detecta qué wallet generó la transacción
|
- Detección de OP_RETURN: presencia y tamaño, sin mostrar contenido
|
||||||
- **Detección de CoinJoin** — Whirlpool, WabiSabi, JoinMarket, genérico
|
- Detección de tipo legacy (P2PKH/P2SH) vs SegWit/Taproot
|
||||||
- **Explorador de bloques** — bloques recientes y búsqueda on-chain
|
- Wallet fingerprinting: Bitcoin Core, Sparrow, BlueWallet, Taproot nativo y otros
|
||||||
- **Mempool** — stats, fees, fee intelligence, bloques proyectados
|
- Detección de entidades: OFAC, pools de minería, exchanges conocidos (~745 direcciones)
|
||||||
- **Monitor del nodo** — estado de Bitcoin Core, sistema, logs en tiempo real
|
- Rastro de procedencia: sigue cada input hacia atrás salto a salto, bajo demanda
|
||||||
- **Herramientas** — conversor sat/BTC/EUR, validador de dirección, decodificadores
|
- 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
|
## Filosofía
|
||||||
|
|
||||||
- **Sin dependencias externas de datos** — todo viene de tu propio nodo
|
- **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
|
- **Honestidad sobre la certeza** — siempre distingue hechos de inferencias
|
||||||
- **Didáctica honesta** — explicar las limitaciones es tan importante como el análisis
|
- **Informa, no aconseja** — da el dato y la consecuencia; tú decides
|
||||||
- **Ligero por defecto** — no estresar el nodo
|
- **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
|
### 1. Clonar el repositorio
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://gitea.tu-comunidad/txoko-dashboard.git
|
git clone https://git.bitcointxoko.org/pikaro/txoko-dashboard.git
|
||||||
cd txoko-dashboard
|
cd txoko-dashboard
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -124,6 +171,8 @@ txoko-dashboard/
|
|||||||
├── system-metrics.js # Backend de métricas del nodo (Node.js)
|
├── system-metrics.js # Backend de métricas del nodo (Node.js)
|
||||||
├── txoko-metrics.service # Servicio systemd
|
├── txoko-metrics.service # Servicio systemd
|
||||||
├── README.md
|
├── README.md
|
||||||
|
├── SETUP.md
|
||||||
|
├── CHANGELOG.md
|
||||||
└── LICENSE
|
└── LICENSE
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -133,10 +182,10 @@ El frontend es un único archivo HTML autocontenido. Sin bundler, sin npm, sin p
|
|||||||
|
|
||||||
## Limitaciones conocidas
|
## Limitaciones conocidas
|
||||||
|
|
||||||
- Análisis de transacción aislada — sin acceso al grafo completo, algunas heurísticas tienen techo
|
- **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
|
||||||
- Sin base de datos de entidades — no identifica exchanges o servicios KYC (en desarrollo)
|
- **Base de datos de entidades parcial** — ~745 direcciones de exchanges, OFAC y minería. Cubre los casos más comunes; no es completa
|
||||||
- El score de privacidad muestra bandas (ALTA/MEDIA/BAJA), no un número exacto — la precisión numérica sería falsa
|
- **Fingerprinting conservador** — requiere varias señales coincidentes; prefiere no detectar antes que detectar mal
|
||||||
- El fingerprinting de wallet requiere mínimo varias señales coincidentes para aparecer
|
- **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.
|
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.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user