A más de una década del White Paper de Bitcoin, repasamos algunos pocos datos, conceptos, antecedentes y propuestas contenidas en el «Libro Blanco» de Satoshi Nakamoto…
Para obtener una explicación en detalle del documento, lo mejor es leer y consultar a expertos en criptografía, matemáticas, ingenieros, programadores de cepa y creadores de código.
Aquí va un punteo básico e incompleto para que quienes están interesados en comprender el ‘detrás de escena’ de Bitcoin puedan luego, poco a poco, profundizar por su cuenta.
¿Qué es el White Paper de Bitcoin?
El White Paper de Bitcoin es un documento de 9 páginas, que describe en términos técnicos una propuesta de dinero digital P2P (peer-to-peer).
Un white paper consiste en un documento escrito en formato académico, donde se explica un concepto o solución a un problema determinado.
En este caso, el desarrollo de un nuevo método de pago entre usuarios, sin necesidad de intermediarios.
Actualmente, se considera un documento de cabecera para desarrolladores blockchain de todo el mundo, así como la raíz que dio inicio a otras criptomonedas y proyectos basados en su tecnología.
Ver: ¿Qué es un White Paper en el mundo de las criptomonedas?
¿Quién escribió el Libro Blanco de Bitcoin?
El documento está escrito en la primera persona del plural (“nosotros”), firmado por el enigmático Satoshi Nakamoto, seudónimo del creador/creadores del Bitcoin.
Uno o varios autores de identidad aún desconocida.
Título del White Paper:
‘Bitcoin: A Peer-to-Peer Electronic Cash System’–
Ver: ¿Quién es Satoshi Nakamoto? El misterio aún vigente
¿Cuándo se publicó el White Paper?
Presentado al mundo en Halloween, Satoshi Nakamoto publicó su white paper en la lista de correo electrónico The Cryptography Mailing List de metzdowd.com el día viernes 31 de octubre de 2008 a las 14:10:00 EDT.
Más que la fecha, cabe resaltar el contexto en que apareció el documento técnico de Bitcoin, publicado durante la crisis hipotecaria en EE.UU. que precedió a la crisis financiera mundial de 2008.
Algunos de los destinatarios del mensaje original fueron Pieter Wuille, Gavin Andresen y Wladimir van der Laan, más tarde impulsores del desarrollo de Bitcoin.
Bajo el título ‘Bitcoin P2P e-cash paper’, Nakamoto escribe en el cuerpo del mensaje:
«He estado trabajando en un nuevo sistema de efectivo electrónico que es totalmente peer-to-peer, sin un tercero de confianza».
En otras palabras, un sistema de transacciones digitales de un punto a otro, entre usuarios, sin acudir a mediadores para la generación y confirmación de las operaciones.
Enseguida su autor comparte el enlace para ver su white paper y subraya algunas de sus principales características:
- El problema del doble gasto se evita con una red de igual a igual.
- No se necesitan de terceras partes de confianza.
- Los participantes pueden ser anónimos.
- Las nuevas monedas están hechas con proof-of-work (prueba de trabajo) al estilo Hashcash.
- La prueba de trabajo para la nueva generación de monedas también impulsa la red para evitar el doble gasto.
Recién al otro año Nakamoto implementó la primera especificación del protocolo Bitcoin y su prueba de concepto.
El 3 de enero de 2009 generó el primer bloque de la blockchain de Bitcoin, conocido como «el bloque Génesis».
«Criptomoneda», un término acuñado luego
El concepto de «moneda criptográfica» fue descrito por primera vez en 1998 en la lista de correo electrónico «Cypherpunks» por Wei Dai, ingeniero informático, criptógrafo y creador de b-money.
Allí habla de una nueva forma de dinero basada en el uso de elementos de la criptografía para el control de su creación y de las transacciones.
Bitcoin es la primera implementación de ese concepto, una versión de moneda digital sin la intervención de un único punto central de control.
El White Paper de Bitcoin no habla de «criptomoneda» («crypocurrency»), sino que usa el término «dinero electrónico», definido allí como «una cadena de firmas digitales«.
Luego, la propia comunidad comenzó a utilizar el término «criptomoneda».
Un concepto que también tiene como antecedentes los aportes de Nick Szabo, Hal Finney y David Chaum, si bien sus propuestas se basaban en modelos centralizados, a diferencia de la estructura, gobernanza y funcionamiento descentralizado de Bitcoin.
El término blockchain tampoco aparece en el White Paper
Como tal, la palabra “blockchain” no está escrita en el documento original del Bitcoin.
Así se bautizó, tiempo después, la base tecnológica que hace posible el funcionamiento de Bitcoin y posteriormente de otras criptomonedas e iniciativas.
Sí aparece una sola vez la expresión “chain of blocks”, en referencia a la estructura de datos bajo la cual se registran las transacciones, contenidas dentro de bloques que una vez validados se agregan a la cadena.
«Blockchain» es un término bastante reciente, que deriva de dos palabras: «block chain». Pero pronto se popularizó su combinación, formando un única palabra: «blockchain». La cadena de bloques.
Contrario a muchas publicaciones de todo el mundo, «blockchain» en realidad no va en mayúscula -a no ser que la palabra comience la frase o en un título-. No es un nombre propio. Va en minúscula.
Criptografía en lugar de confianza
La invención de Satoshi Nakamoto parte de la desconfianza e incertidumbre que inspiran las instituciones. De ahí su planteo de reemplazar la confianza en terceros por pruebas criptográficas.
En la introducción del documento, Nakamoto cuestiona el rol y la naturaleza de la confianza en el mundo financiero.
El usuario debe depender de bancos u otras instituciones financieras para el procesamiento de los pagos electrónicos, la custodia de su dinero o para crear nuevas operaciones.
Depositar la confianza en estos terceros conlleva, entre otras implicancias, el «costo de la mediación», además de suponer una solución impráctica y costosa para quienes quieran hacer pequeñas transacciones.
Como alternativa, Nakamoto escribe:
«Lo que se necesita es un sistema de pagos electrónicos que esté basado en pruebas criptográficas en vez de en confianza, permitiendo a las dos partes interesadas realizar transacciones directamente sin la necesidad de un tercero confiable».
Bitcoin presenta, por primera vez, un sistema de transacciones digitales, sin necesidad de depender de la confianza.
Para tal fin, se propone el uso de pruebas criptográficas, algoritmos matemáticos y pruebas computacionales, en lugar de ceder la confianza en manos de terceros, sean bancos, empresas o instituciones.
Nakamoto no es el dueño de Bitcoin
Satoshi Nakamoto es quien creó Bitcoin, pero la criptomoneda no pertenece a su autor, ni es de una empresa o institución específica.
De hecho, Satoshi Nakamoto abandonó su proyecto a fines de 2010.
Todos, cualquier usuario, pueden hacer uso de Bitcoin.
Dado que el protocolo Bitcoin y su software son de código abierto, cualquier desarrollador puede verlo y revisarlo e incluso crear su versión modificada basándose en él.
Hoy una comunidad activa de programadores trabajan y actualizan el protocolo Bitcoin.
¿Dónde leer el White Paper?
Versión en inglés – Publicado originalmente en: Bitcoin.org
White Paper Bitcoin en español – Traducción de Ángel León
Abstract del White Paper de Bitcoin
«Una versión puramente peer-to-peer de efectivo electrónico permitiría que los pagos en línea fuesen enviados directamente, de una parte a otra, sin tener que pasar por medio de una institución financiera.
Las firmas digitales proporcionan parte de la solución al problema, pero los beneficios principales se pierden si tiene que existir un tercero de confianza para prevenir el doble gasto.
Proponemos una solución al problema del doble gasto utilizando una red usuario-a-usuario. La red coloca marcas de tiempo a las transacciones que introduce en una cadena continua de pruebas de trabajo basadas en el cálculo de hashes, formando un registro que no puede ser cambiado sin volver a recrear la prueba de trabajo. La cadena más larga no solo sirve como testigo y prueba de la secuencia de eventos, sino que asegura que está vino desde la agrupación con procesamiento de CPU más grande. Siempre que la mayoría del poder de procesamiento de CPU esté bajo el control de nodos que no cooperan para atacar la red, estos generarán la cadena más larga y llevarán ventaja a los atacantes. La red en sí misma requiere una estructura mínima. Los mensajes son enviados bajo la premisa del menor esfuerzo, y los nodos pueden irse y volver a unirse a la red cuando les parezca, aceptando la cadena más larga de prueba de trabajo, como prueba de lo que sucedió durante su ausencia».
Conceptos del White Paper
Lejos de abarcar todos los componentes presentes en el documento firmado por Satoshi Nakamoto, a continuación se mencionan sólo algunos conceptos mencionados en el White Paper de Bitcoin.
Se sugiere interiorizarse en estos y otros elementos por separado, paso a paso, para así obtener una mayor comprensión del funcionamiento de Bitcoin:
Firmas digitales (Digital signatures)
Clave pública / Clave privada (Public key – Private key)
Funciones hash
Red distribuida / Nodos
Prueba de trabajo (Proof-of-work)
Merkle Tree (Árbol de Merkle)
Byzantine Generals Problem
ECDSA (Elliptic Curve Digital Signature Algorithm)
Ver: Dirección de Bitcoin – Diferencias con ID Wallet, claves, seed y más
Propuestas del Libro Blanco de Bitcoin
Entre otras propuestas y aportes:
Transacciones públicas
Un historial público de transacciones digitales e irreversibles. Lo que luego se dio en llamar «blockchain pública«.
Solución al doble gasto
El problema del doble gasto («double spend») es, en pocas palabras, una deficiencia potencial atribuida al dinero digital, que refiere a la posibilidad de que sea gastado más de una vez: dada su naturaleza digital, el riesgo de duplicarse o falsificarse.
Para resolverlo, el white paper de Bitcoin propone la creación de un servidor de marcas de tiempo (timestamp).
Este mecanismo permite certificar que ciertos datos existieron y que no fueron alterados a lo largo del tiempo.
Una red distribuida de igual a igual, usuario a usuario, crea este servidor de marcas de tiempo para generar «una prueba computacional del orden cronológico de las transacciones«.
Consenso automático en redes distribuidas
Bitcoin propone un mecanismo de consenso en un sistema distribuido, es decir cómo representar la decisión de la mayoría en una red distribuida de nodos sin necesitar de la confianza.
Para la implementación de una red de marcas de tiempo bajo un modelo de usuario a usuario, se utiliza un sistema proof-of-work (PoW – prueba de trabajo), el mecanismo de consenso de Bitcoin.
Este concepto ya existía desde la década del 90′, propuesto por Cynthia Dwork y Moni Naor, bautizado como tal en 1999 por Markus Jakobsson.
Adam Back, creador de Hashcash, un método que buscó prevenir los correos electrónicos no deseados y otros ataques, utilizó prueba de trabajo, siendo citado por Satoshi Nakamoto en el documento técnico de Bitcoin.
Pero Nakamoto lo aplicó a su creación de moneda digital como una vía técnica para prevenir ataques, manipulación de cuentas y resolver así el problema del doble gasto.
El uso de proof-of-work permite determinar la representación de la mayoría en una red blockchain, logrando así la confirmación de las transacciones y el registro ordenado de las mismas en bloques encadenados unos con otros.
«La prueba de trabajo equivale esencialmente a “una-CPU-un-voto”. La decisión de la mayoría es representada por la cadena más larga, la cual posee la prueba de trabajo con mayor esfuerzo invertido. Si la mayoría del poder de CPU está controlada por nodos honestos, la cadena honesta crecerá más rápido y dejará atrás cualquier otra cadena que esté compitiendo. Para modificar un bloque en el pasado, un atacante tendría que rehacer la prueba de trabajo del bloque y de todos los bloques posteriores, y luego alcanzar y superar el trabajo de los nodos honestos».
Satoshi Nakamoto – White Paper de Bitcoin
A medida que más bloques se agregan a la cadena, la probabilidad de alcanzar la cadena más larga disminuye, se vuelve cada vez más difícil, por no decir casi imposible.
La cadena más larga se convierte en la referencia para los nodos honestos de la red, que seguirán trabajando por continuarla y extenderla.
Incentivos y Desestímulos
El White Paper establece ciertos incentivos para que los nodos mantengan la red, en recompensa a la inversión de tiempo, poder de cómputo y energía eléctrica gastados con sus CPU.
Para aceptar y agregar un nuevo bloque, se requiere resolver cálculos matemáticos complejos utilizando un alto poder de cómputo para generar un hash para ese bloque, el cual incluye los datos de las transacciones y una marca de tiempo.
A cambio, obtienen una recompensa en BTC.
Este sistema de incentivos estimula a los nodos a mantenerse honestos y desestimula los intentos maliciosos.
Si un grupo de atacantes lograra, hipotéticamente, concentrar tanto poder de cómputo debería elegir entre usar esa potencia para rehacer la proof-of-work y llevar adelante un ataque del 51 %, o utilizar ese poder para crear nuevas monedas.
El atacante “debería encontrar más rentable jugar por las reglas”, es decir minar más monedas digitales y beneficiarse de ello, antes que romper el sistema.
Referencias del White Paper de Bitcoin
Al final de su documento, Nakamoto detalla las referencias que tomó en cuenta para la creación de su white paper:
- W. Dai, «b-money,» http://www.weidai.com/bmoney.txt, 1998.
- H. Massias, X.S. Avila, and J.-J. Quisquater, «Design of a secure timestamping service with minimal trust requirements», In 20th Symposium on Information Theory in the Benelux, May 1999.
- S. Haber, W.S. Stornetta, «How to time-stamp a digital document,» In Journal of Cryptology, vol 3, no 2, pages 99-111, 1991.
- D. Bayer, S. Haber, W.S. Stornetta, «Improving the efficiency and reliability of digital time-stamping,» In Sequences II: Methods in Communication, Security and Computer Science, pages 329-334, 1993.
- S. Haber, W.S. Stornetta, «Secure names for bit-strings,» In Proceedings of the 4th ACM Conference on Computer and Communications Security, pages 28-35, April 1997.
- A. Back, «Hashcash – a denial of service counter-measure,» http://www.hashcash.org/papers/hashcash.pdf, 2002.
- R.C. Merkle, «Protocols for public key cryptosystems,» In Proc. 1980 Symposium on Security and Privacy, IEEE Computer Society, pages 122-133, April 1980.
- W. Feller, «An introduction to probability theory and its applications,» 1957.