Itinerario

Diez capítulos, en el orden en que las piezas se necesitan.

Cada capítulo explica una idea con palabras normales, enseña el código Go de xavicoin que la implementa y propone algo que ejecutar para verla funcionar.

  1. 01

    El problema: dinero sin banco

    Un fichero se puede copiar. ¿Cómo se evita gastar dos veces la misma moneda sin que nadie mande?

    README.mdLeer →
  2. 02

    Hashes: la huella digital

    La pieza de la que sale todo lo demás: deterministas, impredecibles e imposibles de invertir.

    internal/crypto/hash.goLeer →
  3. 03

    Claves, firmas y direcciones

    Por qué una wallet no guarda monedas sino claves, y cómo se demuestra que un pago es tuyo.

    internal/crypto/keys.goLeer →
  4. 04

    Transacciones: billetes, no saldos

    El modelo UTXO: monedas sueltas que se gastan enteras, el cambio y las comisiones.

    internal/chain/validate.goLeer →
  5. 05

    Bloques y cadena

    Una cabecera de 80 bytes que apunta a la anterior: toca un dato antiguo y se rompe todo lo posterior.

    internal/core/block.goLeer →
  6. 06

    Minería y dificultad

    Una lotería carísima de ganar y gratis de comprobar, que se regula sola para dar un bloque cada 10 s.

    internal/miner/miner.goLeer →
  7. 07

    De dónde salen las monedas

    La coinbase, el halving y por qué el total emitido es finito. La política monetaria en una línea de código.

    internal/core/params.goLeer →
  8. 08

    La red y la mempool

    Nodos que no se fían de nadie, rumores que recorren la red en segundos y la sala de espera de los pagos.

    internal/p2p/Leer →
  9. 09

    Forks, reorgs y seguridad

    Qué pasa cuando hay dos versiones de la historia, por qué se esperan confirmaciones y qué puede hacer un 51 %.

    internal/chain/chain.goLeer →
  10. 10

    Árbol de Merkle y wallets ligeras

    Demostrar que un pago está en un bloque con un puñado de hashes, sin descargar el bloque.

    internal/core/merkle.goLeer →