Módulo 3 de 8

Historia técnica de Bitcoin

3.0 Introducción

Resumen del White Paper de Bitcoin

Una versión puramente entre pares de dinero electrónico permitiría que los pagos en línea se envíen directamente de una parte a otra sin pasar por una institución financiera. Las firmas digitales proporcionan parte de la solución, pero los principales beneficios se pierden si todavía se requiere una tercera parte confiable para evitar el doble gasto. Proponemos una solución al problema del doble gasto utilizando una red entre pares. La red sella las transacciones con marcas de tiempo al incluirlas en una cadena continua de prueba de trabajo basada en hash, formando un registro que no puede ser modificado sin rehacer la prueba de trabajo. La cadena más larga no solo sirve como prueba de la secuencia de eventos presenciados, sino también como prueba de que proviene del mayor grupo de poder de CPU. Mientras la mayoría del poder de CPU esté controlado por nodos que no cooperan para atacar la red, ellos generarán la cadena más larga y superarán a los atacantes. La propia red requiere una estructura mínima. Los mensajes se transmiten con el mejor esfuerzo posible, y los nodos pueden salir y volver a unirse a la red cuando lo deseen, aceptando la cadena de prueba de trabajo más larga como prueba de lo que ocurrió mientras estaban ausentes.

Bitcoin no apareció en un vacío, sino que se construyó sobre el trabajo de muchos en las décadas anteriores. Este módulo explorará los fundamentos de internet sobre los que se apoya Bitcoin, así como la investigación y el desarrollo reconocidos en el whitepaper.

En los años 70, un grupo de personas observó cómo el gobierno de los Estados Unidos, en particular, intentaba restringir el acceso a la criptografía, y se propuso asegurar que esta tecnología estuviera disponible para todas las personas para proteger su privacidad en línea. Algunos de estos primeros pioneros también se enfocaron en los posibles beneficios de un sistema digital de 'dinero sólido' que pudiera usarse para almacenar e intercambiar valor a través del incipiente internet. Friedrich Hayek, un destacado contribuyente a la economía austriaca, imaginó cómo sería una moneda ideal basada en la competencia del libre mercado mucho antes de la era de internet, pero consideró que era técnica y políticamente inviable. Además de la privacidad digital, este grupo, que evolucionó hasta convertirse en los Cypherpunks, intentó hacer realidad la visión de Hayek para el dinero digital, pero estos intentos fracasaron hasta que Satoshi publicó sus ideas en la lista de correo.

  • Protocolo TCP/IP (1976)
  • Protocolos para Criptosistemas de Clave Pública - Ralph Merkle (1980)
  • Digicash - David Chaum (1989)
  • Sellado digital de tiempo (años 90)
  • Hashcash - Adam Back (1997)
  • BitTorrent - Bram Cohen (2001)
  • POW reutilizable - Hal Finney (2004)
  • Whitepaper de Bitcoin - Satoshi Nakamoto (2008)

Una influencia clave en el desarrollo de Bitcoin fue la aparición de este movimiento Cypherpunk en los años 90. Desarrollaron varias tecnologías criptográficas, incluida la criptografía de clave pública, para permitir a los usuarios comunicarse y compartir información de forma segura y privada. Muchos de los desarrollos aquí descritos y las personas involucradas formaban parte de este grupo.

También se identificó la necesidad de dinero digital y se hicieron varios intentos para crearlo, pero estos tenían limitaciones que les impidieron tener éxito. El genio de Satoshi Nakamoto fue reunir estas capacidades y, junto con algunas innovaciones propias, construir sobre ellas para crear el protocolo de Bitcoin que se utiliza hoy en día. En las siguientes secciones exploraremos algunos de estos desarrollos y explicaremos cómo ayudaron a informar el diseño de Bitcoin. También discutiremos cuáles eran las piezas faltantes del rompecabezas que Satoshi logró resolver.

