
¿Quién no ha oído hablar sobre blockchain? Se trata de un término muy popular hoy en día, aunque en muchos casos no se termina de entender bién qué es y cómo funciona la red Blockchain, y esto impide comprender qué problemas puede resolver y cómo podemos usarla.
Como en Visualeo somos unos enamorados del Blockchain vamos a intentar explicarlo de la forma más sencilla y práctica posible.
En primer lugar, vamos al significado del término Blockchain: Block es Bloque, y chain es cadena. Así que en esencia Blockchain es una cadena de bloques. Pero… ¿bloques de qué? Pues bloques de información digital, es decir, información que se transmite por dispositivos digitales: de ordenador a ordenador (o de servidor a servidor), a través de Internet.
- Tal y como fue diseñado en 1991 por sus desarrolladores, tenía la intención de registrar fechas en documentos de texto digitales, y que fuera imposible modificarlas posteriormente. Como un notario.
- En 2009 Satoshi Nakamoto adaptó este sistema para utilizarlo en la creación y desarrollo de la criptomoneda digital Bitcoin. Para dejar constancia de la fecha en la que se hacían las transacciones entre propietarios de dicha criptomoneda, y que se pudiera hacer un seguimiento de dichas transacciones. Como un banco.
- En la actualidad es utilizada por numerosas empresas, que utilizan las cadenas Blockchain para consignar fechas a cualquier tipo de documento digital.
Así que blockchain es como un gran libro de registro, abierto tanto a quien lo quiera utilizar como para quien lo quiera consultar. Y tal como está diseñado, una vez registrado un dato en su cadena de bloques, es inalterable, incorruptible, in-hackeable… De ahí que se esté utilizando cada vez por más empresas y particulares para certificar diferentes tipos de información y transacciones. Pero llegados a este momento de la explicación surge la pregunta estrella:
¿Por qué es tan fiable una red Blockchain?
Si entendemos cómo funciona la red Blockchain es inmediato comprender por qué su fiabilidad radica en su propia estructura:

- En primer lugar se utiliza una red peer-to-peer para almacenar las cadenas de bloques, en lugar de usar una entidad central. Es decir, que en el momento en el que se crea un nuevo bloque de la cadena, su información se «almacena» en todos los ordenadores de los miembros de la red a la vez. Cualquiera puede unirse a la red Blockchain y obtener una copia completa de una o varias cadenas de bloques. Y el sistema comprueba que dichas copias sean iguales entre sí, por lo que si alguien intenta modificar un dato en «su copia» e intenta hacerla pasar por buena, rápidamente el sistema detecta dicha copia «fraudulenta» y la señala como inválida.
- En segundo lugar se utiliza el sistema de «prueba de trabajo« o PoW (del inglés Proof-of-Work). En esencia se trata de un sistema por el que es necesario dedicar recursos de computación para resolver un cálculo complejo (en el caso de Blockchain suelen ser necesarios unos 10 minutos de computación para crear un nuevo bloque de la red) por parte de la red de «mineros» que ponen sus ordenadores a disposición para dichos cálculos. Al hacerse estos cálculos en dispositivos de diversos miembros de la red (no se conocen entre ellos, no siempre son los mismos) se logran definir las características del nuevo bloque «por consenso» de la mayoría. Por lo que el nuevo bloque se incorpora a la red con unas características definidas por la propia comunidad impidiendo que alguien pueda «colar» un bloque fraudulento.
- Los propios bloques de información tienen un código de identificación único y relacionado con el bloque previo. Es lo que llamamos «Hash«: Es único, identifica tanto al bloque de datos como su contenido y se define en cuanto se crea el bloque. Podemos decir que es como una especie de «huella dactilar» en la que va incluido parte del código del bloque de datos que le precede.

Alguien podría modificar la información de un bloque; por ejemplo modificar la fecha en la que se ha hecho una transacción de dinero, o la cantidad de ese dinero, o la imagen asociada a un registro… Esto alteraría el Hash (recordad que se genera al crear el bloque y depende del contenido que tenga, de manera que si se modifica el contenido del bloque, el Hash cambia también). Como al crearse ese bloque se crean copias del mismo en toda la red y se comparan constantemente, rápidamente se detectaría que en un dispositivo de la red hay un bloque que no coincide con lo que tienen los demás, de manera que se clasificaría como bloque corrompido y se le sacaría de la red. A este bloque y a todos los que se pudieran haber creado a continuación (usando como base el código Hash modificado).