Blockchain es una tecnología de bases de datos distribuida, no centralizada, que almacena datos inmutables y con registro de tiempo. Aunque sus aplicaciones prácticas se están desarrollando en este siglo 21, su historia se remonta a unas décadas atrás. No cabe duda que la aplicación más conocida es la de criptomoneda. No obstante, su naturaleza de inmutabilidad, descentralización y transparencia, están haciendo que se esté implementando esta tecnología en una gran variedad de formas: finanzas, contratos, NFT, trazabilidad, etc. Veamos la historia de blockchain.
La tecnología blockchain (cadena de bloques) es una de las piezas claves del funcionamiento de las criptomonedas. Gracias a ella se pueden registrar las transacciones de monedas entre sus usuarios. Este registro se realiza, además, con total transparencia y sin que haya un organismo centralizado que lo controle. La criptomoneda Bitcoin fue la primera gran aplicación práctica de la tecnología blockchain.
Más allá de las sorpresas especulativas que están teniendo las criptomonedas, su tecnología blockchain está funcionando bastante bien. Esto hizo que se pensase en utilizar la tecnología blockchain para otras muchas aplicaciones y en una gran variedad de campos: seguros, cadenas de suministro, atención médica, votaciones, transporte y mucho más.
Si desea conocer más sobre la tecnología blockchain y sus aplicaciones, le recomendamos el artículo: Qué es blockchain y para qué sirve.
1961. Su base tecnológica, la criptografía
La criptografía es la columna vertebral en la que descansa la tecnología blockchain. La criptografía se encarga de codificar datos que solo podrán ser decodificados por quien posea la clave correspondiente. Aunque se trata de una ciencia antigua, llena de anécdotas e historias interesantes, en el mundo de blockchain intervienen fundamentalmente dos tipos de técnicas criptográficas:
- Cifrado asimétrico o cifrado de clave pública. Esta forma de encriptación utiliza un par de claves: una clave pública con la que se cifran los datos y una clave privada con la que se descifra. Ambas claves están inequívocamente relacionadas. Cualquiera puede utilizar la clave pública para cifrar, pero solo el poseedor de la clave privada podrá descifrarlo. La criptografía de clave pública fue desarrollada por Diffie y Hellman en 1976. Los sistemas de confidencialidad, autenticación y firma digital que utilizamos hoy se basan en sistemas de cifrado de clave pública.
- Función hash. Se trata de un algoritmo que genera un código de longitud fija a partir de una cadena de datos. Si se modificase mínimamente cualquier bit de la cadena, el código hash resultante sería distinto. Por tanto, el código hash garantiza la integridad de los datos asociados. Este detalle es fundamental en la tecnología de blockchain, donde es ampliamente utilizada. La primera función hash fue desarrollada por Wesley Peterson en 1961.
El cifrado asimétrico se utiliza ampliamente para garantizar la seguridad de las comunicaciones entre dos nodos. Por su parte, el cifrado hash es clave para garantizar la integridad de las informaciones almacenadas o transmitidas. Gracias al uso de la función hash, se puede estar seguro de que la información no ha sido modificada malintencionadamente.
El desarrollo de la tecnología blockchain no habría sido posible sin estas dos técnicas de cifrado desarrolladas en la década de los 1960 y 1970.
1991. Por qué se creó blockchain
Como suele ser habitual en el desarrollo tecnológico, en el caso de blockchain tampoco es fácil determinar dónde está el momento exacto origen de esta tecnología. Según parece, la primera vez que se propuso un protocolo similar a la cadena de bloques lo hizo el criptógrafo David Chaum en 1982 en un trabajo titulado «Computer Systems Established, Maintained, and Trusted by Mutually Suspicious Groups» (Sistemas informáticos de confianza, establecidos y mantenidos por grupos independientes).
No obstante, la aportación más significativa parece que viene de Haber y Stornetta. Stuart Haber estudió matemáticas en la universidad de Harvard y posteriormente se doctoró en la universidad de Columbia con un trabajo sobre criptografía (Provably Secure Multi-party Cryptographic Computation: Techniques and Applications). En 1987 empezó a trabajar como investigador en Bell Communications Research (Bellcore) como científico investigador. El que se convertiría en su socio y colaborador, el físico W. Scott Stornetta, se unió a Bellcore en 1989.
En esa época ya se habían desarrollado distintos sistemas criptográficos, incluidos los de clave pública y la función hash. Esto quiere decir que se sabía cómo garantizar la integridad de un documento, así como su autenticidad y confidencialidad. Esto es, se podía certificar que el documento era original y no se había modificado. Lo que no había, era un sistema que certificase la fecha en la que se había generado dicho documento.
Haber y Stornetta buscaron una solución a este problema. Según ellos mismos explicaron, el poder certificar cuándo se creó un documento o cuándo se modificó por última vez es fundamental para resolver cuestiones como los derechos de propiedad intelectual.
Después de un tiempo de búsqueda de alternativas, finalmente publicaron en 1991 el resultado de su investigación en un documento titulado: “Cómo poner un sello de tiempo a un documento digital”. Proponían una solución práctica para que, una vez firmado un documento digital en una determinada fecha, no se pudiera manipular el documento ni falsear la fecha de la firma original. La solución utilizaba una cadena de bloques que almacenaba los documentos con su sello de fecha.
1991. La tecnología blockchain
En el trabajo de Haber y Stornetta se describía cómo utilizando funciones hash y firmas digitales se puede conseguir incluir una marca de tiempo inmutable en un documento. Para ello, los documentos se encadenan y almacenan uno detrás de otros formando una secuencia de tiempo inmutable. En 1992 le incorporaron árboles hash de Merkle al diseño. Esta aportación permitía que varios documentos separados pudieran ser ligados a una única función hash. Esto hizo que el sistema fuera más eficiente.
La tecnología blockchain es una base de datos. Los datos o documentos se almacenan en grupos conocidos como bloques. Los bloques tienen una cierta capacidad de almacenamiento. Cuando se llena un bloque, se cierra y se vincula con el bloque anterior (el bloque que se había llenado previamente). Una vez cerrado y almacenado, ya no se puede modificar (solo se puede leer su contenido). Por tanto, la base de datos es realmente una cadena de bloques sellados. De ahí el nombre, blockchain.
Es importante remarcar que los documentos guardados en blockchain son inmutables. No pueden modificarse. La tecnología blockchain certifica simplemente que determinado documento fue guardado en determinada fecha. Sin más.
La tecnología blockchain certifica simplemente que determinado contenido fue guardado en determinada fecha. Sin más.
Haber y Stornetta fundaron en 1994 la empresa Surety Technologies. En 1995 pusieron en marcha el primer servicio comercial de sellado de tiempo. A pesar de ello, el uso de esta tecnología no fue muy significativo y la patente expiró en 2004.
1998. Las primeras propuestas de uso de blockchain
En 1997 la Agencia de Seguridad Nacional de Estados Unidos publicó un trabajo de investigación (How to Make a Mint: the Cryptography of Anonymous Electronic Cash) en el que se describía cómo crear una criptomoneda. Posteriormente, en 1998, el ingeniero informático Wei Dai publicó un trabajo sobre la arquitectura de una moneda virtual a la que llamó B-money. En este documento se trata de la descentralización del sistema y de la protección del anonimato. B-money nunca se hizo realidad.
Por otro lado, también en 1998, el científico informático Nick Szabo publicó un documento técnico en el que proponía la creación de un sistema monetario descentralizado al que llamó Bit Gold. La solución de Haber y Stornetta se limitaba simplemente a incluir una marca de tiempo en un documento digital. Para crear una criptomoneda, además, hay que resolver el problema del doble gasto.
Se conoce como doble gasto el hecho de que una persona pueda pagar más de una vez con una misma unidad monetaria. Szabo proponía impedir el doble gasto utilizando el sistema de prueba de trabajo utilizado en hashcash. Esta solución había sido creada por el británico Adam Back en mayo de 1997 como un mecanismo para impedir el abuso sistemático de los recursos de Internet (como por ejemplo, el spam del correo electrónico o los ataques de negación de servicio).
Al igual que las criptomonedas que vinieron posteriormente, Bit Gold utilizaba la cadena de bloque para registrar las transacciones.
La particularidad de Bit Gold es que el valor de sus monedas se basaba en el coste de los recursos informáticos utilizados (coste de cómputo). Para calcular este coste utilizaba una ecuación matemática compleja. Todos los bits, todas las monedas, se almacenaban en la cadena de bloque junto con su valor de coste calculado.
A pesar de que Szabo desarrolló completamente la solución de su moneda Bit Gold, finalmente no se implementó. Su propuesta de relacionar el valor de cada moneda con el coste de cómputo haría que unas mismas monedas tuviesen distinto valor dependiendo del coste de cómputo asignado. Esta incongruencia hizo que Szabo no se decidiera finalmente a implementarlo.
Cuando años más tarde surgió Bitcoin, no se tuvo en cuenta el coste de cómputo, sino solamente el precio de mercado.
2008. Bitcoin, la primera gran aplicación de blockchain
En la evolución del desarrollo teórico de las criptomonedas hay que añadir que al alemán Stefan Konst hizo una nueva aportación en el año 2000 con su artículo de investigación titulado «Archivos de registro seguros basados en entradas concatenadas criptográficamente«. Presentaba un modelo transparente en el que cada registro que entraba en la cadena podía ser consultado en cualquier momento. Este modelo lo han seguido tanto bitcoin, como otras criptomonedas.
Al terminar la primera década de este siglo hubo una gran crisis económica provocada en buena medida por la crisis financiera destapada en agosto de 2007 (hipotecas subprime). Esto empeoró la desconfianza que ya se tenía en los sistemas financieros establecidos. El hecho es que se creó el ambiente propicio para poner en práctica cualquier solución que permitiera democratizar el sistema financiero. La tecnología blockchain lo permitía.
A finales de 2008, una persona o grupo de personas publicaron un documento que describía un sistema electrónico de pago descentralizado entre pares (Bitcoin: A Peer-to-Peer Electronic Cash System) al que llamaron bitcoin. El documento se publicó con el seudónimo de Satoshi Nakamoto y todavía no se conoce quién hay detrás de este nombre.
En la práctica, bitcoin era una moneda virtual que no estaba controlada, ni por ningún banco central de ningún gobierno, ni por ninguna institución financiera. Una moneda que escapa a cualquier control centralizado.
El sistema bitcoin supone la emisión de un número determinado de monedas virtuales claramente identificables. Cada vez que se traspasa la propiedad de una de estas monedas, esta operación queda registrada en un registro público basado en blockchain. Este registro puede ser consultado abiertamente. Las bases de datos de blockchain no están en manos de ninguna empresa o institución concreta, sino que existen multitud de copias distribuidas en ordenadores que voluntariamente desean participar en el sistema (y por el que reciben una gratificación). Todo este sistema está controlado por un algoritmo que impide el registro de transacciones fraudulentas.
Para resolver el problema del doble gasto y desanimar a los potenciales estafadores a que estén ocupando la potencia del sistema en repetidos intentos de fraude, se puso en marcha un mecanismo de consenso. El mecanismo de consenso es una prueba que tiene un cierto coste en tiempo o en dinero. Bitcoin utiliza como mecanismo de consenso un modelo mejorado basado en la prueba de trabajo de hashcash. Los mineros (ordenadores) que validan y registran cada transacción reciben una pequeña compensación por resolver un algoritmo matemático complejo (prueba de trabajo).
De esta forma, bitcoin se convirtió en la primera aplicación de la tecnología blockchain que era ampliamente utilizada.
2015. Contratos inteligentes, un paso más allá
Parece que el uso de la tecnología blockchain es ideal para las criptomonedas. De hecho, desde la creación de bitcoin han aparecido muchas nuevas en el mercado: Ethereum, Tether, Polkadot, Cardano, etcétera. No obstante, la historia de blockchain no se quedó en las criptomonedas, sino que se ha visto esta tecnología es apropiada para muchas otras aplicaciones. Eso es lo que pensó Vitalik Buterin, uno de los primeros desarrolladores del código base de bitcoin.
Vitalik Buterin planteó que las capacidades de la tecnología blockchain podía ir mucho más allá de dar soporte a una criptomoneda. Para demostrarlo, en 2013 comenzó a desarrollar una nueva plataforma basada en blockchain que pudiera albergar el registro de contratos inteligentes. Su plataforma Ethereum se lanzó oficialmente en 2015.
Para Ethereum, un contrato inteligente es cualquier acción que pueda ser programada en la plataforma y que básicamente consiste en enviar y recibir transacciones, así como guardar los balances de las mismas. Los contratos inteligentes son programas que se implementan y ejecutan en la cadena de bloques Ethereum. Existe un lenguaje de programación específico para ello y cualquiera puede utilizarlo. Existen cientos de programas, conocidos como DApps, ejecutándose en Ethereum.
Bajo este modelo de contratos inteligentes se han creado juegos de apuestas o de intercambio financiero. Como no, Ethereum ha creado también una criptomoneda llamada Ether (ETH). El resultado es que Ethereum se ha convertido en una de las aplicaciones más grandes de la tecnología blockchain.
Por cierto, Ehtereum resuelve el consenso de una forma distinta a bitcoin. Mientras que en bitcoin son multitud los participantes (ordenadores mineros) que están continuamente haciendo cálculos para que al final solo uno se lleve una pequeña recompensa al validad el bloque (prueba de trabajo). En el caso de Ethereum, en vez de una prueba de trabajo (conocida como PoW) se utiliza una prueba de participación (conocida como PoS). En este caso, quien valida cada bloque se selecciona al azar bajo ciertas condiciones.
2020. Despegue de la tecnología blockchain
El disponer de un registro inmutable y descentralizado de datos está despertando la imaginación de las empresas y profesionales para hacer uso de la tecnología de blockchain en una mayor diversidad de aplicaciones. De hecho, la tecnología blockchain puede ser utilizada también para crear registros privados (sin acceso público) que son gestionados por empresas u organismos oficiales. En definitiva, cada vez son más los negocios que ven todo su potencial y lo quieren integrar en su actividad en una gran variedad de formas.
Para hacernos una idea de las posibilidades y de la evolución que puede llegar a tener esta tecnología, describimos algunas de las aplicaciones:
- NFT (Non-Fungible Token o tokens no fungibles). Un token es un título de propiedad. En este entorno, no fungible significa que el artículo (token) es único o distinguible. Una moneda de euro es fungible porque es exactamente igual que otra moneda, es indistinguible. Mediante NFT se identifican virtualmente artículos del mundo real (físicos o digitales), como obras de arte, y permite comercializarlas. Los NFT son activos criptográficos con códigos de identificación únicos e irremplazable (no se pueden replicar). Existen mercados onlines de activos NFT como OpenSea, Rarible o SuperRare.
- Contratos inteligentes. Se trata de contratos autoejecutables donde se escriben directamente en líneas de código los términos del acuerdo entre las partes. El propio código controla la ejecución del acuerdo, así como las transacciones, que son rastreables e irreversibles. Los contratos inteligentes permiten que partes dispares y anónimas puedan realizar acuerdos con confianza, sin la necesidad de una autoridad central, un sistema legal o un mecanismo de aplicación externo.
- Voto electrónico. En la solución blockchain de voto electrónico, cada ciudadano recibe un voto (token) que se lo puede traspasar al candidato de su elección. La naturaleza de la inmutabilidad de blockchain significa que la votación fraudulenta sería mucho más difícil de realizar. Al ser rastreable la transferencia de votos, se eliminaría la necesidad del conteo humano.
- Trazabilidad de los alimentos. El uso de blockchain ofrece la posibilidad de rastrear la ruta seguida por un producto alimenticio desde su origen. Se puede registrar cada paso, cada transformación, hasta que finalmente se le entrega al consumidor. Si se descubre que un alimento está contaminado, se puede rastrear todo el camino hasta su origen. Esto permite detectar rápidamente el problema y, potencialmente, salvar vidas. Por ejemplo, IBM ha creado una solución de este tipo a la que llama Food Trust.
Todo apunta a que la tecnología blockchain se encuentra en un periodo de expansión. Las previsiones de los analistas son muy optimistas. El poder registrar información de forma descentralizada, inmutable y transparente da paso a un mundo de posibilidades.
Más información
Aquí se ha relatado de forma resumida la historia de blockchain. Sin duda, se trata de una tecnología apasionante que dará mucho que hablar en el futuro. Si se tiene interés en profundizar en este tema, este blog dispone de muchos otros contenidos relacionados. Por favor, utilice el buscador de contenidos que tenemos en la cabecera del blog.
Por otro lado, estos son algunos otros artículos que pueden ser de interés: