⛓️ Blockchain Learning Path GitHub

Guías 11–20 · Consenso y Bitcoin

Este cuaderno lleva del consenso (Proof of Work y sus alternativas) al modelo UTXO de Bitcoin y a un nodo local en regtest. Acompaña a los módulos consenso y Bitcoin.

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

Trabaja siempre en regtest: sin fondos ni direcciones reales. La bitácora registra hipótesis, comando exacto, resultado y el límite de lo demostrado.

# Práctica Tipo Comando/entrega
11 Proof of Work y dificultad auto pnpm lab:pow 4
12 Comparación PoW, PoS y BFT concepto matriz de 5 ejes
13 Construcción de una mini blockchain proyecto mini-chain.mjs extendido
14 Detección de bloque alterado auto node --test mini-chain.test.mjs
15 Selección de UTXO auto pnpm lab:utxo
16 Comisión y cambio Bitcoin auto node --test utxo-selection.test.mjs
17 Bitcoin Core en regtest transcript altura y hash local
18 Wallet y direcciones regtest transcript dos wallets descriptor
19 Crear y confirmar una transacción txid local mempool → confirmada
20 Multisig/descriptor en regtest política descriptor 2-de-3 + PSBT

11 · Proof of Work y dificultad

pnpm lab:pow 4
{
  difficulty: 4,
  nonce: <número de intentos hasta el hash válido>,
  hash: '0000<...>',           # empieza con 4 ceros hex
  elapsedMs: <milisegundos>
}

12 · Comparación PoW, PoS y BFT

13 · Construcción de una mini blockchain

14 · Detección de bloque alterado

node --test labs/03-mini-chain/mini-chain.test.mjs
✔ mina y detecta manipulación
# tests 1
# pass 1

15 · Selección de UTXO

pnpm lab:utxo
{
  selected: [ { id: 'a:0', value: 8000 }, { id: 'b:1', value: 12000 } ],
  total: 20000,
  target: 17000,
  fee: 1000,
  change: 2000        # total - target - fee
}

16 · Comisión y cambio Bitcoin

node --test labs/04-bitcoin/utxo-selection.test.mjs
✔ conserva entradas = salidas + comisión
✔ rechaza fondos insuficientes
# tests 2
# pass 2

17 · Bitcoin Core en regtest

18 · Wallet y direcciones regtest

19 · Crear y confirmar una transacción regtest

20 · Multisig/descriptor en regtest

🧭 Navegación