Saltar al contenido

Bitcoin es una idea

Tiempo de lectura aprox: 25 minutos, 22 segundos

El siguiente artículo es una traducción del artículo «Bitcoin is an idea» del autor y desarrollador Gigi, conocido entre muchas otras cosas por su libro “21 Lessons” y sus múltiples escritos sobre Bitcoin.

Este artículo, que será un capítulo de su nuevo libro «21 Ways», es un elemento muy importante para entender Bitcoin y la importancia del trabajo de Satoshi Nakamoto. Examina la historia de la red de Bitcoin y explica cómo Satosohi consiguió solucionar, partiendo de varias ideas que estaban ya disponibles, los problemas que afectaban al dinero electrónico, haciendo imposible el doble gasto y creando una verdadera escasez digital.

Original: «Bitcoin is an Idea»

No te preocupes por que te roben una idea, si es original, tendrás que hacérsela entrar a la fuerza.

Howard H. Aiken

Bajo esta capa no queda carne ni sangre que matar, sólo hay una idea. Las ideas son a prueba de balas.

Alan Moore, V de Vendetta

El 31 de octubre de 2008, la futura trayectoria de nuestra sociedad global cambió para siempre: se abrió una brecha y una idea imparable se liberó al mundo. Una idea tan profunda, tan extravagante, que fue ignorada por casi todo el mundo durante sus dos primeros años de vida y que todavía es descartada por la mayoría: Bitcoin: un sistema de efectivo electrónico de usuario-a-usuario (NT. en adelante: peer-to-peer).

El whitepaper publicado por Satoshi Nakamoto en aquella noche de Halloween describe una idea que conquistará el mundo. Cada día que pasa, se hace más evidente que Bitcoin no va a desaparecer, aunque la mayoría de la gente sigue pensando que no es más que un sistema para hacerse rico rápido, ajenos al profundo cambio que va a suponer para la sociedad.

«Las ideas, a diferencia de las estructuras sólidas, no perecen», nos recuerda Alan Moore. «Permanecen inmortales, inmateriales y en todas partes, como todas las cosas divinas».

En esa decisiva noche de 2008, Satoshi dejó salir al genio de la lámpara. Pasamos de un mundo en el que el dinero digital sólo era una idea, a un mundo en el que existe Bitcoin. No sólo la idea está aquí para quedarse, sino que con cada bloque que pasa, Bitcoin nos recuerda que esta idea es ahora una realidad. Como veremos, esta nueva realidad es más poderosa de lo que uno podría pensar. Es poderosa porque dará paso a un nuevo paradigma económico, es poderosa porque el momento es propicio para ello, es poderosa porque no se puede detener. Como nos recuerda Victor Hugo: «nada es tan poderoso como una idea a la que le ha llegado su momento». Bitcoin está aquí para quedarse; el momento de Bitcoin es ahora.

Una idea a la que le ha llegado su momento

Uno resiste la invasión de ejércitos; uno no resiste la invasión de ideas.

Victor Hugo

En contra de la creencia popular, Bitcoin no surgió de la nada. La idea del dinero digital tiene una larga historia. En particular, un colectivo conocido como los cypherpunks escribió largo y tendido sobre el dinero digital, su uso de forma anónima, la forma en que estos sistemas podrían realizarse y las implicaciones sociales de la criptografía en general. De ahí el nombre: cypherpunks. El nombre cypherpunk es una combinación de las palabras cipher (un algoritmo que encripta y/o desencripta un mensaje) y cyberpunk (un subgénero de ciencia ficción engendrado por las obras de autores como Philip K. Dick, William Gibson, Ridley Scott y muchos otros.)

Después de formar el grupo en 1992, Eric Hughes, Timothy C. May y John Gilmore crearon la lista de correo cypherpunk para discutir y compartir sus ideas sobre criptografía, remailers, anonimato, dinero digital con un grupo de gente más numeroso. Años más tarde, un cypherpunk llamado Satoshi Nakamoto decidió publicar el whitepaper de Bitcoin en una lista de correo similar: la lista de correo de criptografía.

Como es evidente al estudiar sus escritos, los cypherpunks se preocupaban mucho por la idea de un dinero digital. En 1993, Eric Hughes expuso la idea de dinero digital, su relación con la privacidad y su importancia para una sociedad libre en A Cypherpunk’s Manifesto: «Puesto que deseamos la privacidad, es necesario lograr que cada persona que interviene en una transacción sólo acceda a la información estrictamente necesaria para esa transacción. Tenemos que revelar lo mínimo indispensable. En muchos casos, la identidad personal no es relevante. Cuando compro una revista y pago en efectivo, el vendedor no necesita saber quién soy.»

La idea del efectivo digital (o efectivo electrónico, como Satoshi decidió llamarlo en el whitepaper de Bitcoin) es tener algo en el ámbito digital equiparable al efectivo en el mundo real: que no requiera identidad ni registro, que se puede intercambiar directamente por bienes y servicios, y que sea prácticamente imposible de rastrear.

Incluso la IANA2, organización de responsable de definir los códigos de estado HTTP (entre otros), reconoce la idea del dinero digital. Todos conocemos el infame código de error 404, que indica que no se puede encontrar un recurso. Pocos saben que también existe el código de error 402, que indica que no se puede acceder al recurso porque se requiere un pago. Sin embargo, como el dinero digital no existía en ese momento, el código de estado se «reservó para un uso futuro» y no se utiliza mucho actualmente.

Los cypherpunks se centraron principalmente en el aspecto de la privacidad en el dinero digital. Los aspectos monetarios y económicos eran secundarios. Se dieron cuenta de que la privacidad es absolutamente primordial para una sociedad libre y abierta. Después de todo, lo contrario a eso, la vigilancia total, sólo puede conducir a la opresión y al estancamiento, ya que no permite que florezcan ideas nuevas y controvertidas. Independientemente de las libertades que creas tener, al final, la vigilancia hace inútiles todas las demás libertades.

Por tanto, la privacidad en una sociedad abierta requiere sistemas de transacciones anónimas. Hasta ahora, el efectivo ha sido el principal sistema de este tipo. Un sistema de transacciones anónimas no es un sistema de transacciones secretas. Un sistema anónimo permite a los individuos revelar su identidad cuando lo desean y sólo cuando lo desean; ésta es la esencia de la privacidad.

Eric Hughes, Manifiesto Cypherpunk

Aunque Bitcoin es disruptivo en muchos sentidos, todas las partes técnicas que lo hacen funcionar ya existían anteriormente:

  • Criptografía de clave pública
  • Redes Peer-to-peer
  • Firmas digitales
  • Funciones hash criptográficas
  • Marcas de tiempo criptográficas
  • Cadenas Hash
  • Prueba de trabajo

Satoshi no inventó ningún algoritmo o herramienta criptográfica, en su lugar, encontró una forma de combinar las tecnologías existentes de manera ingeniosa, utilizando los incentivos económicos y la teoría de juegos para desarrollar y asegurar el sistema

Los cypherpunks eran muy conscientes de que, aunque la tecnología base existiera en la teoría, algunas cosas simplemente necesitan tiempo para desarrollarse. En 1992, Timothy May escribió en The Crypto Anarchist Manifesto: “ la tecnología para esto […] ha existido de forma teórica desde la última década. […] pero sólo recientemente las redes informáticas y los ordenadores personales han alcanzado la potencia suficiente para que las ideas sean realizables en la práctica. Los próximos diez años traerán suficiente potencia adicional para hacer que las ideas sean económicamente viables y esencialmente imparables.”

Aunque creo que Bitcoin (la red) ya es esencialmente imparable, es la idea de Bitcoin lo que es realmente imparable, y es que, como dijo Alan Moore de froma tan concisa: las ideas son a prueba de balas.

En la primera década de su existencia, Bitcoin pasó de la idea a la implementación, a la prueba de concepto y al nicho de activos monetarios. En la próxima década, probablemente se convertirá en una fuerza por sí misma, trascendiendo las fronteras y transformando en el proceso nuestra comprensión del dinero y el valor. La idea, sin embargo, no fue concebida en el momento del nacimiento de Bitcoin: fue concebida por pensadores y jugones de la era electrónica, varias décadas antes de que Satoshi Nakamoto entrara en escena.

Historia del dinero digital

Mucha gente descarta automáticamente la moneda electrónica, lo considera una causa perdida debido a todas las empresas que fracasaron desde la década de los 90.

Satoshi Nakamoto

La prehistoria de Bitcoin es tan larga como fascinante. Satoshi fue capaz de basarse en varias tecnologías y protocolos, algunos de los cuales se remontan 50 años atrás. Aunque 50 años puede ser mucho tiempo en tecnología, el arte de la criptografía es mucho más antiguo que eso, ya que se remonta al año 1900 antes de Cristo.

Es difícil decir cuáles fueron las piezas más importantes, pero las más fundamentales son probablemente las firmas digitales (Diffie y Hellman, 1976) y la criptografía de clave pública (Rivest, Shamir, Adleman, 1978). Sin estas ideas, Bitcoin no podría existir.

El valor añadido de Satoshi estaba en la adición, destilación y combinación de tecnologías.

Se han desarrollado varios sistemas de dinero digital antes de Bitcoin. Todos ellos acabaron fracasando, y todos por razones similares. Los siguientes son particularmente interesantes en el contexto de Bitcoin:

  1. Ecash de David Chaum (1982)
  2. E-gold de Douglas Jackson y Barry Downey (1996)
  3. Hashcash por Adam Back (1997)
  4. Bit gold de Nick Szabo (1998)
  5. B-money de Wei Dai (1998)
  6. RPOW – Reusable Proofs of Work de Hal Finney (2004)

Echemos un vistazo a estos sistemas, veamos qué aportaron y exploremos por qué fracasaron.

Ecash (David Chaum, 1982)

Ecash utilizaba firmas digitales para demostrar la propiedad, una idea que se utiliza en Bitcoin actualmente. Propuesto por David Chaum en 1982, fue implementado por su compañía y estuvo operativo durante tres años antes de que la empresa quebrara en 1998. Chaum sigue activo como criptógrafo, fue pionero en muchas técnicas criptográficas e impulsó el desarrollo de tecnologías para preservar la privacidad. Una de las técnicas de transacción que mejoran la privacidad en Bitcoin, el Chaumian CoinJoin, tiene ese nombre en su honor. Aunque Ecash era interesante desde el punto de vista criptográfico y tecnológico, no era una innovación monetaria y al final fracasó porque era operado por una entidad centralizada: DigiCash Inc, la empresa fundada por Chaum.

E-gold (Douglas Jackson y Barry Downey, 1996)

E-gold no era especialmente innovador desde el punto de vista criptográfico, pero fue una de las primeras monedas digitales que ganó adeptos. Aunque existían otras anteriores (OS-Gold, Standard Reserve, INTGold), e-gold está considerado como la primera moneda digital de éxito que se hizo lo suficientemente popular como para que los comerciantes la adoptaran. En su apogeo, e-gold contaba con cinco millones de usuarios y procesaba transferencias de valor del orden de 2.000 millones de dólares. Además de los tokens de e-gold respaldados por oro, también se podían adquirir otros metales preciosos: e-plata, e-platino y e-paladio. La desaparición del e-gold, de nuevo, fue porque se trataba de un servicio centralizado gestionado por una empresa: Gold & Silver Reserve Inc. El gobierno de Estados Unidos presentó una demanda alegando que la empresa dirigía un negocio de envío de dinero sin licencia. Al final, el proyecto de e-gold fracasó porque era operado por una empresa que podía ser suspendida.

Hashcash (Adam Back, 1997)

Propuesto originalmente en 1997, y publicado más formalmente como Hashcash – A Denial of Service Counter-Measure en 2002, Hashcash es una de las ideas esenciales que hicieron posible Bitcoin. Aunque otros investigadores tuvieron la idea de Pricing via Processing antes que Adam Back (Dwork y Naor, 1992), su artículo fue referenciado por Satoshi en el whitepaper de Bitcoin y condujo a lo que hoy se conoce como prueba de trabajo de Bitcoin. Por lo que sé, el término proof-of-work se introdujo por primera vez en el documento de Hashcash.

Hal Finney, una de las leyendas de los primeros días de Bitcoin, describió el hashcash de la siguiente manera: «Hashcash es un string o cadena de carácteres textual en un formato particular que tiene una propiedad especial: cuando se ejecuta a través del algoritmo hash SHA-1 el resultado tiene los primeros N de sus bits iniciales iguales a cero, donde N es típicamente alrededor de 20-30. La terminología utilizada para el hashcash describe el número de bits iniciales iguales a cero como el tamaño de su «colisión». Debido a las propiedades de SHA-1, la única manera de encontrar una cadena con un tamaño de colisión grande es mediante una búsqueda exhaustiva: probando una variación tras otra, hasta tener suerte».

Por ejemplo, el hash SHA1 del hashcash string

1:20:040806:foo::65f460d0726f420d:13a6b8

produce un string con cinco ceros a la izquierda:

00000f91d51a9c213f9b7420c35c62b5e818c23e

El número de ceros a la izquierda en un hashcash string hasheado indica cuanto de valioso es ese hashcash string. Como no hay otra forma que la fuerza bruta, el número de ceros está directamente correlacionado con el coste de producción, que, en el ámbito digital, es el coste de computación.

En esencia, hashcash utiliza el hecho de que los ciclos de computación cuestan tiempo y recursos del mundo real. Back propuso la introducción del equivalente electrónico de un sello de correos a través de hashcash como posible uso principal. Aunque la lucha contra el spam por correo electrónico parecía estar en su mente, también propuso que podría utilizarse como dinero digital, llegando a esbozar una ruta de migración que podría llevar a su integración en el ecash de Chaum. Aunque el algoritmo de prueba de trabajo de Bitcoin difiere ligeramente del de Hashcash (por ejemplo, utiliza doble SHA256 en lugar de SHA1), la idea sigue siendo la misma: no se puede calcular un hash sin voltear los bits, lo que a su vez no se puede hacer sin gastar tiempo y energía. Hashcash explota la peculiar propiedad de nuestro universo de que cualquier cálculo, es decir, cualquier cambio de un sistema, requiere energía. En otras palabras: no se puede engañar a la física, la computación nunca será gratuita.

El genialidad de Hashcash fue encontrar y describir funciones computacionales en las que el cómputo es caro pero la verificación es barata. Se puede pensar en los rompecabezas de Hashcash como en la resolución de Sudokus o Cubos de Rubik: difíciles de resolver, fáciles de comprobar. Aunque se utilizaron varias implementaciones de Hashcash para evitar el spam, el concepto no se aplicó ampliamente a las divisas antes de que Satoshi lo utilizara en Bitcoin.

Bit gold (Nick Szabo, 1998)

Basándose en el trabajo de Adam Back y Hal Finney, bit gold puede describirse como un predecesor directo de Bitcoin. Aunque el sistema nunca se puso en práctica, el modo en que Szabo imaginó que funcionaría teóricamente es muy parecido al modo en que Bitcoin funciona en la actualidad.

El objetivo de bit gold, como su nombre indica, era crear un bien monetario digital independiente de cualquier autoridad central, que a su vez pudiera utilizarse como depósito de valor, al igual que el oro en el mundo físico. Szabo escribe: «El objetivo, por el que abogué enérgicamente, era crear un depósito de valor a largo plazo independiente de cualquier autoridad central, pero mucho más seguro que el oro tradicional».

Los metales preciosos y los objetos de colección tienen una escasez infalsificable debido a lo costoso de su creación. Por lo tanto, estaría muy bien que existiera un protocolo por el que se pudieran crear en línea bits infalsificables y costosos con una dependencia mínima de terceros de confianza, y que luego se almacenaran, transfirieran y evaluaran de forma segura con una confianza mínima similar.

Nick Szabo

Uno de los puntos que Szabo señala repetidamente es que el oro físico tiene varios problemas y es bastante inseguro en comparación con las soluciones basadas en la criptografía. El almacenamiento, por ejemplo, es tan seguro como las puertas y paredes que lo protegen, y al final, siempre puede entrar alguien y llevárselo. Lo mismo ocurre con el transporte. No se puede enviar de forma segura sin un esfuerzo extraordinario, y no importa el esfuerzo que hagas, siempre puede interceptarlo alguien. Incluso la validación es problemática, como atestigua la abundancia de lingotes de «oro» hechos predominantemente de plomo o tungsteno. Con el tiempo, estas insuficiencias del oro conducen inevitablemente a la centralización en bóvedas y bancos, lo que conlleva su propio set de problemas.

Bit gold reúne todas las propiedades esenciales del oro, evitando al mismo tiempo la inseguridad de éste, la cual ha sido una pesadilla para la civilización durante milenios.

Nick Szabo

La finalidad prevista de bit gold no es lo único que resultará familiar a los bitcoiners de hoy. También les resultará familiar el funcionamiento del sistema. Es cierto que hay algunas diferencias cruciales, pero la idea básica es inquietantemente similar.

Los siguientes siete pasos están tomados directamente del documento sobre bit gold y describen cómo funcionaría el sistema:

  1. Se crea un string (cadena de carácteres) público de bits, el «challenge string» (el reto) (ver paso 5).
  2. Alice, en su ordenador, genera la cadena de prueba de trabajo a partir de los “challenge bits” utilizando una “benchmark function” (nt: función de referencia, computacionalmente estable).
  3. La prueba de trabajo cuenta con una marca de tiempo. Esto debería funcionar de manera distribuida, con varios servicios de marcas de tiempo diferentes para que no sea necesario confiar en ningún servicio de marcas de tiempo en particular.
  4. Alice añade el «challenge string» y la cadena de prueba de trabajo con la marca de tiempo a un registro distribuido de títulos de propiedad de bit gold. En este caso, tampoco se confía en un único servidor para que el registro funcione correctamente.
  5. El último string de bit gold creado proporciona los “challenge bits” para el siguiente string.
  6. Para verificar que Alice es la propietaria de un string de bit gold en particular, Bob comprueba la cadena de títulos infalsificable en el registro de títulos de bit gold.
  7. Para comprobar el valor de una cadena de bit gold, Bob comprueba y verifica los “challenge bits”, la cadena de prueba de trabajo y la marca de tiempo.

Hay dos diferencias cruciales entre el enfoque de Szabo y Bitcoin. La primera es que bit gold requiere dos registros separados: uno para registrar las marcas de tiempo (para anotar cuándo se creó el bit gold), y otro para registrar los títulos de propiedad (para ver quién es el dueño del bit gold). La segunda es que se supone que el bit gold se basa en “benchmark functions” (a diferencia de las funciones unidireccionales) para generar una prueba de trabajo. Las “benchmark functions” son funciones propuestas por Szabo que son computacionalmente estables, es decir, un conjunto de funciones que mantienen un grado de dificultad similar entre todos los mineros. Szabo dedicó un esfuerzo considerable a definir y explorar estas funciones, intentando formular pruebas matemáticas de que todo cálculo tardará al menos una determinada cantidad de tiempo, independientemente de la arquitectura del ordenador que se utilice. Sin embargo, dado que los ordenadores son cada vez más rápidos, señaló que encontrar una función de este tipo será difícil: «Queda un gran problema potencial: […] El mundo carece de un problema estable desde el punto de vista criptográfico».

La falta de una función de referencia estable da lugar a multitud de problemas: las «monedas» más antiguas creadas por los usuarios tendrían un coste diferente al de las más nuevas, ya que los ordenadores son más rápidos a medida que avanza la tecnología. Así, dos monedas diferentes – o cadenas de bit gold, como las llamó Szabo – no tendrían el mismo valor. Si la Ley de Moore sirve de indicación, una moneda dos años más antigua que otra podría considerarse el doble de valiosa, porque la duplicación de la potencia de procesamiento hizo que la acuñación de la más nueva fuera el doble de fácil. Otro problema es que, si bit gold se volviera lo suficientemente valioso, los avances computacionales podrían ser mantenidos en secreto por quienes los hicieron, de modo que se podrían acumular cadenas válidas de bit gold y venderlas en el mercado con una prima. Esto agravaría el problema de la inflación, que es otro de los problemas que Szabo identificó pero no resolvió.

Además, Szabo identificó correctamente los problemas de enfoques anteriores como Hashcash y MicroMint: (1) su valor dependía de una autoridad central, (2) las funciones hash que utilizan son criptográficamente vulnerables, es decir, carecen de estabilidad criptoanalítica. Como se ha descrito anteriormente, este último problema sigue presente en bit gold.

B-money (Wei Dai, 1998)

Al igual que bit gold de Szabo, el b-money de Wei Dai nunca se puso en práctica. Se quedó en una propuesta teórica de cómo podría funcionar un protocolo monetario.

Mientras que Bitcoin es una implementación funcional de la visión que b-money esboza, parece que Satoshi no era consciente de b-money mientras diseñaba el núcleo de Bitcoin. Como escribió Wei Dai en una respuesta a un artículo de LessWrong: «tengo entendido que el creador de Bitcoin […] ni siquiera leyó mi artículo antes de reinventar la idea él mismo. Se enteró después y me dio crédito en su artículo, así que mi relación con el proyecto es bastante limitada». En 2013, Adam Back se pronunció sobre esto, mencionando que él presentó a Satoshi el b-money de Wei Dai después de que Satoshi se pusiera en contacto con él.

En su propuesta, Dai es muy franco respecto al propósito de su sistema. Citando las ideas de Tim May en torno a la criptoanarquía, escribe que «en una criptoanarquía el gobierno no se destruye temporalmente, sino que está permanentemente prohibido y es permanentemente innecesario. Es una comunidad en la que la amenaza de la violencia es impotente porque la violencia es imposible, y la violencia es imposible porque sus participantes no pueden ser vinculados a sus verdaderos nombres o ubicaciones físicas».

Dai continúa describiendo un sistema en el que cada participante mantiene una base de datos separada con la cantidad de dinero que pertenece a cada usuario. Los usuarios se identifican mediante seudónimos (claves públicas), las unidades monetarias se crean en relación con el esfuerzo computacional, el dinero se transfiere mediante la firma de mensajes y los contratos se ejecutan automáticamente mediante el protocolo. Describe – en espíritu, pero no en detalle – el funcionamiento actual de Bitcoin.

Describe cinco cosas que son necesarias para que un sistema de este tipo funcione:

  1. La creación de dinero
  2. La transferencia de dinero
  3. La ejecución de contratos
  4. La finalización de contratos
  5. El cumplimiento de los contratos

Aunque b-money resuelve muchos de los problemas inherentes al dinero electrónico, sigue existiendo el problema descrito por Szabo en bit gold. Dai lo menciona en su propuesta de la siguiente manera «Una de las partes más problemáticas del protocolo b-money es la creación de dinero. Esta parte del protocolo requiere que todos los titulares de la cuenta decidan y se pongan de acuerdo sobre el coste de determinados cálculos. Desgraciadamente, como la tecnología informática tiende a avanzar rápidamente y no siempre de forma pública, esta información puede no estar disponible, ser inexacta o estar anticuada, lo que causaría graves problemas al protocolo».

