Skip to content

Los orígenes de Bitcoin y la Web3

Shermin Voshmgir edited this page May 12, 2021 · 1 revision

El libro blanco de Bitcoin no surgió de la nada y las redes P2P no son un fenómeno nuevo. Tienen sus raíces en la historia temprana del ordenador y de Internet, y se basan en décadas de investigación sobre redes informáticas, criptografía y teoría de juegos.

Las primeras redes informáticas se inventaron en los años 60. ARPANET era una red privada de ordenadores universitarios estadounidenses introducida en 1969, que fue financiada inicialmente por la Agencia de Proyectos de Investigación Avanzada del Departamento de Defensa de Estados Unidos. Se hizo global en 1973, cuando los ordenadores de instituciones de investigación de Inglaterra y Noruega se conectaron a la red. En 1974, pasó a ser comercial con la integración del primer proveedor de servicios de Internet: Telnet. Ese mismo año se publicó un documento en el que se describía un protocolo de trabajo para compartir recursos mediante la conmutación de paquetes entre los nodos. Un componente de control central de este protocolo era el Programa de Control de Transmisión (TCP). En 1982, la arquitectura monolítica de TCP se dividió en una arquitectura modular que consistía en una capa de transporte (TCP) y la capa de Internet, también conocida como "Protocolo de Internet" (IP). Otro avance se produjo en 1983 con la introducción del DNS, que hizo más legible el direccionamiento de los nodos dentro de la red.

En estas redes informáticas de primera generación, el objetivo principal era conectar una red pública de ordenadores entre sí y resolver la cuestión del direccionamiento de los ordenadores y la transmisión de datos. La arquitectura de la red todavía se basaba en la lógica cliente-servidor, y la comunicación segura nunca fue un objetivo principal en los primeros días de Internet, pero algunos investigadores seleccionados estaban intrigados precisamente por esta cuestión. La investigación criptográfica de Ralph Merkle a principios de los años 70 sentó las bases de la comunicación segura en las redes P2P. Su trabajo conceptualizó cómo resolver la "comunicación segura a través de canales inseguros" como una red informática, y sentó las bases de la criptografía moderna de clave pública. En su tesis doctoral, describió además un método para construir funciones hash criptográficas resistentes a las colisiones. También presentó una patente para un tipo especial de tabla hash llamada árbol de Merkle que permitía una verificación más eficiente y segura del contenido de grandes estructuras de datos.

En 1976, Whitfield Diffie y Martin Hellman se basaron en algunas de sus ideas y crearon un mecanismo para intercambiar claves criptográficas de forma segura a través de una red pública. Fue uno de los primeros ejemplos implementados de intercambio de claves públicas, y también introdujo el concepto de firmas digitales. Antes de que se inventaran los métodos de clave pública, las claves criptográficas tenían que transmitirse de forma física, por lo que el intercambio seguro de claves digitales a través de redes públicas fue un trabajo pionero, sin el cual Bitcoin y las tecnologías posteriores no funcionarían. En 1978, Ron Rivest, Adi Shamir y Leonard Adleman encontraron la forma de crear una función criptográfica unidireccional que fuera difícil de invertir. Su algoritmo -conocido ahora como RSA- introdujo la era de la criptografía asimétrica, que luego evolucionó hacia el uso de las curvas elípticas en la criptografía -sugeridas independientemente por Neal Koblitz y Victor S. Miller en 1985, también una tecnología clave en Bitcoin.

En las redes informáticas públicas, la estructura del sistema (topología de la red, latencia de la red y número de ordenadores) no se conoce de antemano. Por lo tanto, la red informática puede estar formada por ordenadores y enlaces de red desconocidos y no fiables. El tamaño y la composición de la red también pueden cambiar en cualquier momento durante la ejecución de un programa distribuido. La capacidad de proporcionar y mantener un nivel de servicio aceptable frente a procesos defectuosos es, por tanto, esencial para la resiliencia de una red. En su día, la atención se centró en la transmisión de datos en una red pública, que ya era un problema difícil de resolver. Ni TCP ni IP resolvían la cuestión de dónde almacenar y cómo gestionar los datos. Por razones económicas, el almacenamiento y la gestión centralizados de los datos se convirtieron en la corriente principal. El problema de las redes cliente-servidor es que los administradores del sistema, o las instituciones que controlan los servidores, tienen el control exclusivo de los datos, lo que hace que esos sistemas sean propensos a la censura, la corrupción y los ataques.