3.1 El desarrollo de TCP/IP

La mayoría de nosotros estamos familiarizados con los protocolos TCP/IP que se utilizan hoy en día como la base de internet. Sus orígenes se remontan a finales de los años 70, cuando los científicos exploraban diseños alternativos a Arpanet, una red aún más antigua concebida por el Departamento de Defensa de EE. UU. para permitir el intercambio de recursos entre computadoras remotas. TCP/IP se convirtió en el estándar de protocolo para Arpanet en 1983, lo que llevó a que se convirtiera en el modelo de red dominante a finales de los años 90 y en la base de internet sobre la que funciona Bitcoin hoy en día.

Modelo OSI TCP/IP
Aplicación Aplicación
Presentación Aplicación
Sesión Aplicación
Transporte Transporte
Red Red
Enlace de datos Enlace de datos
Físico Físico

Al mismo tiempo que se desarrollaba el modelo TCP/IP, la Organización Internacional de Normalización (ISO) y la industria de las telecomunicaciones (CCITT) estaban desarrollando un marco similar pero más completo. El proceso para desarrollar nuevos protocolos o sugerir cambios era lento y poco manejable en comparación con el enfoque más descentralizado utilizado para desarrollar TCP/IP, lo que llevó a la dominancia de este último enfoque hoy en día.

Solicitud de Cambio

Cualquier desarrollo sugerido a los protocolos existentes o ideas para nuevos pueden ser propuestos en el modelo TCP/IP a través de una Solicitud de Cambio . Estas pasan por un proceso de aprobación, gestionado por el Grupo de Trabajo de Ingeniería de Internet (IETF), y se vuelven de código abierto una vez aprobadas para permitir que cualquiera las implemente y adopte. Algunos ejemplos destacados:

  • 1969 RFC 1 Documentó cómo se enviarían los paquetes en Arpanet
  • 1981 RFC791 definió el protocolo de Internet V4 – aún ampliamente adoptado hoy en día
  • 1982 RFC 821 Protocolo simple de transferencia de correo
  • 1987 Sistema de Nombres de Dominio – cómo los nombres de dominio se resuelven a direcciones IP
  • 1999 RFC 2616 Protocolo de transferencia de hipertexto – esencial para navegar por la web

La Propuesta de Mejora de Bitcoin (BIP) sigue un enfoque similar al RFC, pero enfocado únicamente en mejoras para Bitcoin en sí mismo en lugar del desarrollo de nuevos o alternativos protocolos. Bitcoin también toma prestado de este modelo por capas, y verás protocolos adicionales descritos como capa dos o tres.

De la misma manera que las capas base del modelo TCP/IP han cambiado relativamente poco en las últimas décadas, con la innovación ocurriendo en capas superiores, se espera que la capa base de Bitcoin cambie muy lentamente en este punto, con soluciones de escalabilidad como Lightning y Liquid ocurriendo por encima.

Un buen ejemplo de cómo los protocolos de capa base se vuelven difíciles de cambiar con el tiempo es IPv6. El agotamiento esperado del espacio de direcciones en IPv4 creó la demanda de un nuevo protocolo. El primer borrador del estándar se creó en 1998, pero no fue ratificado como estándar de internet hasta 2017. Aunque resolvió muchos problemas de IPv4 y es mucho más preparado para el futuro, aún ha visto una adopción muy lenta en la industria hoy en día. Durante este tiempo, se han definido muchos nuevos protocolos en las capas superiores para habilitar multimedia, correo electrónico, etc.

Los bloques de construcción utilizados por Bitcoin

Esta separación de los problemas de interconectividad permite que los protocolos se desarrollen de forma independiente de las capas superiores e inferiores. En lugar de tener que reinventar soluciones para cada capa, Bitcoin como red puede confiar en las capacidades subyacentes de la red proporcionadas en las capas física y de enlace de datos.

Capa TCP/IP Original
Aplicación Utiliza el Sistema de Nombres de Dominio (DNS) para identificar nodos vecinos. El puerto 8333 señala el protocolo Bitcoin.
Transporte UDP para comunicaciones FIBRE entre mineros para baja latencia. TCP para comunicaciones P2P entre nodos.
Transporte Enrutamiento TOR: Permite anonimato y privacidad. Protocolo de difusión: Rutea el tráfico a través de la red.
Enlace Opera sobre cualquier medio (por ejemplo, Ethernet, Wi-Fi, etc.)
Físico Transmisión física vía inalámbrica, Ethernet u otras interfaces de hardware.
Bitcoin es un protocolo neutral para transferir valor, así como HTTPS es un protocolo para transferir información
  • HTTPS: Sitios web seguros
  • SMTP: Enviar correos electrónicos
  • FTP: Transferir archivos
  • DNS: Gestionar nombres de dominio
  • BTC: Almacenar y transferir valor

Bitcoin permite transportar valor de manera confiable y sin requerir un tercero entre personas o dispositivos a través de Internet. Se espera que esto libere un valor tremendo.

3.2 Criptografía de clave pública y protocolos

Internet hoy en día, y la mayoría de los sistemas informáticos modernos, dependen de la criptografía, un método para ocultar información de modo que solo el destinatario pueda descifrarla. Los fundamentos de la criptografía utilizada para asegurar Bitcoin se remontan a los años 70.

El primer problema a resolver es: ¿cómo enviar un secreto compartido a través de un medio no seguro?

Esto fue estudiado por primera vez por Whitfield Diffie y Martin Hellman.

El problema: las dos partes —normalmente llamadas Alicia y Bob— quieren compartir información secreta a través de una red donde otros pueden estar escuchando. Para lograr esto, crearon el proceso de intercambio de claves Diffie-Hellman.

Este secreto compartido puede usarse como valor semilla para crear numerosas claves simétricas para cifrar y descifrar mensajes entre sí sin compartir la clave abiertamente.

Como la clave privada nunca tiene que compartirse, y se usan diferentes claves en cada extremo para cifrar y descifrar, esto se conoce como un algoritmo de cifrado asimétrico.

Casos de uso:

  • Alicia firma un mensaje con la clave pública de Bob — quien es la única persona que puede descifrarlo usando su clave privada
  • Alicia firma un mensaje con su clave privada — al descifrarlo con su clave pública, cualquiera puede verificar que el mensaje fue enviado por Alicia, sin conocer su clave privada
  • Combinando estos dos enfoques con dos capas de cifrado, se puede enviar un mensaje cifrado de modo que solo Bob pueda descifrarlo, y él puede entonces verificar que la remitente fue realmente Alicia

Aunque no fue acreditado en el artículo, Ralph Merkle fue fundamental para ayudar a resolver lo que hasta entonces se consideraba un enigma irresoluble: cómo establecer o restablecer comunicación privada a través de una red abierta y potencialmente hostil.

Este enfoque por sí solo es susceptible a un ataque de fuerza bruta, donde un atacante puede tomar los números compartidos y eventualmente recrear una clave compartida si dispone de suficiente tiempo y recursos, por lo que no es la solución completa por sí misma.

Protocolos para Criptosistemas de Clave Pública

Además de contribuir al sistema de clave pública Diffie-Hellman descrito arriba, Ralph Merkle continuó contribuyendo en este campo durante muchos años, y fue fundamental en el desarrollo de algunos componentes clave utilizados por Bitcoin.

Una función hash criptográfica es un algoritmo matemático que toma entradas de cualquier tamaño y realiza cálculos complejos para devolver un valor hash en bits, que normalmente se representa como una salida alfanumérica de longitud fija usando formato hexadecimal.

  • Las entradas pueden ser de cualquier tamaño
  • La salida siempre es de longitud fija y determinista (la misma entrada genera el mismo hash cada vez)
  • Es fácil de verificar pero extremadamente difícil revertir el proceso para determinar la entrada
  • Una pequeña modificación de los datos altera completamente las salidas