Dai propone una solución a este problema describiendo un subprotocolo que sea el único responsable de la creación de dinero. Los participantes se pondrían de acuerdo periódicamente sobre la cantidad de dinero que debe crearse, trabajando colectivamente en un ciclo impulsado por el mercado que consta de cuatro pasos: planificación, oferta, computación y creación. Dado que el b-money nunca se implementó en la forma propuesta por Dai, no está claro si este elaborado esquema de creación de dinero habría funcionado como se pretendía.

RPOW – Pruebas de trabajo reutilizables (Hal Finney, 2004)

Como su nombre indica, Hal Finney encontró una forma de hacer reutilizables los tokens de prueba de trabajo del hashcash de Adam Back.

Así es como funciona, parafraseando el anuncio original del propio Hal Finney: El sistema recibe hashcash como un token de prueba de trabajo (POW), y a cambio crea tokens firmados por RSA que se llaman tokens de prueba de trabajo reutilizables (RPOW). Los RPOWs pueden transferirse de persona a persona y cambiarse por nuevos RPOWs en cada paso. Cada token RPOW sólo puede utilizarse una vez, pero como da lugar a uno nuevo, es como si el mismo token pudiera pasarse de persona a persona.

La propiedad de los RPOW se transfiere a través de servidores de confianza.

En esencia, un usuario puede crear tokens RPOW a través del software cliente RPOW, que toma una cadena de prueba de trabajo generada por el software Hashcash inventado por Adam Back. Esta cadena es firmada por la clave privada del usuario y posteriormente registrada por un servidor RPOW, registrando que este token pertenece a la clave pública del usuario. A continuación, el usuario puede pasar ese token a otra persona firmando una «orden de transferencia» a la clave pública de otro usuario. El servidor registra entonces debidamente el token como perteneciente a la clave privada correspondiente.

Como se desprende del estudio de sus escritos, Hal Finney se inspiró en los trabajos de Nick Szabo, sobre todo en sus ideas sobre bit gold y los coleccionables digitales. Al hablar de las posibles aplicaciones de RPOW, Hal escribe: «El experto en seguridad Nick Szabo ha acuñado el término bit gold para los elementos de información cuya creación es probablemente costosa. Sugiere que éstos podrían incluso servir de base para una especie de sistema de pago, desempeñando en el mundo de la información el papel del oro en el mundo físico. El RPOW facilitaría el uso de los tokens POW como una forma de bit gold al permitir que los tokens se pasen e intercambien de persona a persona».

La implementación de Hal era una solución práctica a un problema inherente a los tokens proof-of-work, a saber, que los propios tokens POW no son un buen dinero. Los tokens POW no son más que hashes – trozos de información – que pueden ser gastados dos veces. Con el concepto de servidores RPOW, Hal introdujo autoridades centrales, pero de confianza limitada, que pueden determinar criptográficamente una cadena de propiedad. Esto permite reutilizar los tokens de prueba de trabajo, aunque de forma limitada y secuencial.

Aunque la arquitectura RPOW es jerárquica, es decir, sus clientes dependen de servidores especializados, la confianza que los usuarios necesitan tener en un servidor RPOW es mínima. Esto es posible porque el software del servidor RPOW se ejecuta en un coprocesador criptográfico IBM 4758, una placa PCI de alta seguridad resistente a las manipulaciones que garantiza criptográficamente que el software que se ejecuta en el servidor es el que se publicó y auditó. Esto convierte a cualquier servidor RPOW en un sistema cuyas propiedades de seguridad pueden ser analizadas y evaluadas por cualquiera. En otras palabras, un servidor RPOW es un servidor transparente, lo que hace que el sistema RPOW en su conjunto sea de confianza mínima. Todo el mundo conoce el código que hace funcionar el sistema, así como las reglas que se aplican.

Conocemos el código fuente. Conocemos las reglas.

Hal Finney

Entonces, ¿cuáles son exactamente las reglas del sistema RPOW? Según su inventor, son las siguientes:

  • No hay inflación
  • No hay puertas traseras
  • Protección de la privacidad

La regla de «no inflación» debe entenderse en términos de las restricciones establecidas por el propio sistema, es decir, que cualquier servidor RPOW sólo creará tokens RPOW de igual valor que los tokens POW y RPOW entrantes. Dado que los usuarios pueden crear nuevos tokens de prueba de trabajo a través del hashcash de Adam Back, siempre puede ocurrir y ocurrirá una inflación en términos de nueva oferta en el sistema.

«Para hacer cumplir la regla de no inflación, el servidor RPOW debe asegurarse de que ningún POW o RPOW pueda utilizarse más de una vez como parte de un intercambio. Cada uno se crea, y luego se intercambia en el servidor por un nuevo RPOW, y después de eso, el antiguo no puede volver a utilizarse. El servidor de RPOWs aplica esta regla principalmente manteniendo un registro de todos los RPOWs y POWs que ha visto en el pasado. Cada vez que se ofrece uno para el intercambio, el servidor RPOW lo compara con esta base de datos de RPOWs vistos anteriormente. Si está en la lista, se trata de un intento de reutilización del POW o RPOW, y se rechaza la solicitud de intercambio. Si el POW o RPOW no está en la lista, se añade a la misma, y entonces el servidor RPOW firmará el valor suministrado como parte del intercambio, creando un nuevo RPOW».

La regla «sin puertas traseras» se refiere a la transparencia del sistema. Todo el mundo puede inspeccionar su funcionamiento en todo momento, no hay partes ocultas.

