Files
txoko-dashboard/README.md
T

164 lines
4.7 KiB
Markdown

# Txoko Node Dashboard
Suite de auditoría de privacidad Bitcoin para nodos propios.
**your node, your rules** — ninguna consulta sale de tu red.
---
## 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.
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.
---
## 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
---
## 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
---
## Requisitos
- Bitcoin Core con `txindex=1`
- [Mempool.space self-hosted](https://github.com/mempool/mempool) (backend API)
- [Fulcrum](https://github.com/cculianu/Fulcrum) (índice Electrum, recomendado)
- nginx como proxy inverso
- Acceso via Tailscale, red local o similar
Probado sobre Ubuntu Server 24.04 con HP EliteDesk (i5, 32GB RAM, 2TB NVMe).
---
## Instalación
### 1. Clonar el repositorio
```bash
git clone https://gitea.tu-comunidad/txoko-dashboard.git
cd txoko-dashboard
```
### 2. Copiar el dashboard
```bash
cp dashboard.html /var/www/txoko/dashboard.html
# o donde lo sirvas con nginx
```
### 3. Copiar el backend de métricas
```bash
cp system-metrics.js /home/armg/txoko/system-metrics.js
```
Editar `system-metrics.js` y añadir tus credenciales RPC de Bitcoin Core
(el archivo del repo usa placeholders).
### 4. Configurar el servicio systemd
```bash
sudo cp txoko-metrics.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable txoko-metrics
sudo systemctl start txoko-metrics
```
### 5. Configurar nginx
Añadir a tu configuración de nginx:
```nginx
# Dashboard
location /dashboard {
alias /var/www/txoko/dashboard.html;
}
# API Mempool (ajusta el puerto según tu instalación)
location /api/ {
proxy_pass http://localhost:8999;
}
# Métricas del sistema
location /system/ {
proxy_pass http://127.0.0.1:4082;
}
```
### 6. Abrir en el navegador
```
http://TU-IP-TAILSCALE:4080/dashboard
```
Introduce la URL de tu Mempool en el modal de configuración y empieza a analizar.
---
## Estructura del repositorio
```
txoko-dashboard/
├── dashboard.html # Frontend completo (HTML + CSS + JS en un solo archivo)
├── system-metrics.js # Backend de métricas del nodo (Node.js)
├── txoko-metrics.service # Servicio systemd
├── README.md
└── LICENSE
```
El frontend es un único archivo HTML autocontenido. Sin bundler, sin npm, sin proceso de build. Babel transpila el JSX en el navegador. Puedes auditarlo todo abriendo el archivo.
---
## 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
---
## Historial de cambios
Los cambios de cada versión se documentan en [CHANGELOG.md](CHANGELOG.md).
---
## Contribuir
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.
---
## Licencia
MIT — ver [LICENSE](LICENSE)
---
*₿ txoko · your node, your rules*