Hash function

El hashing es una parte integral del protocolo de Bitcoin. SHA-256, utilizado en Bitcoin, fue creado por la NSA y es un ejemplo de un algoritmo de hash criptográfico.

  • Cada bloque en la cadena se hashea para que los datos no puedan ser modificados — asegurando la integridad del libro mayor distribuido
  • El hash generado debe cumplir con los criterios de 'Prueba de trabajo' para ser considerado un bloque válido
  • Árboles de Merkle — al emplear ramificaciones y hashes de hashes, los árboles hash permiten la verificación de grandes conjuntos de datos con almacenamiento mínimo
  • Firmas y claves basadas en hash pueden usarse para monederos, direcciones y autorización de transacciones

La verificación distribuida de los estados de la blockchain y los modelos de libro mayor solo-adición resistentes a la revisión son posibles gracias al hash unidireccional. Las funciones hash proporcionan el método confiable y determinista para verificar eventos en libros mayores públicos como Bitcoin en ausencia de un modelo de confianza centralizado.

Se esperaba que estas nuevas capacidades en el campo de la criptografía dieran paso, según sus creadores, a una nueva ola de innovación en este ámbito.

Criptografía de curva elíptica

Una de estas innovaciones posteriores llegó en forma de la criptografía de curva elíptica.

La criptografía de curva elíptica fue introducida en 1985 por dos científicos, N. Koblitz y V. Miller. Propusieron la idea de usar puntos definidos por curvas elípticas en lugar de los campos primos finitos, de modo que se mantenga la suposición del problema del logaritmo discreto, como se usa comúnmente en el protocolo estándar de intercambio de claves Diffie-Hellman. Los detalles de cómo funciona esto están fuera del alcance de esta sección, pero a grandes rasgos, una curva elíptica es el conjunto de puntos que satisfacen una ecuación matemática específica.

La ecuación para una curva elíptica se ve algo así:

Elliptic curve

Esto tiene algunas propiedades útiles:

  • Simetría horizontal. Cualquier punto en la curva puede reflejarse sobre el eje x y sigue perteneciendo a la misma curva.
  • cualquier línea no vertical intersectará la curva en como máximo tres puntos.
  • Los tamaños de clave compactos son esenciales para el almacenamiento y transmisión eficiente de claves públicas en la blockchain.

Estas propiedades pueden usarse para crear pares de claves de manera similar al algoritmo Diffie-Hellman. Bitcoin utiliza ECDSA, que significa Algoritmo de Firma Digital de Curva Elíptica. Es un proceso que utiliza una curva elíptica y un campo finito para “firmar” datos de tal manera que terceros puedan verificar la autenticidad de la firma mientras que el firmante conserva la capacidad exclusiva de crear la firma. En bitcoin, los datos que se firman son la transacción que transfiere la propiedad.

La parte 'finita' es similar al enfoque 'mod' con Diffie-Hellman, donde la salida de la ecuación se divide y el residuo se usa para asegurar que encaje dentro de un rango de números.

3.3 DigiCash

Uno de los primeros participantes en la ‘nueva ola de interés’ en la criptografía fue David Chaum. Pasó sus primeros años aprendiendo a vulnerar sistemas informáticos y su éxito le generó una desconfianza hacia los sistemas supuestamente ‘seguros’. También reconoció un problema que no se había considerado hasta la fecha: "cómo mantener en secreto el conocimiento de quién conversa con quién y cuándo".

Diseñó un protocolo de correo anónimo utilizando criptografía de clave pública que ‘mezclaba’ los mensajes para mantener anónimos el origen y el destino. Esto se convertiría en la base de la red TOR.