La regla de «protección de la privacidad» es interesante. Hal escribió extensamente sobre cómo la privacidad es una característica intrínsecamente deseable, abogando por el uso de Tor para conectarse a los servidores RPOW y discutiendo tanto los vectores de ataque (linkage attacks) como mejoras como el uso de blind signatures. En sus escritos, continúa señalando dos cosas adicionales (1) el «propietario es el enemigo», y (2) el «programador es el enemigo», recordándonos que cualquier sistema que facilite el intercambio de dinero minimizando la confianza necesita ser configurado y operar bajo una mentalidad adversaria.

Junto con el hashcash, el RPOW fue uno de los sistemas que realmente se implementó. Sin embargo, probablemente debido al esfuerzo requerido para hacer funcionar los servidores de RPOW, así como a la falta de incentivos para hacerlo, los tokens de prueba de trabajo reutilizables de Finney nunca ganaron terreno y el proyecto finalmente se interrumpió.

El avance de Satoshi

Espero que sea obvio que lo único que los condenó fue la naturaleza centralizada de esos sistemas.

Satoshi Nakamoto

El 11 de febrero de 2009, Satoshi publicó un anuncio en los foros de la P2P Foundation. La P2P Foundation estudia el impacto de la tecnología y el pensamiento peer-to-peer en la sociedad, describiéndose a sí misma como «La Fundación para las Alternativas Peer to Peer». Por tanto, era un lugar muy apropiado para anunciar la invención de un dinero peer-to-peer como Bitcoin.

En su anuncio, Satoshi describe Bitcoin como un «sistema de dinero electrónico P2P» que no tiene «ningún servidor central ni partes de confianza» porque «todo se basa en la prueba criptográfica en lugar de la confianza».

Anuncio original de Satoshi sobre Bitcoin

Satoshi identifica múltiples problemas en nuestro actual sistema monetario y en las monedas convencionales que lo conforman:

  • la confianza en terceros
  • devaluación de la moneda por parte de los bancos centrales
  • burbujas de crédito
  • la banca de reserva fraccionaria
  • privacidad
  • falta de micropagos debido a los costes estructurales
  • intermediarios

Sólo con echar un vistazo a esta lista, se hace evidente el alcance enormemente ambicioso de Bitcoin. Satoshi no se propuso resolver un solo problema, se propuso resolver muchos problemas a la vez. Sorprendentemente, hizo tantas cosas bien desde el principio que fue capaz de resolver la mayoría de ellos. Todo lo que tuvo que hacer fue convencer a los demás de que su solución realmente funcionaba.

Conociendo a su público, señaló cómo se resolvieron problemas similares relacionados con la confianza en el mundo de los sistemas informáticos en general, es decir, cómo la criptografía eliminó la necesidad de confiar tus datos a los administradores del sistema. Una vez que tus archivos están encriptados, no necesitas confiar en quien tiene acceso a ellos, ya que necesitaría tu contraseña para desencriptarlos. En otras palabras: pasamos de confiar en los humanos a confiar en las matemáticas. Esto es especialmente relevante en un entorno peer-to-peer, porque gracias a la criptografía, puedes intercambiar datos confidenciales con otros -incluido tu futuro yo- sin tener que confiar en ningún intermediario.

Ya es hora de que ocurra lo mismo con el dinero.

Satoshi Nakamoto

Para entender mejor el avance de Satoshi, recapitulemos lo que era posible antes y en qué se quedaban cortos otros sistemas. Lo siguiente es lo que era posible antes de Bitcoin:

  • Creación de cuentas mediante criptografía de clave pública
  • Tokens costosos e infalsificables a través de proof-of-work
  • Demostrar la propiedad a través de firmas digitales
  • Transmisión de tokens de prueba de trabajo a través de cadenas de firmas

Y esto es lo que no era posible:

  • Evitar el doble gasto sin un tercero de confianza
  • Limitar el suministro sin un tercero de confianza

Para Satoshi, era obvio que cualquier sistema controlado de forma centralizada sería cerrado por los gobiernos. Por ello, el sistema que quería construir tenía un objetivo por encima de todos los demás: la descentralización.

Los gobiernos son buenos cortando las cabezas de las redes centralizadas como Napster, pero las redes P2P puras como Gnutella y Tor parecen resistir.

Satoshi Nakamoto

La cita anterior resume perfectamente por qué la descentralización es tan importante: no hay cabezas que cortar, ni directores generales que detener, ni líderes a los que chantajear o presionar, ni un solo grupo de personas a las que citar, ni servidores que cerrar. En otras palabras: la descentralización maximiza la supervivencia.

Un punto central en cualquier sistema lo hace vulnerable y, por tanto, propenso a los ataques. Un atacante suficientemente motivado encontrará y explotará estos puntos de fallo, y cuando se trata de dinero, el Estado tiene toda la motivación del mundo para cerrar un sistema que le haga la competencia. Esto, y sólo esto, es la razón por la que el diseño de Bitcoin es tan intrincado y complicado. Su arquitectura basada en incentivos favorece una cosa por encima de todo: la supervivencia. Como habría que destruir todas sus partes simultáneamente, un sistema radicalmente descentralizado es extremadamente resistente a cualquier tipo de interrupción.

Aunque los intentos anteriores, especialmente el bit gold, el b-money y el RPOW, se acercaban bastante al diseño final de Bitcoin, todos los sistemas tenían al menos uno de los siguientes defectos:

  • Se requiere un registro de propiedad central para evitar el doble gasto
  • El valor de la moneda depende de una autoridad central
  • La emisión controlada sólo es posible a través de un organismo centralizado
  • Función de prueba de trabajo inestable (computacionalmente hablando)

Salvo el último punto, todos estos fallos son fallos porque requieren un organismo centralizado, exponiendo una cabeza que podría ser cortada por los gobiernos. La genialidad de Satoshi fue eliminar cualquier cabeza, incluida la suya.

