158 lines
4.5 KiB
Markdown
158 lines
4.5 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.
|
|
|
|
A diferencia de OXT, Blockchair o am-i.exposed, **ninguna consulta sale de tu red**. Todo el análisis ocurre en tu nodo, en tu navegador.
|
|
|
|
---
|
|
|
|
## 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
|
|
|
|
---
|
|
|
|
## 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*
|