Chaum veía los pagos digitales de la misma manera – reconociendo que ‘las transacciones financieras rastreables realizadas por un individuo pueden revelar mucho sobre el paradero, las asociaciones y el estilo de vida de esa persona’. En 1980 patentó un sistema de dinero digital asegurado por criptografía que formaría la base de las criptomonedas. También comenzó a explorar la idea de usar la criptografía para crear una economía completamente descentralizada basada en la descentralización de la mensajería y los pagos.

Los gobiernos son buenos cortando las cabezas de redes controladas centralmente como Napster, pero las redes puras P2P como Gnutella y TOR parecen mantenerse por sí mismas.
Satoshi Nakamoto

Los sistemas descentralizados sin una autoridad central – de igual a igual (peer-to-peer) – ofrecen varias ventajas:

  • Pueden crecer rápidamente ya que cualquiera puede expandir el sistema simplemente ejecutando un nuevo nodo sin necesidad de registro ni aprobación
  • Todos los nodos son iguales, por lo que las fallas pueden ser sorteadas
  • No hay una autoridad central que pueda ser capturada y comprometer el sistema
  • Son más difíciles de capturar, regular, gravar o vigilar sin puntos de control centralizados

Una década después fundó su empresa, Digicash, para crear ‘ecash’, el primer sistema de dinero digital del mundo. Muchos nombres famosos se unieron a Digicash durante un tiempo, que tuvo cierto éxito pero finalmente fracasó y se declaró en bancarrota.

Desarrollos adicionales en el dinero digital

En una publicación de foro de julio de 2010, Satoshi Nakamoto dijo: “Bitcoin es una implementación de la propuesta b-money de Wei Dai en Cypherpunks en 1998 y de la propuesta Bit Gold de Nick Szabo.”

Aunque ninguna de estas dos ideas pasó de la fase de propuesta, algunas de las ideas que contienen claramente influyeron en el desarrollo de Bitcoin:

  • Usar la ‘Prueba de trabajo’ para asignar valor monetario al trabajo computacional
  • El concepto de que el costo de la computación cambia con el tiempo y debe ser tenido en cuenta

Pero primero veremos Hashcash.

3.4 Hashcash

Hashcash fue creado por Adam Back, otro de los primeros innovadores en este ámbito. Adam tenía un gran interés en los mercados libres y la privacidad en internet, y se topó con la lista de correo de los Cypherpunks, a la que se unió y de la que se convirtió en un participante activo.

Estaba muy interesado en el dinero digital, e hizo algunas sugerencias sobre cómo el grupo podría trabajar más estrechamente en DigiCash con Chaum, pero estas no llegaron a nada. Luego centró su atención en otro problema emergente: el spam de correo electrónico. Él y el resto de los Cypherpunks querían encontrar una solución al problema del spam, donde era trivial para los spammers crear y enviar miles de correos electrónicos que saturaban las redes. Su solución innovadora se basó en el hashing: la capacidad, mediante criptografía, de convertir cualquier dato en una cadena única y aleatoria de una longitud específica, para crear el equivalente a un ‘sello’ digital que debía añadirse al correo electrónico para que se considerara válido y pudiera transmitirse por la red. Un coste trivial para un correo legítimo, pero prohibitivo para un spammer.

La innovación clave que creó Hashcash fue vincular recursos del mundo real —el poder computacional— a una red digital. Mientras que los recursos digitales hasta ese momento podían replicarse sin límites, la cantidad de ‘hashcash’ creada estaba limitada por cuánta energía estuvieran dispuestas las personas a invertir en ello.

Aunque la solución cumplía con algunos de los criterios que Adam creía necesarios en un sistema de dinero digital; era anónima, resistente y sin necesidad de confianza, cada hashcash no era reutilizable ni verdaderamente escaso. Sugirió otras formas en que estos problemas podrían abordarse utilizando terceros externos.

BitGold

Nick Szabo desarrolló el concepto de Hashcash y la prueba de trabajo para proponer una solución alternativa, que describió en una lista de correo un año después de que se publicara Hashcash, en 1998.