De nuevo, el problema esencial del dinero en el ámbito digital se reduce a dos cosas: la escasez y el doble gasto. Aunque obviamente están relacionadas (no se puede tener escasez digital sin resolver el problema del doble gasto), no son exactamente lo mismo. Satoshi resolvió ambos problemas a la vez, utilizando una red peer to peer como libro de contabilidad no centralizado, usando una cadena de tiempo global para sincronizar el estado, y ajustando dinámicamente la dificultad del puzzle para conseguir estabilidad criptoanalítica, haciendo posible una emisión predecible.

Además, combinó el proceso de emisión, transferencia y verificación, eliminando la necesidad de un tercero de confianza. La genialidad de Bitcoin es que cada nodo puede verificar todo por sí mismo en todo momento. Parafraseando a Hal Finney: «Conoces el código fuente. Conoces las reglas».

Satoshi fue capaz de descentralizar todas las funciones del b-money de Wei Dai (creación y transferencia de dinero; ejecución, finalización y cumplimiento de contratos), al tiempo que resolvía los problemas de bit gold de Szabo (valor de la moneda dependiente de una autoridad central; las funciones hash carecen de estabilidad criptoanalítica). Lo hizo llevando la idea de Hal Finney de los tokens de prueba de trabajo reutilizables al siguiente nivel, creando un activo digital que es a la vez fungible y tiene un alto coste infalsificable. Al igual que el RPOW, el sistema resultante no tiene inflación, ni puertas traseras, y protege la privacidad de sus usuarios.

Es útil observar las diferentes funciones de un sistema de tipo financiero o bancario para entender por qué Bitcoin opera de la manera que lo hace. En esencia, un sistema de este tipo tiene que ser capaz de hacer lo siguiente

  • Crear cuentas: los usuarios deben poder crear cuentas y autentificarse.
  • Registrar la propiedad: el sistema debe ser capaz de registrar quién posee qué.
  • Demostrar la propiedad: se necesita algún tipo de certificación para confirmar que un usuario es realmente propietario del activo, de modo que pueda demostrar este hecho a sí mismo y a otros.
  • Transferir la propiedad: los usuarios deben poder transferir la propiedad de los activos.
  • Seguridad: el sistema debe garantizar la seguridad de los registros de propiedad, la red informática y los datos de los usuarios.

Además, cuando se trata de sistemas monetarios, es deseable tener lo siguiente

  • Escasez: el dinero debe ser difícil de producir, es decir, debe tener un coste infalsificable como describe Nick Szabo.
  • Emisión controlada: las nuevas unidades monetarias deben emitirse de manera uniforme y durante un largo periodo de tiempo, permitiendo una distribución orgánica entre los participantes.
  • Auditabilidad: terceras partes independientes deberían poder auditar la oferta (así como la seguridad del sistema).

Satoshi encontró la manera de descentralizar todas las funciones enumeradas anteriormente, utilizando una mezcla de tecnología peer-to-peer, criptografía, probabilidades, teoría de juegos, física e incentivos económicos. En otras palabras: Satoshi pudo construir un sistema descentralizado gracias a la universalidad de las leyes de las matemáticas y a la física.

Para ser más concretos, veamos con más detalle estas características y cómo Bitcoin consigue implementarlas de forma descentralizada:

  • Creación de cuentas: Gracias a la criptografía de clave pública, la creación de cuentas de usuario puede estar completamente descentralizada. Cualquiera, en cualquier momento, puede crear uno o varios pares de claves para interactuar con el sistema Bitcoin. No hay formularios de inscripción, ni autoridades centrales que aprueben o rechacen las solicitudes, ni servidores encargados de los inicios de sesión. En esencia, crear una cuenta en Bitcoin es sólo cuestión de generar un gran número aleatorio. Puedes incluso lanzar una moneda al aire unas cuantas veces, o tirar un par de dados, siempre que sepas lo que estás haciendo (y que tus dados y monedas no estén trucados).
  • Registro de la propiedad: En Bitcoin, cada nodo tiene una copia de los registros de propiedad. Este enfoque radical es una forma sencilla de eliminar un registro centralizado y optimizar la supervivencia: no se puede eliminar el registro si todo el mundo es el registro.
  • Demostrar la propiedad: Al igual que otros sistemas anteriores, Bitcoin utiliza firmas criptográficas para demostrar la propiedad. Si tienes la clave privada para firmar un mensaje, puedes demostrar que la clave pública relacionada, así como los activos vinculados a esta clave pública, te pertenecen. No se requiere ninguna autoridad central que emita certificados de propiedad.
  • Transferencia de la propiedad: La propiedad se transfiere a través de una cadena de firmas, al igual que en el sistema RPOW de Hal Finney. Al contrario que en RPOW, no se requieren servidores centrales, ya que la cadena de propiedad es alojada (y validada) por cada nodo.
  • Seguridad: Bitcoin se protege de formas diferentes, todas ellas basadas en la criptografía de una forma u otra, que a su vez se basa en el poder de los números ridículamente grandes. La probabilidad de que alguien adivine una clave privada o una de sus direcciones es prácticamente nula, al igual que la probabilidad de que alguien encuentre el hash de un bloque válido sin hacer el trabajo de fuerza bruta necesario. La combinación de una fuerte criptografía y la energía acumulada por los mineros asegura tanto los activos de los usuarios como la integridad de la red. El propio sistema nunca ha sido hackeado, lo que lo convierte en la red informática más segura de todos los tiempos. Bitcoin sólo puede ser atacado de forma significativa en los bordes, es decir, las claves privadas pueden ser robadas a usuarios individuales o custodios.
  • Escasez: Debido a que Bitcoin es la primera solución práctica, no centralizada, al problema del doble gasto, la escasez digital fue posible por primera vez. Satoshi podría haber elegido cualquier tasa de inflación terminal, pero eligió una tasa de inflación terminal de cero. El resultado: 21 millones de bitcoins, nada más. Lo que esto significa para Bitcoin y el mundo en general se explorará en el capítulo 7.
  • Emisión controlada: Debido al ajuste de dificultad de Bitcoin, la emisión controlada es posible de forma descentralizada. El ajuste de la dificultad es lo que resuelve el problema de la inestabilidad criptoanalítica, como señala Satoshi en el whitepaper: «Para compensar el aumento de la velocidad del hardware y el interés cambiante de los nodos en funcionamiento a lo largo del tiempo, la dificultad de la prueba de trabajo se determina mediante una media móvil que apunta a un número medio de bloques por hora. Si se generan demasiado rápido, la dificultad aumenta». Durante la era de recompensas de la red, que terminará aproximadamente en el año 2140, entrarán nuevos bitcoins en la economía con cada bloque válido, es decir, aproximadamente cada diez minutos. El suministro de Bitcoin estaba predeterminado desde su creación, y podría decirse que ésta es la propiedad más valiosa de Bitcoin. Ningún otro activo en existencia tiene lo que tiene Bitcoin: un programa de suministro invariable que no puede ser discutido.

