Qué es blockchain: tecnología de cadena de bloques
Estos últimos meses, el sector de las criptomonedas, NFTs y metaversos ha estado en auge. Hemos oído noticias tanto en la televisión como por las redes sociales.
Parece que estas nuevas tecnologías han llegado para quedarse y que será el futuro de las divisas, del arte o de las interacciones sociales.
¿Qué tienen en común todos estos conceptos? Todas estas tecnologías están basadas en un término muy particular: el blockchain o la cadena de bloques.
En este artículo daremos una introducción extendida a qué es el blockchain, cómo funciona y que proyectos y aplicaciones usan dicha tecnología.
Cómo crear una criptomoneda
Todos hemos oído hablar de las criptomonedas. ¿Pero cómo se crean? Entra y descubre como tu también puedes crear una criptomoneda de forma fácil.
Ver artículo¡Quédate y aprende una vez por todas que demonios es esto de las cadenas de bloques!
Cómo funciona la tecnología blockchain
El blockchain se basa en dos principios muy básicos: la descentralización y el consenso . El objetivo de esta metodología es conseguir un método seguro, distribuido y eficaz de almacenamiento de datos de forma que nadie pueda manipularlos.
Veámoslo con más detalle.
Los sistemas descentralizados
Un punto muy importante de esta tecnología es la descentralización. Hoy en día, la mayoría de información está guardada en servidores de grandes instituciones privadas.
Por ejemplo, todo nuestro dinero lo tenemos en bancos, que no dejan de ser un sistema centralizado controlado por una única compañía multimillonaria.
Otros posts que te gustarán
Gracias al blockchain conseguimos democratizar toda esta información . Los datos ya no dependen de una compañía central si no que están distribuidos dentro de una red y son controlados por los propios participantes de la red. Estos participantes reciben el nombre de nodos de la red.
Pongamos un ejemplo. Todos conocemos el bitcoin. El bitcoin es una criptodivisa que se basa en la tecnología de cadena de bloques. En este caso son los propios nodos de la red, es decir, tu, yo y el resto de gente como nosotros que tiene su dinero en bitcoin.
De esta forma, no estamos controlados por grandes compañías financieras, si no que es la propia red de bitcoin que se autorregula gracias a sus participantes.
¿Te das cuenta de las ventajas que esto conlleva? Ya no son los bancos que deciden sobre nuestras finanzas.
Redes Peer-to-Peer (P2P)
Los sistemas descentralizados hacen uso de lo que se conoce como Peer-to-Peer (P2P) . Esto no es nuevo. ¿Te acuerdas cuando usábamos el Emule para descárganos películas o música?
Estos archivos no se encontraban en un servidor central, sino que eran los propios usuarios de Emule que tenían los distintos archivos y nosotros nos bajábamos esas películas que tenían otros usuarios.
La tecnología blockchain funciona igual. Continuamos con el ejemplo de bitcoin (más adelante veremos muchas más aplicaciones).
Un sistema de divisas básicamente funciona registrando todas las transacciones que ocurren con dicha moneda. El bitcoin funciona igual. Todos los nodos participantes están escuchando las transacciones que se llevan a cabo y registrándolas.
Al ser una red P2P, si alguno de los nodos falla el sistema continúa funcionando ya que existen muchos otros trabajando.
Todas las transacciones quedan actualizadas por los propios nodos. Pero existe un problema. ¿Cómo ordenamos dichas operaciones?
Cada nodo tiene un propio tiempo interno del ordenador. Entonces no podemos saber que transacción ha ocurrido antes. Podríamos intentar sincronizar todos los ordenadores, pero seria un problema muy complejo.
¿Qué es un bloque?
La solución de la blockchain consiste en crear lo que conocemos como bloques. Es decir, agrupamos las transacciones que han ocurrido en una ventana determinada de tiempo en un bloque de información.
Por lo tanto, el trabajo de los distintos nodos de la red seria escuchar las transacciones que ocurren y agruparlas en bloques . Además, también tienen que validar dicha operación verificando que pueda suceder.
Ahora solo quedaría decidir que bloque damos como válido ya que todos los participantes de la red de bitcoin están escuchando y creando bloques para las mismas transacciones.
Podríamos usar algún sistema de votación para elegir el bloque definitivo. No obstante, esto podría suponer un problema de seguridad.
Un mismo ordenador podría participar a la votación varias veces haciéndose pasar por distintos nodos usando IPs virtuales. Esto se conoce como Sybil Attack . ¿Cómo solucionamos esto problema de seguridad?
Prueba de trabajo ( Proof of Work )
La solución que se encontró es hacer pagar un coste computacional por añadir un bloque de información a la red.
Si un ordenador se hace pasar por varios ordenadores entonces tendrá que realizar un coste computacional mucho mayor y, por lo tanto, los otros nodos lo realizarán más rápidamente.
Esto se conoce como prueba de trabajo o en inglés, proof of work (POW).
La prueba de trabajo de este tipo de redes consiste en encontrar un número aleatorio que cumple con unas ciertas reglas. Entremos más a fondo en este concepto.
Antes de poder explicar como funciona el POW es importante explicar algunos conceptos previos sobre criptografía.
En criptografía hablamos de una función hash a una operación matemática que convierte cualquier tipo de información en una única cadena de valores.
Por ejemplo, si nosotros cogemos un texto, este texto tiene asociado una cadena de números y letras cuando lo pasamos por el hash . Solo que cambiemos una coma, esta cadena de valores ya es otra completamente diferente.
Estas operaciones matemáticas son muy usadas en criptografía moderna. La tecnología de cadena de bloques hace uso de una de estas funciones de encriptación: la función SHA-256 .
¿Qué tiene que ver estas operaciones con la prueba de trabajo?
El coste computacional que hemos mencionado utiliza este concepto de criptografía para evitar los sybil attacks .
Una vez un nodo tiene un bloque, para añadirlo a la red principal tiene que resolver el siguiente problema criptográfico:
El nuevo bloque de información es transformado en una cadena de valores llamado hash a través de la función SHA-256 que acabamos de explicar.
Además de la información propia del bloque (en el caso de bitcoin las distintas transacciones que han ocurrido en un marco de tiempo determinado), también se le añade un número aleatorio único llamado nonce .
El problema criptográfico consiste en encontrar el nonce que junto a la información de bloque generen un hash que empiece con un número determinado de ceros.
Encontrar este número o nonce que hace que el hash empiece por muchos ceros es un problema realmente complicado de resolver.
La minería de bloques de la cadena
Encontrar el nonce y agregar el bloque a la cadena principal es lo que se conoce como minar un bloque.
¿Pero porqué los distintos nodos gastarían su poder computacional para minar dichos bloques de información?
Obviamente para que la red funciona tiene que existir algún incentivo para que los participantes quieran hacer este esfuerzo computacional.
Cuando alguno de los nodos consigue resolver el puzzle criptográfico y agregar a la cadena principal el bloque minado, entonces este participante es recompensado a través de una transacción asignada a él que le da una cantidad de la criptomoneda, en este caso, de bitcoin.
Esto ha provocado que se generaran lo que se conoce como granjas de minado. Sitios con una enorme cantidad de procesadores funcionando las 24 horas para poder minar y por lo tanto ganar dinero añadiendo bloques en las redes de criptodivisas.
Ha habido mucho debate de si este sistema de minado es perjudicial para el medio ambiente. Existen otras alternativas al proof of work que se están empezando a aplicar.
Una de ellas es el proof of stake (POS) que en la siguiente versión de Ethereum se empleará como sustitución al POW. Esto provocará que ya no se pueda minar dicha criptodivisa.
En otro artículo hablaremos con más profundidad sobre estas nuevas metodologías más eco-friendly que la prueba de trabajo.
La cadena de bloques o blockchain
Ya hemos visto que son las redes descentralizadas y como funciona el minado dentro de la tecnología blockchain.
Nos queda resolver una última cuestión. ¿Cómo conseguimos que estos bloques sean inmutables y que no puedan ser alterados?
Resulta que además del nonce y de los datos del bloque también se incorpora el hash del bloque anterior. Esto hace que cada bloque esté relacionado con su anterior y su próximo bloque creando la famosa cadena de bloques o blockchain.
Si alguien es capaz de alterar alguno de los bloques de la cadena entonces su hash cambiará y ya no coincidirá con el hash incorporado en el siguiente bloque, alterando toda la cadena y rompiendo las relaciones entre bloques ya que los hashes ya no coincidirán.
Necesitarías tener acceso al 51% de todos los nodos de la red para poder romper la seguridad y modificar los bloques a tu antojo. Hecho imposible en la mayoría de blockchains por la enorme cantidad de nodos que incorporan dichas redes.
Aplicaciones de la tecnología de cadena de bloques
Para explicar y que puedas entender como funciona una blockchain hemos usado un ejemplo muy conocido como es el bitcoin. No obstante, esta tecnología es aplicable una infinidad de sectores distintos. Veamos algunos ejemplos.
Criptomonedas
El primer ejemplo, como no podía ser de otra manera, son las criptodivisas. Hemos visto como funciona bitcoin pero existen muchas más divisas digitales descentralizadas que utilizan su propia cadena de bloques como puede ser Ethereum, BNC o Polkadot.
Tokens no fungibles (NFT)
En los últimos meses los tokens no fungibles o NFTs han ganado mucha popularidad.
Los tokens no fungibles se relacionan con activos digitales como puede ser arte digital que gracias a la blockchain pueden representar algo único garantizando su autenticidad.
El propietario de ese activo digital es único y puede ser verificado ya que dicha información se encuentra en la blockchain (en el caso de NFTs normalmente en Ethereum).
Esto permite realizar compras y ventas como si se tratara de arte físico como cuadros o esculturas.
Contratos inteligentes
Los contratos inteligentes o smart contracts , son contratos entre dos personas físicas que no se pueden romper ya que se encuentran en forma de código dentro de la cadena de bloques.
Por ejemplo, imagina que diseñamos un NFT y queremos crear un contrato inteligente que diga que cada vez que se venda nuestro NFT nos llevemos una comisión de un 5%.
Este contrato queda guardado eternamente dentro de la cadena de bloques. Es inmutable y nadie podrá alterarlo por lo que siempre que se venda el NFT que nosotros creamos, nos llevaremos dicha comisión.
Finanzas descentralizadas o DeFis
Las finanzas descentralizadas buscan sustituir las finanzas tradicionales por un sistema mucho más transparente y descentralizado.
Estas hacen uso de lo visto anteriormente, los contratos inteligentes, para poder dar prestamos. Las condiciones de dicho contrato serán inmutables y públicos gracias a que estará en una blockchain.
Las DeFis permiten que las herramientas financieras ya no estén controladas por los bancos, identidades privadas multimillonarias, sino que sean gestionadas por la red de nodos en la cual podemos participar todos nosotros.
Organizaciones autónomas descentralizadas (DAOs)
Las DAOs son organizaciones que están controlados por completo por contratos inteligentes alojados a una cadena de bloques. Esto permite la creación de organizaciones mucho más transparentes, autogestionadas y eficientes.
Toda la información de dicha organización se encontraría publica y todo el mundo podría acceder a ella. Además, los contratos entre organizaciones también estarían descentralizadas e inmutables.