¿Qué es la cadena de bloques?

En resumen, una cadena de bloques es una lista de registros de datos que funciona como una base de datos descentralizada. Los datos se organizan en bloques, ordenados cronológicamente y protegidos criptográficamente.

El primer concepto de cadena de bloques se creó a principios de la década de 1990, cuando el informático Stuart Haber y el físico W. Scott Stornetta utilizaron técnicas criptográficas en una cadena de bloques para proteger los documentos digitales contra la manipulación de datos.

El trabajo de Haber y Stornetta ciertamente inspiró el de muchos otros informáticos y entusiastas de la criptografía, lo que finalmente condujo a la creación de bitcoin, el primer sistema de dinero electrónico descentralizado (y la primera criptomoneda).

Aunque la tecnología blockchain es más antigua que las criptomonedas, no fue hasta la creación de bitcoin en 2008 que se empezó a reconocer su potencial. Desde entonces, el interés en la tecnología blockchain ha aumentado gradualmente y las criptomonedas ahora están ganando reconocimiento a mayor escala.

La tecnología Blockchain se utiliza más comúnmente para registrar transacciones de criptomonedas, pero es adecuada para muchos otros tipos de datos digitales y puede aplicarse a una amplia gama de casos de uso. La red blockchain más antigua, segura y grande es Bitcoin, que fue diseñada utilizando una combinación equilibrada de criptografía y teoría de juegos.


¿Cómo funciona una cadena de bloques?

En el contexto de las criptomonedas, una cadena de bloques consta de una cadena de bloques, cada uno de los cuales almacena una lista de transacciones previamente confirmadas. Como la red blockchain se mantiene mediante una gran cantidad de computadoras distribuidas por todo el mundo, funciona como una base de datos descentralizada. Esto significa que cada participante (o nodo) mantiene una copia de los datos de la cadena de bloques y se comunica entre sí para asegurarse de que estén en la misma página (o bloque).

Por lo tanto, las transacciones blockchain se llevan a cabo dentro de una red global peer-to-peer y esto es lo que hace que bitcoin sea una moneda digital descentralizada, sin fronteras y resistente a la censura. Además, la mayoría de los sistemas blockchain se consideran no confiables porque no requieren ninguna confianza. No existe una autoridad única que controle bitcoin.

Un elemento central de casi todas las cadenas de bloques es el proceso de minería, que se basa en algoritmos hash. Bitcoin utiliza el algoritmo hash seguro de 256 bits (SHA-256). Toma una entrada de cualquier longitud y genera una salida que siempre tendrá la misma longitud. El resultado producido se denomina "hash" y en este caso siempre tiene 64 caracteres (256 bits).

Entonces, la misma entrada dará como resultado la misma salida sin importar cuántas veces se repita el proceso. Pero si se realiza un pequeño cambio en la entrada, la salida cambiará por completo. Como tal, las funciones hash son deterministas y, en el mundo de las criptomonedas, la mayoría de ellas están diseñadas como una función hash unidireccional.

Al ser una función unidireccional, es casi imposible calcular la entrada a partir de la salida. Sólo se puede adivinar cuál era la entrada, pero las posibilidades de adivinarla correctamente son extremadamente bajas. Esta es una de las razones por las que la cadena de bloques de Bitcoin es segura.

Ahora que sabemos qué hace el algoritmo, mostremos cómo funciona una cadena de bloques con una transacción de ejemplo simple.

Imagine que Alice y Bob tienen cada uno un saldo de bitcoins. Supongamos que Alice le debe a Bob 2 bitcoins.

Para que Alice pueda enviarle a Bob estos 2 bitcoins, transmite un mensaje que contiene la transacción que quiere realizar a todos los mineros de la red.

En esta transacción, Alice les da la dirección de Bob a los mineros y la cantidad de bitcoins que quiere enviar, junto con una firma digital y su clave pública. La firma se realiza con la clave privada de Alice y los mineros pueden validar que Alice es la propietaria de estos bitcoins.

Una vez que los mineros están seguros de que la transacción es válida, pueden colocarla en un bloque con muchas otras transacciones e intentar minar el bloque. Para ello, el bloque se somete al algoritmo SHA-256. La salida debe comenzar con una cierta cantidad de ceros para que se considere válida. La cantidad necesaria de 0 depende de la llamada "dificultad", que cambia según la potencia informática de la red.

Para producir un hash de salida con la cantidad deseada de 0 al principio, los mineros agregan lo que se llama un "nonce" al bloque antes de pasarlo por el algoritmo. Dado que un pequeño cambio en la entrada cambia completamente la salida, los mineros prueban nonces aleatorios hasta que encuentran un hash de salida válido.

Una vez que se extrae el bloque, el minero transmite este bloque recién extraído a todos los demás mineros. Luego verifican que el bloque sea válido para poder agregarlo a su copia de la cadena de bloques y completar la transacción. Pero en el bloque, los mineros también deben incluir el hash de salida del bloque anterior para que todos los bloques estén vinculados entre sí, de ahí el nombre blockchain. Esta es una parte importante debido a cómo funciona la confianza en el sistema.

Cada minero tiene su propia copia de la cadena de bloques en su computadora y todos confían en la cadena de bloques en la que se ha realizado más trabajo, o en la cadena de bloques de mayor duración. Si un minero modifica una transacción en un bloque anterior, el hash de salida de ese bloque cambiará, lo que implicará una modificación de todos los hashes de los bloques posteriores. El minero tendría que rehacer todo el trabajo para que cualquiera aceptara su blockchain como la correcta. Entonces, si un minero quisiera hacer trampa, necesitaría más del 50% de la potencia informática de la red, lo cual es muy poco probable. Entonces, los ataques de red como este se denominan ataques del 51%.

El modelo de poner a trabajar computadoras para producir bloques se llama Prueba de Trabajo (PoW); También existen otros modelos, como la prueba de participación (PoS), que no requiere tanta potencia informática y se supone que requiere menos electricidad y, al mismo tiempo, puede escalar a una mayor cantidad de usuarios.