Cómo funciona la tecnología blockchain
Así como en el último artículo intentamos explicar de forma fàcil que es la tecnología blockchain en cuanto a concepto, en este queremos explicar su funcionamiento y por qué se llama así. Blockchain significa cadena de bloques, y es que la combinación de estos dos conceptos es lo que hace que esta tecnología sea tan única.
Para poder entender cómo funciona, debemos saber que en realidad no se trata de una única tecnología, sino que es el resultado de combinar distintas tecnologías ya existentes de manera que crean una nueva, de características únicas hasta la fecha.
Una blockchain es una red descentralizada que le permite a sus usuarios realizar transacciones entre ellos de forma directa y donde comparten un único registro de dichas transacciones, común para todos ellos. A cada uno de estos usuarios, los cuales en realidad son ordenadores, se les llama nodos. Este registro, que actúa como base de datos, se actualiza después de que cualquier usuario de la red haga una transacción, y es compartido por todos sus integrantes. Gracias a los distintos componentes que hacen posible la existencia de la tecnología blockchain, conseguimos que este registro, o base de datos, adquiera unas propiedades muy especiales, ya que es inmutable, transparente y segura.
Qué es un bloque
Lo primero que debemos saber para entender de manera fácil el funcionamiento de una blockchain es qué es un bloque. Un bloque es el elemento que almacenará los datos de todas las transacciones que se lleven a cabo entre los usuarios de una red blockchain. Para hacerlo aún más fácil, imagina un bloque como una hoja de papel de 25 líneas en la que, cuando alguien haga una transacción con una o más personas, se anotarán los datos de dicha transacción. Ejemplo, David le da 2 criptomonedas a Lucía. En esta hoja se almacenarán los datos de hasta 25 transacciones y cuando ya esté completa tendrá que ser validada por todos los integrantes de la red a través de consenso de grupo. Ten en cuenta que la hoja de papel es solo un símil, pues un bloque en la realidad no funciona por líneas sino por el tamaño de los datos almacenados. Cuantas más transacciones haya en una blockchain más bloques se crearán y el proceso de creación de un bloque se llama minado.
Cadena de bloques
La palabra “chain”, proviene de la manera en que los bloques que se van creando están relacionados entre ellos y es el elemento que le proporciona la característica de inmutabilidad a una blockchain. El primer bloque que se crea es el “genesis block”, y a partir de aquí se van creando bloques. Imaginemos una blockchain recién creada en la que solo se ha creado el primer bloque, el genesis. Cada bloque dispone de un elemento llamado hash que depende de los datos de las transacciones almacenados en dicho bloque, de manera que si algún hacker quisiera modificar alguno de los datos almacenados en el bloque, sería fácilmente identificable ya que el hash cambiaría. Pero aún hay más, y es que este hash del bloque creado se incrustra en la cabecera del siguiente bloque. El siguiente bloque coje este hash del bloque anterior, lo mezcla con el contenido del bloque actual mediante técnicas de criptografía y crea un hash de salida del bloque actual. Este hash de salida se incrustra en la cabecera del siguiente bloque y así sucesivamente de manera que se forma una cadena de bloques en la que cada bloque tiene una pequeña identidad de los bloques anteriores. Si alguien intenta modificar un bloque, la cadena se rompe al completo y es fácilmente identificable. Gracias a este sistema, una blockchain está hecha a prueba de alteraciones.
Consenso de grupo
En una blockchain, al tratarse de una red descentralizada en la que no hay una autoridad central que haga de intermediario o validador como pueda serlo un banco central, es necesario un mecanismo para que todos los usuarios lleguen a un acuerdo en cuanto a si las transacciones que se realizan en ella son verídicas o no. Este mecanismo se llama consenso de grupo.
Cuando dos o más componentes de una blockchain realizan una transacción, los datos de dicha transacción se comparten con todos los usuarios de la red y cada usuario los guarda. Los datos incluyen quién ha sido el emisor, quién ha sido el receptor y que se ha intercambiado. Cuando se han realizado suficientes transacciones como para llenar un bloque, es el momento de validarlo, con lo que uno de los usuarios de la red que haya decidido actuar como validador (no todos tienen porque serlo) valida el bloque cojiendo los datos que ha recibido de las transacciones y creando el hash de salida, como hemos mencionado en el apartado anterior. Cuando este usuario crea dicho hash, el resto de usuarios de la blockchain comparan si el hash de salida coincide con los datos que ellos han ido recibiendo de las transacciones y si al menos el 51% de los usuarios coinciden, el bloque queda validado y se añade a la cadena previamente existente. Me gustaría recordar que todos estos procesos en realidad los llevan a cabo ordenadores, llamados nodos.
Qué es un wallet
Aunque ya hemos explicado los elementos principales que definen una blockchain y su funcionamiento, falta un elemento clave que cualquier blockchain debe tener, qué es el wallet, o cartera. Un wallet es un software que permite la comunicación entre el usuario y la blockchain y està identificado con una dirección, la cual también puede ser representada por un código QR. El wallet se utiliza para enviar y recibir transacciones en una red blockchain.
Si Lucía quiere realizar una transacción con David, primero avisa a todo el mundo con una peculiaridad: nadie sabe que Lucía es Lucía ni que David es David, solo saben que desde un wallet (que vendría a ser lo equivalente a una cuenta bancaria) se quiere realizar una transacción de algún activo digital a otro, como sería el caso del envío de una criptomoneda.
La dirección de cada wallet viene acompañada de un par de llaves: la llave pública (public key) y la llave privada (private key). Estás llaves son las que permiten que la transacción se lleve a cabo de forma segura entre dos usuarios de la red blockchain y que no sea interceptada por nadie.