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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
, ygetdata
.