En resumen, las matemáticas permiten la descentralización de todas las funciones esenciales del sistema y las leyes de la termodinámica permiten fuertes garantías de seguridad. Además, los incentivos económicos y la teoría de juegos son el pegamento que mantiene todo unido.

El resultado es un sistema distribuido sin ningún punto de fallo. Los usuarios poseen las claves criptográficas de su propio dinero y realizan las transacciones directamente entre ellos, con la ayuda de la red P2P para comprobar si hay un doble gasto.

Satoshi Nakamoto

Satoshi también se dio cuenta de que el único activo del mundo real que puede vincularse a un sistema informático de forma fiable es la energía, nada más. Todo lo demás, no importa si es oro, certificados de papel, bienes inmuebles o fresas, vuelve a introducir un tercero de confianza debido a la desconexión inherente entre el mundo digital y el físico. Alguien tiene que asegurarse de que los activos del mundo real y la representación digital de estos activos – en esencia, una lista de elementos – se mantengan actualizados y sincronizados. Esto es lo que se conoce como el problema del oráculo, y el proof-of-work lo resuelve de una manera ingeniosa e indirecta: utilizando la energía, y por tanto la física, como la verdad fundamental. También se puede pensar en el problema del oráculo como una variante del principio GIGO: Garbage In, Garbage Out. (nt: expresión usada en informática, relacionada con la calidad de la información o los productos que ingresan a un sistema, si la calidad de lo que ingresa no es buena, el resultado normalmente tampoco es bueno). Hay que confiar en que quien lleva los registros lo hace de manera honesta. Dicho de otro modo: nunca se puede estar seguro de que los datos que se tienen a mano representen la realidad, excepto si la realidad está anclada en la propia computación.

Una idea muy oportuna

No se pueden aplastar las ideas reprimiéndolas. Sólo se pueden aplastar ignorándolas, negándose a pensar, negándose a cambiar. Eso es precisamente lo que está haciendo nuestra sociedad.

Ursula K. Le Guin

Como podemos ver al examinar la prehistoria de Bitcoin, el doble gasto y la escasez digital no son problemas fáciles de resolver. El avance de Satoshi fue encontrar una forma de resolver ambos problemas de forma práctica, no académica. El primero se resuelve con una cadena de tiempo compartida globalmente que se mantiene sincronizada mediante una lotería competitiva, el segundo se resuelve con el ajuste de la dificultad así como con la reducción de la recompensa por bloque a la mitad. Bitcoin utiliza las mejores ideas de sus predecesores (firmas digitales, pruebas de trabajo reutilizables, redes peer-to-peer) y las combina de forma ingeniosa para crear algo completamente nuevo: un sistema descentralizado sin un solo punto de fallo.

Ninguna parte de Bitcoin puede ser eliminada sin destruir el conjunto. Sin la cadena de tiempo, no habría una forma descentralizada de comprobar el doble gasto. Sin la reducción de la recompensa por bloque a la mitad, la oferta de bitcoins se expandiría indefinidamente. Sin el ajuste de la dificultad, el algoritmo de minería no tendría estabilidad criptoanalítica, lo que haría trivial para los mineros producir bitcoin más rápido. Muchos criptógrafos soñaron con el dinero digital. Satoshi llevó esta idea más lejos que nadie, implementando un sistema que es prácticamente imparable. Ocurra lo que ocurra en las próximas décadas, el genio ha salido de la lámpara, y todo el mundo tendrá que adaptarse a un mundo en el que existe Bitcoin.

Bitcoin es una idea a la que le ha llegado su momento. A medida que más y más personas, empresas e incluso estados se mueven hacia un estándar Bitcoin, la imparable fuerza de la idea de Satoshi se hace cada vez más evidente. Al poner en práctica su idea, demostró que es posible una solución práctica a los problemas que han afectado al dinero digital durante décadas: el doble gasto y la escasez digital. La liberación de su software al mundo puso en marcha un proceso impulsado por una estructura de incentivos extremadamente poderosa. Una idea imparable, plasmada en código. Es esta estructura de incentivos la que impulsa la supervivencia de Bitcoin, y con cada día que Bitcoin se niega a morir, la humanidad está un paso más cerca de liberar el dinero de las manos del estado. El mundo tardará tiempo en asimilar esta poderosa idea, pero curiosamente, el tiempo es también la razón por la que Bitcoin funciona, ya que la principal idea que tuvo Satoshi fue cómo dictar el tiempo en un sistema descentralizado. Mucha gente pensaba que este problema no tenía solución, resulta que lo único que faltaba era la idea correcta.

.

Este artículo ha sido publicado bajo licencia CC BY-SA 4.0 y traducido por Entropy