¿Qué es la cadena de bloques?
Una cadena de bloques es una lista de registros de datos que funciona como un libro de contabilidad digital descentralizado. Los datos se almacenan en bloques en orden cronológico y se protegen mediante criptografía.
El primer modelo 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 decidieron utilizar la criptografía en la cadena de bloques para proteger los documentos digitales de la manipulación.
Su trabajo inspiró a muchos programadores y entusiastas de la criptografía, y finalmente condujo a la creación de Bitcoin como el primer sistema de dinero electrónico descentralizado (o simplemente la primera criptomoneda).
Aunque la tecnología blockchain es mucho más antigua que las criptomonedas, su potencial sólo se hizo realidad después de la llegada de Bitcoin en 2008. Desde entonces, el interés en él sigue creciendo cada día y las criptomonedas son cada vez más aceptadas.
La tecnología Blockchain se utiliza principalmente para registrar transacciones de criptomonedas, pero también es adecuada para diferentes tipos de datos digitales y puede realizar una variedad de tareas. La red blockchain más antigua, segura y popular es Bitcoin, que combina criptografía y teoría de juegos.
¿Cómo funciona la cadena de bloques?
En el contexto de las criptomonedas, una blockchain consiste en una cadena estable de bloques, cada uno de los cuales contiene una lista de transacciones previamente confirmadas. Debido a que la red blockchain es mantenida por muchas computadoras en todo el mundo, funciona como una base de datos o libro mayor descentralizado. Esto significa que cada participante (nodo) almacena una copia de los datos de la cadena de bloques e interactúa con otros nodos para confirmar que la información de los bloques coincide.
Por lo tanto, las transacciones blockchain ocurren en una red global peer-to-peer, y esto es lo que hace de Bitcoin una moneda digital descentralizada que no tiene restricciones y es resistente a la censura. Además, la mayoría de los sistemas blockchain no requieren confianza y no están controlados por un único organismo rector.
En el centro de casi todas las cadenas de bloques se encuentra un proceso de minería basado en algoritmos hash. Bitcoin utiliza el algoritmo SHA-256 (algoritmo de hash seguro de 256 bits). Acepta una entrada de longitud arbitraria y genera una salida de longitud fija. La salida se llama hash y, en este caso, siempre tiene 64 caracteres (256 bits).
Las mismas entradas conducirán al mismo resultado sin importar cuántas veces se repita el proceso. Sin embargo, si cambia ligeramente los datos de entrada, la salida será completamente diferente. Debido a esto, en el mundo de las criptomonedas, la mayoría de las funciones hash son deterministas y unidireccionales.
La unidireccionalidad significa que es casi imposible calcular los datos de entrada a partir de los datos de salida. Sólo se puede adivinar qué había en la entrada, pero las posibilidades de adivinar esta información son extremadamente bajas. Esto garantiza la seguridad de la cadena de bloques de Bitcoin.
Veamos cómo funciona blockchain usando una transacción simple como ejemplo.
Imaginemos que Alice y Bob tienen varios bitcoins en sus balances. Alice le debe a Bob 2 bitcoins.
Para enviarlos, Alice transmite un mensaje con la transacción a todos los mineros de la red.
En esta transacción, Alice les dice a los mineros la dirección de Bob y la cantidad de Bitcoin que le gustaría enviar, así como una firma digital y su clave pública. La firma se realiza utilizando la clave privada de Alice y confirma que ella es la propietaria de estas monedas.
Los mineros deben verificar la validez de la transacción, luego de lo cual la combinan con otras transacciones e intentan crear un bloque usando el algoritmo SHA-256. La salida debe comenzar desde un cierto número de ceros, lo que depende de la llamada "dificultad" y la potencia informática de la red.
Para obtener un hash de salida con el número correcto de ceros al principio, los mineros agregan el llamado número nonce al bloque antes de ejecutar el algoritmo. Dado que un pequeño cambio en la entrada cambia completamente la salida, los mineros prueban diferentes combinaciones hasta encontrar el hash deseado.
Después de crear un bloque, el minero lo transmite a otros mineros. Luego verifican la validez del bloque para poder agregarlo a su copia de la cadena de bloques y completar la transacción. Los mineros también incluyen el hash de salida del bloque anterior en el bloque para vincular todos los bloques en una especie de cadena, es decir, una cadena de bloques. El sistema de confianza blockchain se basa en este mecanismo.
Cada minero almacena una copia de la cadena de bloques en su computadora y el grado de confianza en la cadena de bloques depende de la potencia informática invertida y de su longitud. Si un minero cambia una transacción en un bloque anterior, el hash de salida de ese bloque también cambiará, lo que hará que todos los hashes posteriores cambien. Luego, el minero tendrá que rehacer todo el trabajo para que su blockchain sea aceptada como válida. Para engañar al sistema, un atacante necesitaría apoderarse de más del 50% de la potencia informática de la red, lo cual es casi imposible. Estos ataques a la red se denominan ataques del 51%.
Un modelo en el que la producción de bloques se realiza mediante el trabajo de una computadora se llama Prueba de trabajo (PoW). Existen otros modelos, como el Proof-of-Stake (PoS), que no requieren mucha potencia informática y consumen menos energía, ofreciendo escalabilidad a muchos usuarios.