Aunque se acercaba más a una solución, esta propuesta aún presentaba varios desafíos.

  • ¿Quién gestionaría el Registro de propiedad de los hashes y cómo se podría confiar en ellos?
  • El hashing generalmente se volvería más barato con el tiempo, un desafío también para HashCash.

Como los hashes enlazados estarían sellados en el tiempo, propuso alguna forma de seguimiento histórico de la dificultad del hashing en ese momento; un hash anterior requeriría más costes de procesamiento que uno posterior, ya que los costes han disminuido. Desafortunadamente, esto significaba que los hashes no serían ‘fungibles’, es decir, de igual valor, considerado un atributo clave del dinero digital. Para ayudar a resolver esto, Nick sugirió alguna forma de ‘banca libre’ funcionando sobre BitGold que pudiera agrupar diferentes grupos de hashes que serían valorados de la misma manera.

B-Money

Poco después de la propuesta de Bit Gold, Wei Dai propuso una solución similar. Ya había desarrollado varias otras herramientas para los Cypherpunks, y tenía sus propias ideas sobre el dinero digital.

Su propuesta se parecía a Bit Gold en que utilizaba firmas digitales para transferir dinero, y los registros de las transacciones se almacenarían en un libro mayor, que contenía claves públicas y la cantidad de unidades de moneda atribuidas a cada una. Al igual que en Bit-Gold, los terceros de confianza se consideraban vulnerabilidades de seguridad, y se creía que un sistema de dinero electrónico no debía depender de una sola entidad para rastrear saldos, transacciones o para evitar el doble gasto.

Wei-Dai propuso varias soluciones a estos problemas, una de las cuales era que, en lugar de que una entidad central (o varias) mantuviera el libro mayor, TODOS los nodos mantendrían una copia. Si todos los usuarios verificaban su propio libro mayor y la validez de cada transacción, mientras todos los nodos se mantuvieran actualizados, los libros mayores deberían permanecer sincronizados en toda la red. Este sistema altamente distribuido sería difícil de corromper.

Wei Dai reconoció que esto no resolvía el problema de los generales bizantinos (1), ya que los nodos podían perder la sincronización fácilmente o simplemente mentir. Sugirió métodos alternativos, como tener un subconjunto de servidores ‘de confianza’ que mantuvieran el libro mayor, y crear incentivos financieros para mantener honestos a estos servidores.

Para la política monetaria, propuso vincular el poder adquisitivo de B-Money a algún tipo de índice de precios al consumidor externo. Quería que la misma cantidad de B-Money pudiera comprar una parte igual del índice a lo largo del tiempo, proporcionando cierta estabilidad de precios. Así, cualquiera podría generar nuevas unidades de moneda proporcionando un hash válido, pero la dificultad de generar un hash podría cambiar con el tiempo según los costes de CPU y el índice de precios, de modo que cada unidad sería ‘inmutable’.

3.5 BitTorrent

Otro proyecto que desempeñó un papel significativo en la formación de las criptomonedas antes de bitcoin es BitTorrent.

En 2001, Bram Cohen lanzó un diseño para un protocolo llamado BitTorrent, que fue creado para impulsar un sistema de intercambio de archivos entre pares. Comenzó a trabajar en una empresa llamada MojoNation, que había sido creada para permitir a las personas dividir archivos confidenciales en fragmentos cifrados que se distribuyen en computadoras que ejecutan el software. Una copia del archivo se descargaba simultáneamente desde varias computadoras. Aunque finalmente fracasó, esto introdujo a Cohen en el mundo del intercambio de archivos, donde decidió que podía crear un mejor protocolo, que consistía en:

  • Swarm: una comunidad de máquinas que están descargando o subiendo contenido
  • Tracker: una herramienta dedicada que funciona de manera similar a un motor de búsqueda, pero que lleva un registro de los archivos contenidos dentro del swarm. Esto permite a los usuarios ver y acceder fácilmente a cualquier archivo que puedan necesitar
  • Cliente BitTorrent: instalado en una computadora para acceder al tracker. Cabe destacar que el swarm es el único lugar donde realmente se almacenan los archivos
  • Un sistema de incentivos donde los usuarios que participan en la red como compartidores de archivos obtienen descargas más rápidas

Similitudes con Bitcoin:

  • Ambos protocolos operan de forma peer-to-peer
  • Diseño descentralizado
  • Los archivos de BitTorrent y el libro mayor de Bitcoin están distribuidos a través de la red
  • Origen de código abierto (BitTorrent eventualmente se convirtió en un software de código cerrado)

3.6 Prueba de trabajo reutilizable

Hal Finney es otro miembro famoso del movimiento Cypherpunk, quien estaba muy interesado en el desarrollo del dinero electrónico y era activo en la lista de correo.

Decidió intentar nuevamente el desarrollo de un sistema de dinero electrónico basado en prueba de trabajo. Hasta ese momento, la salida del hash era única para cada transacción, pero su idea era crear 'pruebas de trabajo reutilizables'.

La desventaja de este enfoque es el servidor centralizado, en el que se debe confiar para no realizar doble gasto o ser cerrado. Para solucionar esto, Hal propuso usar software libre y de código abierto que pudiera alojarse en un componente de hardware seguro y validarse de forma independiente.

La solución aún enfrentaba algunos de los mismos problemas que las otras propuestas:

  • El problema del 'huevo y la gallina' para lograr la adopción, donde falta un incentivo para que los usuarios quieran solicitar tokens, y los vendedores no quieren conectarse al sistema a menos que los usuarios quieran pagar con estos tokens.
  • Es probable que la prueba de trabajo (POW) también se vuelva más barata con el tiempo a medida que mejora el rendimiento informático, lo que sugiere que eventualmente el mercado se inundaría con unidades de moneda RPOW.
Si la ley de Moore sigue cumpliéndose, el costo de crear un token (POW) disminuirá a un ritmo constante y exponencial. Ten en cuenta que esto no es dinero y no está destinado a ser una reserva de valor, sino más bien una representación fácil de intercambiar del esfuerzo computacional.
Hal Finney

Estas características limitaron el atractivo y, por lo tanto, la adopción del proyecto, y a pesar de sus mejores esfuerzos, el proyecto terminó siendo otro intento fallido de crear dinero electrónico.

3.7 Bitcoin

Después de muchos años y varios intentos fallidos, los Cypherpunks en su mayoría habían comenzado a perder interés en la idea de una moneda digital sin permisos, cuando Adam Back recibió un correo electrónico con un enlace a un borrador de un libro blanco titulado 'dinero electrónico sin un tercero', enviado por una persona anónima que se hacía llamar Satoshi Nakamoto.

Para recapitular hasta este punto, tenemos al menos las ideas de:

  • Firmas criptográficas que podrían proporcionar un nivel de privacidad y anonimato
  • Concepto de una moneda sin respaldo (B-Money)
  • Propuestas (pero sin medios) para limitar la emisión de nueva moneda
  • Monedas digitales cuya propiedad se atribuía mediante claves públicas (B-Money) y podían transferirse firmando y reasignarse según la dirección del destinatario (RPOW y Hashcash)
  • Todos los nodos mantienen una copia de un libro mayor totalmente distribuido (B-Money) (descartado en ese momento por considerarse poco práctico)
  • Protocolo de sellado de tiempo: utilizando el hash de árbol de Merkle para proporcionar una cronología de eventos matemáticamente comprobable que es difícil de falsificar si todos los usuarios mantienen los mismos registros
  • Prueba de trabajo para vincular el esfuerzo del mundo real al sistema (pero usando el hash en sí como la moneda)
  • Redes totalmente descentralizadas donde todos los pares son iguales y pueden entrar y salir de la red (BitTorrent)
  • Concepto de vincular nuevos hashes a hashes anteriores (Bit Gold y sellado de tiempo)

