comienzo
comienzo

El 31 de octubre de 2008, una persona que se hacía llamar con el alias de Satoshi Nakamoto publicó un artículo científico titulado Bitcoin: un sistema de efectivo electrónico de igual a igual. En este Libro Blanco, describe los principios fundamentales del futuro protocolo de Bitcoin.
Han pasado casi 15 años desde que se publicó el Libro Blanco y, a pesar de los muchos avances realizados en el protocolo desde entonces, este documento no ha envejecido ni un ápice. Todavía hoy nos permite entender los primeros objetivos de Bitcoin y los ingeniosos mecanismos que permiten su correcto funcionamiento. Si hay un libro que deberías leer para entender el Bitcoin, es este.
Dado que se trata de un artículo científico, su lectura puede parecer austera. En este artículo, vamos a explicar de forma sencilla lo que describe Satoshi Nakamoto en el Libro Blanco de Bitcoin.
Para poder seguir este artículo, también puedes descargar El Libro Blanco de Bitcoin en su versión del 24 de marzo de 2009 en inglés, o La traducción de Arnaud-François Fausse en francés.
El Libro Blanco de Bitcoin comienza arrojando luz sobre las limitaciones de los sistemas de transacciones electrónicas que ya existían en 2008. En la segunda frase, Satoshi denuncia las debilidades del modelo de confianza para estos pagos, que dependen de terceros.
Según él, los sistemas de pago electrónico tienen costos e incertidumbres inherentes, especialmente en lo que respecta a la resolución de conflictos y el fraude. No permiten pequeñas transacciones y no son adecuados para algunos comerciantes, ya que no ofrecen la posibilidad de realizar pagos irreversibles.
Para resolver este problema, Satoshi sugiere usar un sistema de pago electrónico basado en evidencia criptográfica, en lugar de confianza. Quiere que dos partes puedan realizar una transacción sin la intervención de ninguna autoridad central. Ese sistema es Bitcoin.
Cuando analizamos esta introducción, entendemos que el objetivo principal de Bitcoin era ofrecer un sistema de pago electrónico que no requiera confianza. Por último, como describe el título del Libro Blanco, Satoshi quería crear un sistema de efectivo electrónico de igual a igual.
Al final de la introducción, Satoshi explica que el protocolo Bitcoin es principalmente una propuesta para resolver el problema del doble gasto mediante el uso de un servidor de marcas de tiempo distribuido, pero hablaré de eso con más detalle en las próximas partes.
En esta segunda parte, Satoshi Nakamoto describe lo que representa una moneda en Bitcoin. Nos explica que estas monedas están representadas por una cadena de firmas electrónicas. Por último, describe lo que más adelante se denominará «UTXO», es decir, las salidas de transacciones no utilizadas.
La persona que recibe bitcoins puede entonces verificar las distintas firmas electrónicas anteriores para volver a la creación de la moneda. De esta forma, puede comprobar que los bitcoins que recibe son legítimos.
Se utiliza un sistema de criptografía asimétrica para generar pares de claves y firmas. En esta parte, debe entenderse que las claves públicas se utilizan para recibir bitcoins y que las claves privadas se utilizan para firmar y gastar bitcoins.
.png)
➤ Más información sobre las firmas digitales en Bitcoin.
En el párrafo que sigue a este diagrama, Satoshi describe un problema con los sistemas de dinero electrónico de igual a igual: El doble gasto. En un sistema centralizado, como ocurre con los bancos, hay una entidad central responsable de garantizar que la misma unidad monetaria no se gaste dos veces. Por ejemplo, si Alicia tiene 10 dólares en su cuenta bancaria y se los envía a Bob, Alicia no podrá devolverle esos mismos 10 dólares a Carlos. De este modo, el banco evita el doble gasto.
Pero en un sistema descentralizado como Bitcoin, no quieres que los pagos dependan de una entidad central como un banco. Recuerda la introducción de Satoshi: debes eliminar la necesidad de confiar en el sistema.
Luego nos explica que el beneficiario de una transacción necesita una forma de asegurarse de que el propietario anterior de la moneda no haya gastado la misma moneda en el pasado. En otras palabras, el beneficiario debe poder garantizar la inexistencia de una transacción anterior. Y según Satoshi, La única forma de confirmar la ausencia de una transacción es estar al tanto de todas las transacciones..
Por lo tanto, cada participante debe tener acceso a todas las transacciones pasadas, para poder tener pruebas de que, al recibir una transacción, es el primero en gastar los bitcoins comprometidos. Para ello, el protocolo Bitcoin se basa en un servidor de marcas de tiempo distribuido. Esto es lo que probablemente conozcas con el nombre de «Blockchain». Las transacciones se agrupan en bloques y cada bloque se publica uno tras otro. A continuación, podemos asignar una hora a una transacción publicada y confirmar que existía en el momento de la marca de tiempo.
Cada bloque incluye la huella del bloque anterior para formar una cadena, de modo que cada nuevo bloque refuerza al anterior. Por eso hoy hablamos de la «cadena de bloques».
.png)
Este servidor debe distribuirse a todos los usuarios para que todos puedan confirmar la inexistencia de una transacción en el pasado, sin recurrir a un tercero de confianza. De esta forma, se evita el doble gasto en el sistema Bitcoin.
Esta es una de las partes más interesantes del Libro Blanco, ya que Proof-of-Work representa el núcleo de Bitcoin. Satoshi nos presenta este concepto como un mecanismo similar al protocolo. Hashcash de Adam Back.
Para que un bloque se considere válido dentro de la cadena de bloques, el hash de su encabezado debe ser inferior a un objetivo determinado. En cada bloque se incrementa un valor que se puede ajustar libremente (el nonce). De este modo, los participantes pueden probar varios valores aleatorios, hasta que el hash de su bloque sea inferior al objetivo. Este proceso es lo que hoy se conoce como «minería».
Satoshi nos señala que, dado que los bloques están unidos entre sí, la modificación de un bloque en el pasado requiere necesariamente rehacer todas las pruebas de funcionamiento de los bloques posteriores. Esta es la razón por la que una transacción de Bitcoin se vuelve cada vez más inalterable a medida que se extraen nuevos bloques.
El objetivo se ajusta a intervalos regulares para poder adaptar la dificultad de la minería a la evolución de la potencia informática desplegada en la red.
.png)
Técnicamente, la prueba de trabajo resuelve así el problema de definir el proceso de toma de decisiones mayoritario en un sistema de igual a igual. De hecho, en la parte anterior, vimos que todos los usuarios deben mantener su propio servidor de marcas de tiempo, en el que figuren todas las transacciones ejecutadas. Por lo tanto, necesitamos una forma de que los participantes se pongan de acuerdo sobre una versión única de esta cadena de bloques. Para ello, los nodos honestos de la red consideran que la cadena de bloques con la mayor cantidad de trabajo acumulado es la legítima.
Hasta 2010, Satoshi pensaba que la cadena más larga era la que tenía más trabajo acumulado. Por eso se refiere a «la cadena más larga» en su Libro Blanco. Sin embargo, es la cadena que más trabajo acumulado ha sido considerada válida desde 2010 por los nodos de Bitcoin. Por lo tanto, este canal no es necesariamente el más largo, al contrario de lo que pensaba Satoshi en 2008.
De hecho, se debe encontrar la manera de que los participantes puedan votar por la versión del canal que consideren legítima. Como no queremos que Bitcoin dependa de una autoridad central, obviamente es imposible verificar la identidad de cada participante para evitar hacer trampa en el sistema de votación. Por lo tanto, necesitamos encontrar una forma de votar basada en datos objetivos, para no hacer que la red dependa de las intervenciones humanas.
Satoshi nos explica que Bitcoin podría haber decretado que una dirección IP equivalía a un voto. Pero el problema de este mecanismo es que es muy fácil multiplicar las direcciones IP para hacer trampa e influir en el resultado de la votación. Esto es lo que llamamos un ataque a Sybil en informática.
Por el contrario, al usar Proof-of-Work y al decretar que los nodos se sincronicen en la cadena con la mayor cantidad de trabajo acumulado, Satoshi resolvió este problema del proceso de toma de decisiones mayoritario. Por lo tanto, un voto en Bitcoin equivale a una unidad de potencia informática. El proceso de decisión mayoritario se basa en datos objetivos que suponen un coste para el usuario en términos de consumo de electricidad y tiempo de procesamiento.
La prueba de trabajo es esencialmente una CPU, un voto.
En resumen, la prueba de trabajo permite imponer un costo marginal significativo a la multiplicación de votos. Por lo tanto, es una medida para limitar los ataques de Sybil al proceso mayoritario de toma de decisiones del protocolo Bitcoin.
➤ Obtenga más información sobre cómo funciona la prueba de trabajo en Bitcoin.
Con estas primeras partes, Satoshi Nakamoto ya nos ofrece una primera visión general de los mecanismos del protocolo Bitcoin. Descubrimos que el marco operativo se basa en firmas digitales que permiten la transferencia de monedas. Esto permite el control de la propiedad, pero no evita el riesgo de duplicar el gasto. Luego, se utiliza un servidor de marcas de tiempo distribuido (la cadena de bloques) para tener un registro de los pagos anteriores, lo que permite confirmar la ausencia de una transacción. Para que los usuarios puedan ponerse de acuerdo sobre una única versión de esta cadena de bloques, Bitcoin utiliza un mecanismo de consenso establecido basado en pruebas de trabajo.
Sin embargo, aún nos quedan varias partes por analizar en conjunto. Tendremos que esperar hasta la publicación de nuestro artículo siguiente, la semana que viene, para explorar más. Allí descubriremos:
Por último, me limitaré a explicarles la famosa parte 11 del Libro Blanco, que puede parecer austera a primera vista, pero que es de suma importancia para entender Bitcoin.

