Programando Bitcoin

El libro Programming Bitcoin es una guía técnica que desglosa los fundamentos matemáticos, criptográficos y de programación detrás de Bitcoin. Jimmy Song lleva al lector a través de la construcción de Bitcoin desde cero, comenzando con los conceptos básicos y avanzando hacia la implementación práctica de los aspectos más importantes del protocolo Bitcoin.

 

Estructura y Principales Temas del Libro

  1. Introducción a Bitcoin y la Matemática Fundamental
    • Explica los conceptos básicos de Bitcoin: qué es, por qué importa, y cómo funciona a alto nivel.
    • Introduce las matemáticas necesarias, como campos finitos y aritmética modular, que son esenciales para la criptografía de curvas elípticas.
    • La idea principal es que Bitcoin es un sistema descentralizado que depende de principios matemáticos sólidos para garantizar la seguridad y la inmutabilidad.
  1. Campos Finitos y Curvas Elípticas
    • Explica cómo funcionan los campos finitos, incluyendo suma, resta, multiplicación, división y exponenciación módulo un número primo.
    • Introduce las curvas elípticas, sus propiedades matemáticas y su uso para generar claves públicas y privadas.
    • El libro lleva al lector a implementar operaciones básicas en curvas elípticas como la suma de puntos y multiplicación escalar, que son la base de la criptografía usada en Bitcoin.
  1. Criptografía de Clave Pública
    • Detalla cómo se generan las claves privadas y públicas.
    • Explica el concepto de firmas digitales, específicamente el algoritmo ECDSA (Elliptic Curve Digital Signature Algorithm).
    • Implementa paso a paso cómo firmar y verificar datos utilizando criptografía de curva elíptica.
  1. Scripts y Transacciones de Bitcoin
    • Introduce el lenguaje de scripting de Bitcoin, que permite crear reglas personalizadas para desbloquear y gastar monedas.
    • Explica cómo funcionan las transacciones, qué datos contienen y cómo se estructuran.
    • Desglosa las entradas y salidas de las transacciones y cómo se validan en la red.
  1. Blockchain y Minería
    • Explica cómo se organizan las transacciones en bloques y cómo los bloques se encadenan para formar la blockchain.
    • Describe el proceso de minería y la resolución de problemas de prueba de trabajo (Proof-of-Work) usando algoritmos como SHA-256.
    • Implementa desde cero cómo verificar un bloque y su hash para entender cómo Bitcoin asegura su integridad.
  2. Implementación del Protocolo de Red
    • Detalla cómo funciona la red peer-to-peer de Bitcoin.
    • Explica cómo los nodos se comunican, propagan transacciones y validan bloques.
    • Introduce comandos clave del protocolo como version, ping, addr, y getdata.
Cripto

Detalles del Curso

  • Videos
  • Código
  • Referencias