¿Qué es la cadena de bloques?

En resumen, blockchain equivale a un libro de contabilidad digital descentralizado que registra una serie de datos. Estos datos están organizados en bloques, protegidos mediante criptografía y ordenados en orden cronológico.​

Los primeros modelos de blockchain se construyeron a principios de los años 90. En ese momento, el informático Stuart Haber y el físico W. Scott Stornetta utilizaron tecnología de cifrado para proteger los datos contra manipulaciones.​

Este logro de Haber y Stornetta inspiró a muchos informáticos y entusiastas de la criptografía a estudiar la cadena de bloques, lo que también impulsó el nacimiento de Bitcoin, el primer sistema de efectivo electrónico descentralizado (la primera criptomoneda) del mundo.

Aunque la tecnología blockchain precedió a las criptomonedas, no fue hasta 2008, cuando nació Bitcoin, que las primeras fueron ganando reconocimiento paulatinamente. Desde entonces, el interés público en la tecnología blockchain ha crecido y las criptomonedas han comenzado a ganar popularidad.

La tecnología Blockchain se utiliza principalmente para registrar transacciones de criptomonedas, pero también puede registrar una variedad de datos digitales y también puede aplicarse a otros campos. La red blockchain más antigua, segura y grande es Bitcoin, que fue cuidadosamente diseñada para combinar criptografía y teoría de juegos de manera equilibrada.


¿Cómo funciona la cadena de bloques?

En el mundo de las criptomonedas, podemos pensar en una cadena de bloques como una cadena de bloques estables, cada uno de los cuales almacena una secuencia de datos de transacciones previamente confirmadas. La red blockchain es mantenida conjuntamente por innumerables computadoras, por lo que su función principal es actuar como una base de datos (o libro mayor) descentralizada. En otras palabras, todos los participantes (es decir, nodos) en la cadena de bloques mantienen una copia de los datos de la cadena de bloques y mantienen una buena comunicación entre sí para garantizar que todos estén siempre en la misma página (o bloque).

Como resultado, las transacciones blockchain ocurren en una red global de igual a igual, lo que promueve a Bitcoin como una criptomoneda descentralizada, sin fronteras y resistente a la censura. Sin embargo, la mayoría de las cadenas de bloques no requieren ningún mecanismo de confianza y se consideran sistemas sin confianza. Bitcoin tampoco tiene un regulador independiente.

Casi todas las cadenas de bloques tienen como núcleo la minería, que es inseparable de los algoritmos hash. Bitcoin utiliza el algoritmo SHA-256 (Secure Hash Algorithm 256 bits), que permite ingresar una cadena de cualquier longitud para producir una salida de la misma longitud. El resultado de salida se puede denominar "valor hash", que siempre tiene 64 caracteres (256 bits).

Por lo tanto, no importa cuántas veces se repita la "minería", la misma entrada siempre produce la misma salida. Sin embargo, si la entrada cambia ligeramente, la salida será completamente diferente. Por lo tanto, la función hash es determinista, mientras que la mayoría de las criptomonedas están diseñadas con una función hash unidireccional.

Este tipo de función determina que el usuario no puede inferir la entrada en función de los resultados de la salida. La única forma es adivinar, pero la probabilidad de adivinar es muy pequeña. Esta es una de las razones por las que la cadena de bloques de Bitcoin es segura y confiable.

Ahora que entendemos la funcionalidad del algoritmo, ilustraremos cómo funciona blockchain a través de un ejemplo de transacción simple.

Supongamos que Alice y Bob son dos poseedores de Bitcoin y Alice le debe a Bob dos Bitcoins.

Para pagarle a Bob con dos Bitcoins, Alice transmite la información de esta transacción a los mineros de toda la red.

En esta transacción, Alice informa a los mineros de la dirección de Bob y la cantidad de Bitcoins que se comercializan, y adjunta una firma digital con su clave pública. Esta firma es generada por la clave privada de Alice y permite a los mineros verificar que Alice es la propietaria real de estos Bitcoins.

Después de confirmar que la transacción es auténtica y válida, el minero puede colocar esta información de la transacción en un bloque junto con otra información de la transacción e intentar "minar" este bloque. Este bloque se opera mediante el algoritmo SHA-256 y el resultado de la operación debe comenzar con una cierta cantidad de "0" antes de que se pueda considerar válido. El número de "0" depende de la "dificultad" de la operación, que cambiará con los cambios en la potencia informática de toda la red.

Para generar correctamente el número esperado de hashes "0", los mineros agregan un "nonce" al bloque antes de ejecutar el algoritmo de cifrado. Pequeños cambios en este valor cambiarán completamente el resultado de la operación, y los mineros deben probar diferentes nonces aleatorios hasta obtener el valor hash correcto.

Cada vez que se extrae un bloque, los mineros transmiten la información del nuevo bloque a toda la red para que otros mineros puedan confirmar la validez del bloque. Luego, agregarán la información del bloque válido a su propia cadena de bloques, indicando que la transacción se completó. Sin embargo, los mineros aún necesitan agregar el valor hash del bloque anterior al nuevo bloque y, finalmente, conectar todos los bloques para formar una verdadera "cadena de bloques". Esto es muy importante y refleja el papel de la confianza en el sistema.

Cada minero almacena su propia copia de la cadena de bloques en un ordenador personal y llega a un consenso: la cadena de bloques con mayor potencia informática debe ser la más larga. Si alguien quiere cambiar la información de la transacción en el bloque anterior, el valor hash de este bloque también cambiará, lo que provocará que cambien los valores hash de todos los bloques posteriores a este bloque. Debe rehacer todos los cálculos anteriores para convencer a los demás de que la información de su bloque es correcta. Por lo tanto, si un minero intenta alterar la información del bloque, debe invertir más del 50% de la potencia informática de toda la red, lo cual es casi una fantasía. Por lo tanto, los ataques de red similares se denominan ataques del 51%.

Este modelo que requiere operaciones informáticas para generar nuevos bloques se llama Prueba de trabajo (PoW). También existen otros mecanismos, como la Prueba de participación (PoS), que no requieren una gran potencia informática, consumen menos energía y atraen a más usuarios a participar.