⛓️ Blockchain Learning Path GitHub

Guías 01–10 · Fundamentos

Este cuaderno cubre criptografía aplicada y sistemas distribuidos: hashes, cadenas encadenadas, Merkle, firmas Ed25519 y propagación P2P. Acompaña a los módulos criptografía, sistemas distribuidos y consenso.

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

Cada práctica exige una entrada de bitácora con hipótesis, procedimiento, resultado, explicación y límite de lo demostrado. La bitácora es la evidencia; el comando solo la produce.

# Práctica Tipo Comando/entrega
01 Matriz blockchain vs. base tradicional concepto ADR con tres matrices
02 Historia anotada del dinero digital concepto línea temporal de 10 hitos
03 Propiedades y límites de SHA-256 auto node -e con sha256
04 Cadena de hashes manipulada auto pnpm lab:hash
05 Árbol y raíz de Merkle auto pnpm lab:merkle
06 Prueba de inclusión Merkle auto node --test merkle-proof.test.mjs
07 Firma y verificación Ed25519 auto node digital-signature.mjs
08 Amenazas de custodia de claves concepto threat model
09 Propagación P2P con retrasos concepto simulación de 5 nodos
10 Partición y reconciliación concepto informe de rama

01 · Blockchain o base tradicional

02 · Historia anotada del dinero digital

03 · Propiedades y límites de SHA-256

node -e "import('./labs/01-cryptography/hash-chain.mjs').then(m=>{console.log(m.sha256('hola'));console.log(m.sha256('holA'))})"
4d186321c1a7f0f354b297e8914ab240...   # 64 hex, siempre igual para 'hola'
a7c4f...totalmente distinto...          # un solo bit de entrada cambia ~la mitad de los bits

04 · Cadena de hashes manipulada

pnpm lab:hash
┌─────────┬───────┬────────────────┬──────────────────┬────────┐
│ (index) │ index │ data           │ previousHash     │ hash   │
├─────────┼───────┼────────────────┼──────────────────┼────────┤
│ 0       │ 0     │ 'A paga 2 a B' │ '000...0' (64)   │ '9f..' │
│ 1       │ 1     │ 'B paga 1 a C' │ '9f..' (hash #0) │ 'c3..' │
└─────────┴───────┴────────────────┴──────────────────┴────────┘
Cadena válida: true

05 · Árbol y raíz de Merkle

pnpm lab:merkle
{
  transactions: [ 'A→B:2', 'B→C:1', 'C→D:0.5' ],
  root: '<64 caracteres hex>'
}

06 · Prueba de inclusión Merkle

node --test labs/01-cryptography/merkle-proof.test.mjs
✔ verifica inclusión sin revelar todos los elementos
# tests 1
# pass 1

07 · Firma y verificación Ed25519

node labs/01-cryptography/digital-signature.mjs
Mensaje original: true
Mensaje alterado: false
La firma autentica una clave, no una identidad legal.

08 · Amenazas de custodia de claves

09 · Propagación P2P con retrasos

10 · Partición y reconciliación

🧭 Navegación