Una cadena de bloques o blockchain es una base de datos distribuida o un libro de contabilidad que se comparte entre los nodos de una red informática. Como base de datos, una cadena de bloques almacena información electrónicamente en formato digital.
Las cadenas de bloques o blockchains son más conocidas por su papel crucial en los sistemas de criptomonedas, como Bitcoin, para mantener un registro seguro y descentralizado de las transacciones. La innovación de una cadena de bloques es que garantiza la fidelidad y seguridad de un registro de datos y genera confianza sin necesidad de un tercero de confianza.
Una diferencia clave entre una base de datos típica y una blockchain es cómo se estructuran los datos. Una cadena de bloques reúne la información en grupos, conocidos como bloques, que contienen conjuntos de información. Los bloques tienen cierta capacidad de almacenamiento y, cuando se llenan, se cierran y se vinculan al bloque previamente llenado, formando una cadena de datos conocida como blockchain.
Toda la información nueva que sigue a ese bloque recién añadido se compila en un bloque recién formado que, una vez lleno, también se añadirá a la cadena.
Una base de datos suele estructurar sus datos en tablas, mientras que una cadena de bloques, como su nombre indica, estructura sus datos en trozos (bloques) que se encadenan. Esta estructura de datos hace inherentemente una línea de tiempo irreversible de los datos cuando se implementa en una naturaleza descentralizada.
Cuando un bloque se llena, queda grabado en piedra y pasa a formar parte de esta línea de tiempo. Cada bloque de la cadena recibe una marca de tiempo exacta cuando se añade a la cadena.
¿Cómo funciona una blockchain?
El objetivo de la cadena de bloques o blockchain es permitir que la información digital se registre y distribuya, pero no se edite. De este modo, una cadena de bloques es la base de libros de contabilidad inmutables, o registros de transacciones que no pueden ser alterados, borrados o destruidos. Por ello, las cadenas de bloques también se conocen como tecnología de libro mayor distribuido (DLT).
Propuesto por primera vez como proyecto de investigación en 1991, el concepto de blockchain es anterior a su primera aplicación generalizada en uso: Bitcoin, en 2009. En los años siguientes, el uso de las cadenas de bloques se ha disparado con la creación de varias criptomonedas, aplicaciones financieras descentralizadas (DeFi), tokens no fungibles (NFT) y contratos inteligentes.
Descentralización de Blockchain
Imagina que una empresa posee una granja de servidores con 10.000 ordenadores utilizados para mantener una base de datos que contiene toda la información de las cuentas de sus clientes. Esta empresa es propietaria de un edificio que contiene todos estos ordenadores bajo un mismo techo y tiene el control total de cada uno de estos ordenadores y de toda la información que contienen. Sin embargo, esto supone un único punto de fallo.
¿Qué pasa si se corta la electricidad en ese lugar? ¿Y si se corta la conexión a Internet? ¿Y si se incendia? ¿Y si un mal actor borra todo con una sola pulsación? En cualquier caso, los datos se pierden o se corrompen.
Lo que hace una cadena de bloques es permitir que los datos contenidos en esa base de datos se repartan entre varios nodos de la red en distintas ubicaciones. Esto no sólo crea redundancia, sino que también mantiene la fidelidad de los datos almacenados en ella: si alguien intenta alterar un registro en una instancia de la base de datos, los demás nodos no se verían alterados y, por tanto, impedirían que un mal actor lo hiciera.
Si un usuario manipula el registro de transacciones de Bitcoin, todos los demás nodos se cotejarían entre sí y localizarían fácilmente el nodo con la información incorrecta. Este sistema ayuda a establecer un orden exacto y transparente de los acontecimientos. De este modo, ningún nodo de la red puede alterar la información que contiene.
Por ello, la información y el historial (como el de las transacciones de una criptomoneda) son irreversibles. Este registro podría ser una lista de transacciones (como con una criptodivisa), pero también es posible que una blockchain contenga otra variedad de información como contratos legales, identificaciones de estados o el inventario de productos de una empresa.
Transparencia
Debido a la naturaleza descentralizada de la cadena de bloques de Bitcoin, todas las transacciones pueden verse de forma transparente, ya sea teniendo un nodo personal o utilizando exploradores de la cadena de bloques que permiten a cualquiera ver las transacciones que se producen en directo. Cada nodo tiene su propia copia de la cadena que se actualiza a medida que se confirman y añaden nuevos bloques. Esto significa que, si se quiere, se puede seguir el rastro de Bitcoin allá donde vaya.
Por ejemplo, los intercambios han sido hackeados en el pasado, donde aquellos que guardaban Bitcoin en el intercambio lo perdieron todo. Mientras que el hacker puede ser totalmente anónimo, los Bitcoins que extrajeron son fácilmente rastreables. Si los Bitcoins robados en algunos de estos hackeos fueran trasladados o gastados en algún lugar, se sabría.
Por supuesto, los registros almacenados en la cadena de bloques de Bitcoin (al igual que la mayoría de los demás) están cifrados. Esto significa que sólo el propietario de un registro puede descifrarlo para revelar su identidad (utilizando un par de claves públicas y privadas). Como resultado, los usuarios de las cadenas de bloques pueden permanecer en el anonimato mientras se mantiene la transparencia.
¿Es segura la blockchains?
La tecnología blockchain logra la seguridad y la confianza descentralizadas de varias maneras. Para empezar, los nuevos bloques se almacenan siempre de forma lineal y cronológica. Es decir, siempre se añaden al «final» de la cadena de bloques. Una vez que un bloque se ha añadido al final de la cadena de bloques, es extremadamente difícil volver atrás y alterar el contenido del bloque a menos que la mayoría de la red haya alcanzado un consenso para hacerlo.
Esto se debe a que cada bloque contiene su propio hash, junto con el hash del bloque anterior, así como la marca de tiempo mencionada anteriormente. Los códigos hash se crean mediante una función matemática que convierte la información digital en una cadena de números y letras. Si esa información se edita de alguna manera, el código hash también cambia.
Supongamos que un pirata informático, que también dirige un nodo en una red de cadenas de bloques, quiere alterar una cadena de bloques y robar criptomonedas a todos los demás. Si alterara su propia copia, ésta ya no se alinearía con la de los demás. Cuando todos los demás comparen sus copias entre sí, verán que esta copia sobresale, y la versión de la cadena de ese hacker será desechada como ilegítima.
Para tener éxito con un ataque de este tipo sería necesario que el hacker controlara y alterara simultáneamente el 51% o más de las copias de la cadena de bloques para que su nueva copia se convirtiera en la copia mayoritaria y, por tanto, en la cadena acordada. Un ataque de este tipo también requeriría una inmensa cantidad de dinero y recursos, ya que tendrían que rehacer todos los bloques porque ahora tendrían marcas de tiempo y códigos hash diferentes.
Debido al tamaño de muchas redes de criptomonedas y a la rapidez con la que crecen, el coste de llevar a cabo tal hazaña sería probablemente insuperable. No sólo sería extremadamente caro, sino también probablemente infructuoso. Hacer algo así no pasaría desapercibido, ya que los miembros de la red verían tales alteraciones drásticas en la cadena de bloques.
Los miembros de la red harían entonces un hard fork a una nueva versión de la cadena que no haya sido afectada. Esto haría que el valor de la versión atacada del token cayera en picado, haciendo que el ataque fuera en última instancia inútil, ya que el mal actor tiene el control de un activo sin valor. Lo mismo ocurriría si el actor malo atacara la nueva bifurcación de Bitcoin. Está construido de esta manera para que participar en la red esté mucho más incentivado económicamente que atacarla.