Lo que faltaba en ese momento incluía:

  • Una solución viable para resolver el problema de los 'generales bizantinos'
  • Un método para limitar la cantidad de dinero en circulación a pesar de las mejoras continuas en el hardware
  • Un esquema de incentivos para que las personas participen (problema del huevo y la gallina)

La otra gran diferencia entre los intentos recientes y Bitcoin fue que Satoshi había estado trabajando en el código durante algún tiempo, en el verdadero espíritu original de 'los Cypherpunks escriben código', antes de anunciarlo en las listas de correo, a diferencia de Bit Gold y B-Money, que eran más conceptuales.

¿Cuál fue la innovación que diferenció a Bitcoin de los intentos anteriores de dinero electrónico?

La prueba de trabajo se utilizaría como un mecanismo de consenso y una forma de proporcionar seguridad e inmutabilidad: en lugar de usar el hash como una forma de dinero, se utilizaría en un nuevo proceso conceptual llamado minería, donde un nodo agruparía un conjunto de transacciones, añadiría un número aleatorio y luego aplicaría el hash al 'bloque' de datos. Un bloque válido que cumpliera con el requisito del hash sería entonces anunciado a la red. Estos bloques se vincularían entre sí utilizando el hash del bloque anterior en cada uno, y la cadena de bloques más larga se utilizaría en caso de un desempate donde diferentes nodos validaran y anunciaran diferentes bloques al mismo tiempo, creando divisiones en la cadena. La prueba de trabajo se convirtió en el desempate distribuido para resolver el problema de los generales bizantinos.

Estos mineros también recibieron un incentivo para proporcionar la CPU necesaria para realizar la prueba de trabajo, al recibir nuevos bitcoin por cada bloque. La cantidad de Bitcoin que se les otorga también está programada para disminuir aproximadamente cada 4 años hasta que se hayan creado todos los Bitcoin, estableciendo un límite máximo a la cantidad total de Bitcoin que existirá en circulación, de 21 millones.

La idea más original fue la forma en que resolvió el problema de cuánto dinero se crea a medida que mejora el hardware y se puede aplicar más potencia a la red. Las marcas de tiempo de un número determinado de bloques (2016) se promediarían, y si se están creando demasiado rápido, el hash necesario para crear un nuevo bloque se haría más difícil; si es demasiado lento, se haría más fácil. Esto se incorporó al protocolo descentralizado que ejecutan todos los nodos, por lo que cualquier minero que lo ignore gastaría energía para minar un bloque sin beneficio, ya que sería rechazado por el resto de la red. Este ajuste garantiza que la creación de nuevos bloques se mantenga en el calendario previsto de emisión y proporciona incentivos para que los mineros 'jueguen según las reglas'.


Resumen

Muchas de las piezas del rompecabezas necesarias para construir un sistema de dinero electrónico descentralizado entre pares basado en principios de dinero sólido ya estaban en su lugar antes de que Satoshi publicara su libro blanco y poco después del lanzamiento inicial del código.

La naturaleza de Bitcoin es tal que, una vez que se lanzó la versión 0.1, el diseño central quedó grabado en piedra para el resto de su existencia
Satoshi Nakamoto

Aunque se han propuesto y adoptado muchas ideas de mejora (BIPs), Bitcoin ha estado funcionando en segundo plano desde 2009 siguiendo el protocolo diseñado en la versión inicial y con apenas ninguna interrupción. Todas las mejoras se han realizado manteniendo la compatibilidad hacia atrás con todas las versiones anteriores.

Notas
  1. Para una explicación del problema de los Generales Bizantinos, véase https://es.wikipedia.org/wiki/Fallo_bizantino

↑ Volver al índice