Últimamente la tecnología blockchain (cadena de bloques en castellano) está en boca de todos, no solo por las criptomonedas, sino por las capacidades que ofrece. El término es una representación más bien aproximada, ya que realmente serían algo más bien como archivos que almacenan determinada información.
Índice de contenidos
Es un registro único de todo lo que está sucediendo dentro de una red donde todos los nodos conectados a la misma tienen una copia. Los bloques de una blockchain almacenan información del bloque que les preceden y ceden información al siguiente bloque que se creara.
Dentro de cada bloque se almacena diferente información. El elemento más importante que se almacena en un bloque es una determinada cantidad de transacciones. Adicionalmente un bloque puede albergar otros datos importantes, como el identificador del bloque anterior, una marca de tiempo o el nonce. Es precisamente el bloque y los elementos que almacena combinados con la criptografía es lo que dota de seguridad a la tecnología blockchain.
Cualquier intento de manipular una transacción en un bloque almacenado en la cadena, será estéril. Esto se debe a que todos los elementos del bloque se almacenan matemáticamente en un hash, que cambiara si cambiamos cualquier parámetro del bloque. La red detectara el intento de engaño y lo rechazara. Además, cuanto más antiguo es el bloque, menor es la probabilidad de manipulación, ya que obligaría a alterar los bloques posteriores al que ha sido manipulado.
Os dejamos un ejemplo de como el más mínimo cambio altera el hash de salida:
Texto original | Texto comprimido con SHA256 |
Estoy leyendo Profesional Review | 12861b1456906e905b0506de6206f5a8c42411b235abea2b46ba470d36341eb4 |
Estoy leyendo profesional review | 5fcbbd53c1257c083700ee4d012ec97545e9e61beead619ddeff4ec37682e161 |
Estoy leyendo ProfesionalReview | 79cc02fa392fff995a9e1add051d62b4a5645b45a004064994c7804f01b80bb8 |
Como podemos ver, cambiando las mayúsculas por minúsculas o eliminar un simple espacio genera un hash diferente.
Aunque Bitcoin y el resto de criptomonedas hacen uso de la cadena de bloques, realmente esta tecnología no fue desarrollada por Satoshi Nakamoto. La tecnología blockchain surge en 1991 de la mano de Stuart Haber y W. Scott Stornett. Su primera implementación de esta tecnología buscaba crear una cadena de bloques basada en la criptografía en la que no se podían manipular las marcas de tiempo (timestamp) de los documentos.
Posteriormente, en 1992, mejoraron el sistema introduciendo los Árboles de Merkle, mejorando la eficiencia. Este mecanismo permitía almacenar muchos más documentos en un único bloque.
Adam Back, en 1997, desarrollo HashCash, un sistema monetario alternativo basado precisamente en los preceptos indicados. Wei Dai, en 1998, conceptualizado B-Mony y en 1998, Nick Szabo, quien desarrollo la idea de los smart contract, anunciaba Bit Gold. Tanto B-Money como Bit Gold jamás se llegaron a desarrollar y se quedaron como elementos conceptuales. Indicar que muchos opinan que Bit Gold sirvió como base para crear Bitcoin.
Un hombre entra en una tienda de pintura y solicita al dependiente un bote de amarillo canario de un litro.
El dependiente consulta en el ordenador los tintes de colores que debe usar y las proporciones para convertir un bote de color blanco en un bote de color amarillo canario. Tras esto el dependiente añade los tintes al bote, más una pequeña cantidad de pintura de un bote indeterminado. Cierra el bote y lo introduce en una máquina que lo agita un rato hasta que todo está mezclado y obtenemos el color deseado.
Antes de entregar el bote, el dependiente revisa que el color es correcto y recoge una muestra muy pequeña de la pintura. Este entrega al bote al cliente, le paga y se va a su casa para pintar.
Según nuestro ejemplo, un bloque es prácticamente igual a un bote de pintura. La salvedad es que en nuestro bloque hay información en vez de pintura.
Los tintes introducidos al color blanco para obtener el amarillo canario son sencillamente las transacciones y otros datos que se almacenan un bloque. En nuestro ejemplo obtenemos un color, pero en un bloque lo que obtenemos es un hash, un identificador único basado en toda la información contenida.
¿Te acuerdas del bote indeterminado de pintura que añadimos? Pues esta muestra de pintura es del cliente anterior. Cuando se genera un nuevo bloque, este almacena información del bloque que le precede, para evitar que entre medias se pueda introducir un nuevo bloque. Y la muestra de pintura que coge antes de vender el bote de pintura, es la información para generar el próximo bloque.
Una cosa más, ¿te acuerdas que el cliente le ha pagado al vendedor? Pues bien, cuando se genera un nuevo bloque, al minero que lo ha creado se le paga con nuevas criptomonedas que pasan a estar en circulación y que antes no «existían»
Hay algunos elementos que se deben cumplir para que hablemos de tecnología blockchain, al menos de la construcción desarrollada para las criptomonedas. Estas características son:
Actualmente se habla mucho de blockchains para usos privados, lo cual rompe con muchos de los aspectos descritos en este apartado. Estas blockchains «privadas» requieren permiso para acceder a usarlas, el código no es accesible, no son redes distribuidas, no existe capacidad de trazar todos los movimientos y tampoco son públicos, no son resistentes a la censura y carecen de privacidad, ya que para acceder a estas redes centralizadas y opacas debemos identificarnos.
Más o menos podemos tener claro que es una cadena de bloques, pero para entenderla bien debemos saber que se almacena en un bloque. Es precisamente la información almacenada en un bloque el elemento clave, y esta es:
Es posiblemente que esto no te suene de absolutamente nada, pero es muy importante. El Problema de los Generales Bizantinos fue postulado en la década de 1980 y describe un dilema entre participantes aislados los cuales se deben coordinar para realizar unas acciones.
Se describe un grupo de generales con sus tropas que están rodeando una gran ciudad. Estos generales deben decidir si atacan o no, y solo lo pueden hacer comunicándose mediante mensajeros.
Los generales pueden optar por apoyar un ataque o por retirarse. No importa en absoluto la decisión que tome cada uno, siempre y cuando el resto de los generales tomen la misma decisión. Además, si deciden lanzar un ataque, este solo tendrá éxito si todos atacan al unísono.
El problema reside en dos circunstancias claves. La primera, que el mensajero sea interceptado con el mensaje, en el cual se indica que «atacaremos al anochecer» de ese mismo día. Dicho mensaje puede ser reemplazado por otro que indique que «atacaremos mañana al alba». La segunda circunstancia es que uno de los generales sea un traidor (como en Among Us) y engañe al resto de miembros para que sean derrotados.
Se requiere desarrollar un mecanismo de consenso, aún con la existencia de un miembro malicioso o el mensaje sea interceptado. Mantener la integridad de una base de datos, responde al mismo principio. Pero en la tecnología blockchain no hay un tercero confiable que se encargue de validar la información, ya que los usuarios se comunican entre sí.
Dentro de la tecnología blockchain existen una serie de reglas firmes aceptadas por todos, denominado consenso. Además, todos los miembros de la red tienen una copia de toda la información. Se consigue con esto una resistencia a usuarios maliciosos que puedan corromper la red. Precisamente este conjunto de elementos permite conseguir una Tolerancia a Fallas Bizantinas.
Una cadena de bloques podemos definirla de manera básica como una serie de documentos que almacenan información y que están «unidos«. Podríamos incluso identificarlo como un libro enorme al que se le van añadiendo páginas y páginas. Todas las páginas están numeradas, contienen una serie de datos que hemos comentado y de la que todos los miembros de la red tienen una copia.
Te explicamos qué son y cuáles son las características de las criptomonedas
Esta tecnología lo que nos aporta es seguridad y elimina la necesidad de tener a terceros confiables que controlen la red. Cualquier intento de manipulación será fácilmente detectado por los miembros de la red y será inmediatamente rechazada. Además, el atacante malicioso será expulsado de la red por parte de los miembros confiables.
NVIDIA no solo da razones teóricas, sino fundamentos en forma de ofertas de todo GeForce…
Hace algunos meses salió una información que indicaba que las aceleradoras de IA Nvidia Blackwell…
Intel revela sus próximas aceleradoras Jaguar Shores, que van a llegar después del lanzamiento de…