Entretanto, con el auge del ordenador personal y la introducción del conjunto de protocolos de Internet, la red se generalizó. Sin embargo, la usabilidad seguía siendo un problema. Había que navegar por Internet utilizando líneas de comando, es decir, lenguaje informático. Tim Berners-Lee resolvió este problema con su visión de la World Wide Web. Introdujo un estándar para crear sitios web visuales con un lenguaje de marcado relativamente sencillo, y para navegar por la Web con enlaces, que apuntan a otros sitios web con un simple clic. Desde el punto de vista de la publicación, la WWW permitió que todo el mundo contribuyera fácilmente y en igualdad de condiciones a la información disponible en Internet. Sin embargo, los datos seguían almacenándose y gestionándose detrás del jardín amurallado de los servidores.

In 1982, David Chaum introduced the concept of Blind signatures, which guaranteed the privacy of the sender of information. It was conceptualized for use in voting systems and digital cash systems. Chaum introduced the idea of “Ecash” as an anonymous cryptographic electronic money or electronic cash system, which was commercialized through his company “Digicash” and used as a micropayment system at one US bank from 1995 to 1998. The system was dissolved in 1998, possibly because he was ahead of his time, as e-commerce applications were not that widespread yet.

En 1982, David Chaum introdujo el concepto de firma ciega, que garantizaba la privacidad del remitente de la información. Se conceptualizó para su uso en sistemas de votación y sistemas de dinero digital. Chaum introdujo la idea de "Ecash" como sistema de dinero electrónico criptográfico anónimo o efectivo electrónico, que se comercializó a través de su empresa "Digicash" y se utilizó como sistema de micropagos en un banco de EE.UU. de 1995 a 1998. El sistema se disolvió en 1998, posiblemente porque se adelantó a su tiempo, ya que las aplicaciones de comercio electrónico aún no estaban tan extendidas.

En 1991, Stuart Haber y W. Scott Stornetta introdujeron un sistema en el que las marcas de tiempo de los documentos no podían ser manipuladas, introduciendo los primeros trabajos académicos sobre una blockchain con seguridad criptográfica. Su objetivo era certificar cuándo se había creado o modificado un documento "en un mundo en el que todos los documentos de texto, audio, imágenes y vídeo están en formato digital y en soportes fácilmente modificables". En sus propuestas iniciales, utilizaban servicios de sellado de tiempo centralizados. Luego intentaron distribuir la confianza exigiendo a varios usuarios -seleccionados mediante generadores de números pseudoaleatorios- que sellaran el tiempo del hash, en lugar de una institución centralizada. Un año después, en 1992, Bayer, Haber y Stornetta escribieron otro artículo en el que incluían árboles de Merkle en el mecanismo. Esto mejoró la eficiencia del sistema al permitir que se reunieran varios certificados de documentos en un solo bloque.

En 1997, Adam Back introdujo "Hashcash", la primera función Proof-of-Work, para limitar el spam en el correo electrónico y los ataques de denegación de servicio obligando a los ordenadores a invertir con trabajo computacional. La idea original fue propuesta por Cynthia Dwork y Moni Naor en su artículo de 1992, "Pricing via Processing or Combatting Junk Mail".

En 2004, el concepto introducido por Hashcash se utilizó también como mecanismo de minería en "B-money", una propuesta de Wei Dai para un "sistema de dinero electrónico anónimo y distribuido". Se propuso en la "lista de correo cypherpunk", que representaba a un grupo de activistas que abogaban por el uso de criptografía fuerte y tecnologías de mejora de la privacidad en Internet. Muchas de las personas mencionadas que aportaron tecnologías clave que luego se utilizaron en Bitcoin eran "cypherpunks" activos.

En 1998, Nick Szabo diseñó un mecanismo para una moneda digital descentralizada - “BitGold”- en el que implementó muchas de sus ideas anteriores en torno a los contratos inteligentes y añadió un algoritmo de consenso basado en PoW en el que la potencia de cálculo se emplearía para resolver puzzles criptográficos (lea más: Parte 1 - Contratos inteligentes). BitGold nunca se desplegó, posiblemente porque no pudo resolver el problema del doble gasto de una manera totalmente descentralizada y resistente a los ataques sibilinos. Muchos especularon que Szabo era Satoshi Nakamoto, el creador anónimo de Bitcoin, pero es un rumor que él siempre ha negado.

En 1999, "Napster", una aplicación para compartir música, introdujo el concepto de redes P2P que cambió la forma de almacenar y distribuir datos en Internet. Napster creó una red virtual superpuesta para aplicaciones descentralizadas de intercambio de archivos, que era independiente de la red física de Internet, eliminando el "punto único de fallo" de los sistemas de datos centralizados. Sin embargo, Napster dependía del funcionamiento de servidores centrales de indexación, por lo que era susceptible de ser cerrado, tras las reclamaciones por infracción de derechos de autor y una batalla legal.

