⛓️ Blockchain Learning Path GitHub

Guías 72–83 · Blockchain Data Analytics y minería de datos on-chain

Este cuaderno resuelve las doce prácticas de las clases 57–58, que llevan de leer un bloque campo por campo a entregar un explorador analítico con su informe y sus limitaciones.

⬅️ Cuaderno de laboratorios · 🧪 Catálogo · 📚 Currículo

Todas trabajan sobre una cadena sintética determinista (cadena-sintetica.mjs): dos modelos —UTXO y cuentas—, eventos de token, mempool, reorganizaciones y patrones plantados con su verdad de campo. Sin red, sin claves, sin fondos y sin datos personales. La misma semilla produce siempre el mismo dataset, así que cada criterio de aceptación es comprobable.

Regla ética que atraviesa las doce: una dirección no es una persona, un patrón es un indicador y no una prueba, y todo detector produce falsos positivos que paga alguien real.

# Práctica Tipo Comando/entrega
72 Anatomía de un bloque campo por campo auto pnpm lab:bloque
73 Transacción Bitcoin frente a transacción EVM auto pnpm lab:tx-comparada
74 Extracción por RPC con checkpoint y reorganización auto pnpm lab:extraccion
75 Normalizar, validar y almacenar sin duplicar auto pnpm lab:normalizar
76 Direcciones activas, volumen y comisiones auto pnpm lab:metricas-onchain
77 Eventos de un contrato de token auto pnpm lab:eventos-token
78 Grafo de direcciones y transacciones auto pnpm lab:grafo
79 Rastreo de fondos en un caso simulado auto pnpm lab:rastreo
80 Fan-in, fan-out y cadena de pelado auto pnpm lab:patrones
81 Detección de anomalías y su evaluación auto pnpm lab:anomalias
82 Panel de indicadores on-chain auto pnpm lab:panel
83 Explorador analítico (proyecto final) auto pnpm lab:explorador

Cada práctica se resuelve con la misma estructura: objetivo, cómo se resuelve, comando, salida esperada, verificación, criterio de aceptación y error común. Los ejercicios autónomos y las preguntas de reflexión cierran cada bloque de nivel.

72 · Anatomía de un bloque campo por campo

pnpm lab:bloque
altura / número      → posición en la cadena
hashPrevio           → encadenamiento: alterar un bloque antiguo invalida los siguientes
marcaTiempo          → la declara quien propone el bloque, con margen: no es un reloj fiable
confirmaciones       → coste de revertir, no un sello de validez
…
Criterio de aceptación: anatomiaBloqueUTXO y anatomiaBloqueCuentas describen todos los campos
estructurales de su bloque, y los resúmenes calculan comisión total y ocupación sin que esos
valores existan como campo directo.

73 · Transacción Bitcoin frente a transacción EVM

pnpm lab:tx-comparada
UTXO      → la comisión NO es un campo: es entradas − salidas
UTXO      → la salida de cambio vuelve al remitente (confundirla con un pago infla el volumen)
Cuentas   → en una transferencia de token, `valor` es 0: el importe vive en el LOG del evento
Criterio de aceptación: describirTxUTXO deduce la comisión y marca el cambio; describirTxCuentas
expone que el valor nativo es 0 en una transacción de token.

Ejercicios del nivel 1

74 · Extracción por RPC con checkpoint y reorganización

pnpm lab:extraccion
Bloques huérfanos detectados: 56, 57, 58, 59
Los bloques huérfanos deben RETIRARSE de cualquier agregado: sus transacciones nunca se
confirmaron en la cadena definitiva, y contarlas sería contar dinero que no se movió.
Criterio de aceptación: … detectarReorganizacion identifica por hash (no por número) los
bloques que hay que retirar.

75 · Normalizar, validar y almacenar sin duplicar

pnpm lab:normalizar
duplicados descartados: 210 (debe igualar el total)
total en el almacén tras el reintento: 210 (no debe crecer)
Criterio de aceptación: OK — recargar el mismo lote no cambió el tamaño del almacén (210 → 210).

Ejercicios del nivel 2

76 · Direcciones activas, volumen y comisiones

pnpm lab:metricas-onchain
cuota del top 5: 59.7%
índice HHI: 0.2418 (1 = una sola dirección concentra todo)
Criterio de aceptación: OK — las direcciones nuevas (59) no superan a las activas (59).

77 · Eventos de un contrato de token

pnpm lab:eventos-token
│ 4 │ '0x0006ed11ed11…' │ '6799 EDUSD' │
Criterio de aceptación: OK — la decodificación manual coincide con el campo "decodificado".

78 · Grafo de direcciones y transacciones

pnpm lab:grafo
Criterio de aceptación: el grafo tiene 59 nodos, 192 aristas agregadas, y la dirección de
colección alcanza grado de entrada >= 9: CUMPLE.

79 · Rastreo de fondos en un caso simulado

pnpm lab:rastreo
Recuerda: este porcentaje depende del criterio (proporcional). Con FIFO, LIFO o haircut el
número cambiaría. Por eso un rastreo de fondos es evidencia a INVESTIGAR, no una prueba cerrada.
Criterio de aceptación: existe camino en la cadena de pelado (SÍ) y la propagación alcanza al
menos una dirección aguas abajo (SÍ).

80 · Fan-in, fan-out y cadena de pelado

pnpm lab:patrones
Recuerda: fan-in, fan-out y peel chain son INDICADORES, no pruebas. Una dirección no es una persona.
Criterio de aceptación: se recupera el fan-in de 9, el fan-out de 8 y la cadena de pelado: CUMPLE.

Ejercicios del nivel 3

81 · Detección de anomalías y su evaluación

pnpm lab:anomalias
… en datos reales solo se puede auditar la PRECISIÓN (revisar a mano lo marcado), nunca el
recall, salvo con una auditoría exhaustiva aparte.
Criterio de aceptación: con factor 1.5 el detector encuentra las 3 anomalías plantadas
(recall = 1) con precisión > 0 → OK.

82 · Panel de indicadores on-chain

pnpm lab:panel
2026-01-05 00:10  [########################################]  vol= 323318.00  tx= 14
ADVERTENCIA: Estos indicadores describen actividad OBSERVADA en la cadena, no comportamiento
de personas…
Criterio de aceptación: los totales de `calcularIndicadores` y `serieTemporal` cuadran → OK.

83 · Explorador analítico (proyecto final)

pnpm lab:explorador
node projects/explorador-analitico/explorador.mjs --desde 20 --hasta 40 --activo token --informe informe.md
Patrones: fan-in 10 · fan-out 6 · pelado 1 · rápidas 67 · anomalías 12
Calidad de las anomalías: precisión 0.25, recall 1.00 (medible SOLO porque el dataset es sintético).
Criterio de aceptación: la consulta devuelve resultados, el informe incluye sus limitaciones y
ninguna afirmación atribuye identidad.

Ejercicios del nivel 4 y cierre


🧭 Navegación