Una nueva familia de protocolos de intercambio de archivos, encabezada por Gnutella en 2000, eliminó esos puntos centrales de fallo. Permitía a los usuarios encontrarse y conectarse a distancia, buscando en cada nodo de la red, y por tanto era más descentralizado y resistente a la censura. Aunque Gnutella resolvió el problema de la descentralización, no resolvió el de la privacidad. Las redes de intercambio de archivos de tercera generación, como BitTorrent, utilizaban tablas de hash distribuidas para almacenar la ubicación de los recursos en toda la red, de forma criptográficamente segura. Las tablas hash distribuidas no sólo sustituyeron a los servidores de indexación, sino que también garantizaron el anonimato de los actores de la red y de todos los datos que se compartían en ella. Estas tablas de hash distribuidas son utilizadas ahora también por las redes blockchain y otros protocolos de la Web3 como IPFS y Ethereum. Aunque las redes P2P, desde la aparición de Napster, han resuelto el problema de la distribución eficiente de datos dentro de una red, no resolvieron la validación o verificación descentralizada de los datos. Tampoco resolvieron el problema del free-rider, el hecho de que un gran número de usuarios utilizara recursos compartidos por otros usuarios sin aportar ellos mismos archivos. Los usuarios no tenían un incentivo económico a corto plazo para subir archivos y, en cambio, consumían recursos mientras degradaban su propio rendimiento.

En 2004, Hal Finney introdujo un sistema PoW reutilizable (RPoW), un concepto en el que el valor de un token está garantizado por el valor de los recursos del mundo real necesarios para "acuñar" un token PoW. El hecho de que Finney recibiera la primera transacción de Bitcoin de Satoshi Nakamoto en 2009, y que aparentemente viviera en la misma ciudad que una persona llamada "Dorian Satoshi Nakamoto", hizo que se especulara con la posibilidad de que él fuera Satoshi, un rumor que él siempre negó.

Las redes P2P modernas, como Napster, adolecían de un mecanismo de incentivo para las contribuciones a la red, y las primeras ideas de dinero electrónico no eran capaces de defenderse de los ataques sibilinos. El libro blanco de Bitcoin, publicado en 2008 bajo el seudónimo de Satoshi Nakamoto, resolvió estos problemas proponiendo un mecanismo de incentivos resistente a los ataques sibilinos para la validación colectiva de datos. Proof-of-Work resolvió el problema del free-rider de las redes P2P anteriores introduciendo incentivos con fichas para motivar a todos los actores a contribuir al sistema de forma veraz. Bitcoin se propuso tras la crisis financiera de 2008 y el colapso de grandes bancos como Lehman Brothers. El objetivo era proporcionar un sistema de dinero electrónico P2P sin bancos. Mientras que las primeras especificaciones fueron implementadas por Satoshi, un grupo de personas dedicadas se encargó gradualmente de implementar un mayor desarrollo del código, que fue finalizado y desplegado a principios de 2009. Curiosamente, el libro blanco de Bitcoin sólo mencionaba una "blockchain". El término "blockchain" se generalizó años después, cuando la gente empezó a replicar el código base de Bitcoin para desarrollar protocolos similares basados en la blockchain.

Aunque Bitcoin nunca se diseñó pensando en el intercambio de archivos, acabó inspirando una nueva clase de marcos de almacenamiento P2P, un bloque de construcción crucial para la Web3. Estas redes de almacenamiento descentralizadas pueden ahora utilizar el poder de los tokens para aprovechar el legado de los anteriores protocolos de intercambio de archivos, utilizando una blockchain como capa de estado universal. Bitcoin también impulsó una gran cantidad de investigaciones en torno a los mecanismos de consenso resistentes a los ataques sibilinos. La resistencia a los ataques sibilinos, sin embargo, también depende de la resistencia de las suposiciones hechas sobre cómo reaccionarán los actores de la red a los incentivos económicos. La forma en que las personas reaccionan a los incentivos es un campo de estudio de la economía desde hace mucho tiempo. En 2007, Hurwicz, Maskin y Myerson ganaron el Premio Nobel de Economía por su investigación sobre el diseño de mecanismos, un campo de investigación emergente (lea más: Parte 4 - Tokens con propósito).

Referencias del capítulo & lecturas adicionales

Clone this wiki locally