Una blockchain (o cadena de bloques) es un registro de datos específicos. Puede definirse como el archivo de una contabilidad, que se escribe con nuevos datos constantemente y utiliza criptografía para asegurar la información, de tal manera que sea inmutable. El registro se distribuye en una red donde varios participantes tienen el derecho de validar la totalidad de los archivos.
1 Blockchain: un registro de transacciones de criptomonedas
Si observáramos una blockchain frente a nosotros, ¿qué sería o a qué se parecería? ¿Un computador? ¿Un juego de legos? ¿Una caja fuerte? ¿Un dispositivo súper avanzado con símbolos alienígenas? Pues bien… la verdad es un tanto más aburrida.
Sería una pila de carpetas, seguramente. Carpetas llenas de hojas rellenas con ceros (0) y unos (1), como algún código secreto del FBI. A ese lenguaje se le llama «código binario», y es el que comúnmente utilizan las computadoras (antes de traducirlo para nosotros en imágenes y letras). Simplemente se trata de un registro detallado de cientos, miles, millones de transacciones. Pero claro, todo esto viene en digital, porque eso de tener una pila gigante de carpetas no es ni muy práctico ni muy seguro.
Podemos decir así que una blockchain es un libro de cuentas digital que registra y expresa lo que sucede en una red de intercambio de valor. Se construye con matemática avanzada y puede ser pública o privada.
La palabra blockchain no aparece en el Libro Blanco de Bitcoin
En el documento técnico -y fundacional- de Bitcoin no se menciona ni una vez la palabra blockchain. Aunque su autor sí hace referencia a los términos «chain» (cadena) y «blocks» (bloques) por separado. Sin embargo, en una oportunidad se menciona la frase «chain of blocks» (cadena de bloques) para referirse al resultado de añadir conjuntos de datos nuevos, entrelazados entre sí y apilados, a través de una función criptográfica.
Como analogía didáctica, podemos decir que una blockchain es como el gran libro donde se anotan todas y cada una de las transacciones de cierta criptomoneda, incluyendo cantidades y fechas exactas. Aunque esas transacciones también pueden utilizarse para representar otras cosas dentro de la cadena y validar su autenticidad: documentos, contratos inteligentes o mensajes de casi cualquier tipo.
2 ¿Cómo funciona una blockchain o cadena de bloques?
La tinta con la que se escribe el libro contable o blockchain se llama criptografía, así que todos los mensajes allí dentro están cifrados para asegurar su autenticidad y proteger de ojos indiscretos los datos relacionados con la propiedad de hacer única cada moneda.
Si nos ponemos un poco más técnicos, una blockchain es una «base de datos» digital construida con criptografía.
SHA-256
Es la función de hash o procedimiento matemático que utiliza Bitcoin (y otras criptomonedas). La misma función se utiliza en distintas etapas y niveles del protocolo. Por ejemplo, para crear llaves privadas y confirmar transacciones. Sha-256 es un algoritmo criptográfico altamente seguro, lo utiliza la inteligencia militar en todo el mundo.
El registro de transacciones se conoce como «cadena de bloques» porque las hojas de este libro son, metafóricamente, «bloques» de información encadenados secuencialmente unos con otros, desde el principio hasta el final. Los bloques tienen, en el caso de Bitcoin, un límite de tamaño de 1 MB. Otros protocolos tienen límites mayores. Las transacciones, por su parte, tienen un tamaño promedio de 200 o 300 bytes. Sin embargo, si se añade información extra (por ejemplo, en pequeño mensaje de texto) este tamaño se incrementa.
Lo que los entrelaza es la criptografía (matemática), y este mismo sistema busca que los datos sean inmutables, si así lo decide la red que controla el «libro contable».
Para lograr eso último de forma distribuida, una blockchain debe poseer múltiples copias. Es más, miles de copias (o más) exactamente iguales en manos de diversos usuarios de esa misma criptomoneda o plataforma alrededor del mundo. Se supone que esos miles de usuarios deben tener su propia pila de carpetas con datos idénticos.
La palabra «blockchain»
Respecto a la palabra blockchain se ha difundido por mucho tiempo un concepto erróneo. Esta suele utilizarse como sustituto de la tecnología Bitcoin. Sin embargo, blockchain solo alude al libro de contabilidad, un archivo de datos encriptados que contiene el historial de transacciones realizadas en la red. En definitiva, es una parte esencial de la tecnología, más no la sustituye.
Mediante normas establecidas para el consenso general, cada uno de los poseedores de esa copia (los nodos) se pone de acuerdo con los demás para añadir nuevas transacciones o datos, de modo que todos consideren que son válidos y los datos del libro continúen siendo uniformes en todas sus versiones.
Además de los bloques de transacciones de 1 MB de límite de tamaño, Bitcoin tiene otra manera de organizar el registro. En términos específicos, una blockchain como Bitcoin está construida por archivos digitales de cierto tamaño que se van apilando unos sobre otros. Así, por ejemplo, la blockchain de Bitcoin está constituida por archivos de tipo bkl.dat, nunca mayores a 128 MB y «traducidos» a binario, aunque los datos se construyen con criptografía. Esto permite a los nodos descargar la nueva información y sincronizar sus respectivas copias con el resto sin tener que realizar una descarga de toda la información como un solo conjunto.
La razón es simple, una red como Bitcoin acumula cada vez más información y, llegado un momento, sería demasiado gasto computacional ejecutar toda la descarga continuamente.
A comienzos de 2023, el tamaño total del historial de transacciones de Bitcoin era de 435 GB de información. En comparación, el historial de Ethereum alcanzaba en esa misma fecha 1.126,86 GB de tamaño.
Este hecho crea claras diferencias entre ambas redes, dado que en el caso de Ethereum es más más costoso contar con los recursos técnicos para almacenar toda esa información y por lo tanto una menor cantidad de nodos está disponible para guardar una copia completa de las transacciones de esa red. Estos se conocen como nodos archivadores de Ethereum y hay menos de una decena en todo el mundo.
Consenso
En una red como Bitcoin, la validez de una transacción depende de que todos o la mayoría de los participantes, a través de cientos de miles de nodos, estén de acuerdo con que cumple las reglas del protocolo.
3 ¿Cuál es la diferencia entre una blockchain pública y una privada?
Una blockchain puede tener distintos atributos. Pero si hacemos un ejercicio de abstracción, es posible clasificarlas de acuerdo con sus capacidades para permitir el acceso a la información que registra.
- Una blockchain pública permite a cualquier persona consultar la información que se registra. Y no tiene restricciones para que cualquiera envíe o reciba transacciones que se incluyan en la cadena de bloques. Se puede decir que son transparentes y están diseñadas con criptografía para funcionar en entornos que no requieren confianza. En esta categoría entran Bitcoin y Ethereum, entre otras.
- Una blockchain privada o permisionada limita el acceso a la información registrada y la posibilidad de ejecutar transacciones a una lista definida de participantes o entidades.
También es posible clasificar una blockchain de acuerdo con los permisos que otorga a los participantes que genera los bloques de registro.
- Una blockchain sin permisos (o no permisionada) no restringe la participación de alguien para crear o procesar bloques de transacciones (o mensajes). Este es el caso de Bitcoin, que incentiva mediante una recompensa la participación de una mayor cantidad de entidades para robustecer su seguridad. Esto se realiza a través de un protocolo de consenso conocido como prueba de trabajo.
- Una blockchain con permisos (o permisionada), en cambio, cuenta con administradores que otorgan permisos a una serie determinada de participantes. En algunos casos permiten hacer transacciones a cualquier participante, aunque la validación de los bloques puede estar restringida a ciertos operadores. Es común encontrar blockchains permisionadas que funcionan a través de un protocolo de consenso conocido como prueba de participación. Un ejemplo es Hyperledger Fabric, una blockchain de IBM.
Hay infinitas posibilidades entre estos modelos de blockchain, pues muchos protocolos de criptomonedas o de mensajería están diseñados para atender una necesidad específica, por lo que eligen sistemas con propiedades particulares para registrar sus transacciones o mensajes.
Algunos protocolos pueden usar, por ejemplo, blockchain públicas, que permiten realizar consultas de los registros y propiedades y, al mismo tiempo, compaginar eso con blockchains con permisos, que solo permitiría a entidades específicas grabar la información en el registro histórico de transacciones.
4 ¿Por qué es importante la descentralización y distribución de una blockchain la de Bitcoin?
La configuración de una blockchain sirve para hablar sobre la capacidad de una determinada red para ser centralizada, descentralizada o distribuida.
Para ponerlo en términos simples, porque el debate al respecto tiene muchas implicaciones y aristas, una red centralizada es aquella donde la administración de los nodos que guardan copias del registro es de una sola entidad. Por ejemplo, los bancos y ciertas plataformas de criptomonedas como Ripple. En estos casos, el riesgo de manipulación de la información o de censura de participantes o actividades depende de la decisión de esa entidad.
Una blockchain no hace magia
Durante años se le han atribuido a las blockchains poderes que no necesariamente poseen. Entre ellos la capacidad para hacer que un sistema de elección de gobernantes sea a prueba de fraude. Una blockchain con nodos descentralizados puede proteger un archivo con resultados, pero no evitaría alteraciones de otras partes del proceso. Una blockchain no es la solución de todos los problemas existentes.
En cambio, una red descentralizada representa una manera de proteger un bien común de actores que pudieran actuar de manera unilateral para obtener un beneficio. Vitalik Buterin, cofundador de Ethereum, describe a las blockchain en los siguientes términos.
Las blockchains están políticamente descentralizadas (nadie las controla) y arquitecturalmente descentralizadas (no hay punto de falla central en la infraestructura), pero están lógicamente centralizadas (hay un estado acordado entre todos y el sistema se comporta como una única computadora).
Vitalik Buterin, cofundador de Ethereum, «El significado de la descentralización».
Una red como la de Bitcoin está constituida por nodos de mineros y nodos completos de otras personas o entidades que no compiten por la recompensa monetaria, pero contribuyen a guardar una copia de la blockchain. Más que su descentralización destaca el hecho de que está distribuida alrededor del mundo con un número de participantes que se cuentan en centenares de miles.
Este sistema en particular tiene 3 propiedades difíciles de igualar por otros sistemas de este tipo.
- Tolerancia a las fallas: debido a que está constituida por miles de computadoras, no tiene un solo punto de falla. Si varias computadoras se desconectan, todavía el resto puede hacer el trabajo. Redes más pequeñas, de decenas de computadoras, tienen más probabilidades de sufrir fallas. Y, mucho más, si todo depende de un solo servidor.
- Resistencia a los ataques: es mucho más costoso manipular, censurar o destruir una red que no tiene puntos centrales para su funcionamiento.
- Resistencia a la colusión: en una red descentralizada y distribuida es más difícil que algunos de sus participantes se pongan de acuerdo entre sí para obtener un beneficio a expensas de otros.
Descentralización vs. distribución
La distribución de las copias de seguridad de Bitcoin es más importante en un entorno descentralizado, porque resulta más difícil que todo el sistema falle si una de sus partes falla. En una red distribuida, pero centralizada, la parte que controla u organiza la distribución es un punto que arriesga todo el sistema si llegase a fallar.
5 ¿Cuáles son las aplicaciones de las blockchains?
Siendo esta una tecnología joven, seguramente aún no se han descubierto o desarrollado lo suficiente todas sus aplicaciones posibles. Sin embargo, hay un cierto número de usos que son bastante recurrentes.
–Criptomonedas: su función principal en este campo es registrar los valores transferidos entre individuos y validados por los nodos y mineros de forma inalterable. Muchas criptomonedas han desarrollado su propia blockchain como Monero, Litecoin y Zcash. Otras, en cambio, prefieren confiar en la ya madura estructura de Bitcoin o Ethereum y se construyen en base a su plataforma, tal como los activos digitales de Counterparty y los cuasi infinitos tokens de Ethereum.
–Sistemas de pago: muchas empresas, en su mayoría bancos e instituciones financieras, han tomado este tipo de libro contable para construir sus propias plataformas que permitan una verificación más rápida y una mayor transparencia entre las partes. Un ejemplo de ello es Ripple, que incluso ofrece sus servicios a distintas empresas.
–Registro de documentos: pueden ser usadas para registrar y verificar la autenticidad de toda clase de documentos, desde títulos universitarios y actas matrimoniales hasta historiales médicos. Esta área ha tenido mucha atención, pues permitiría unir en una sola plataforma a hospitales, aseguradoras y prestamistas, lo que aceleraría exponencialmente el proceso sanitario.
–Cadena de suministro: con esta tecnología es posible marcar casi cualquier objeto con una huella digital única que seguirá todo su ciclo de vida desde el principio. Gracias a esta cualidad, resulta perfecta para su uso en la compleja cadena de suministro. Cabe aclarar que el registro de una blockchain contribuye a que los datos allí recopilados sean inmutables. Sin embargo, la veracidad de la información externa a ese registro debe ser verificada con otros procedimientos. Una blockchain no garantiza que alguien no introduzca un dato falso sobre un producto.
–Contratos inteligentes y aplicaciones descentralizadas (Dapps): sobre una blockchain también se pueden crear contratos inteligentes, es decir, acuerdos digitales automatizados en los que nuevamente se elimina la necesidad de confiar en terceras partes para su cumplimiento.
Los términos quedan establecidos en principio a conveniencia de las partes, y más tarde son cumplidos gracias al código, como una tarea programada. A su vez, estos abren una casi infinita gama de posibilidades que pueden traducirse en las aplicaciones descentralizadas: funcionalidades informáticas de todo tipo que no son controladas por una sola parte, sino distribuidas entre muchas. El ejemplo más famoso de ello es, sin duda, la plataforma descentralizada Ethereum. Sin embargo, la red de Bitcoin también cuenta desde hace muchos años con distintos tipos de contratos inteligentes.
–Entretenimiento: varios videojuegos y juegos de azar se han construido sobre una cadena de bloques o bien apoyándose en algún activo digital propio de ella. La velocidad, transparencia y, sobre todo, las recompensas, están aseguradas. En este ámbito tenemos a Spell of Genesis, un juego de cartas; Lightnite, al estilo Fornite pero usando Lightning Network.
Por otro lado, también se encuentran las redes sociales que ofrecen micropagos en criptomonedas a sus usuarios a cambio del contenido que proporcionen y que es almacenado de forma transparente, inalterable y pública en una blockchain. Tal es el caso de Steemit.
– Comercio y mercados digitales: sobre sus propias cadenas de bloques se han construido plataformas de compra y venta electrónica como LBRY, la cual permite a los autores poner el precio que deseen a su trabajo creativo y cobrar todas las ganancias, sin intermediarios.
Asimismo, por el lado del comercio tenemos a las casas de cambio descentralizadas (DEX), en las que se pueden comprar y vender criptomonedas sin intermediarios. Dos de ellas son LocalCryptos y Bisq.
Pero seguramente este es sólo el comienzo. Las blockchains también se han utilizado para autenticar fondos de caridad, para optimizar procesos energéticos e incluso para mejorar el sistema de publicidad online. A este ritmo, muy pronto cambiará toda nuestra vida cotidiana.
Si quieres conocer más sobre este tema, puedes profundizar en este artículo titulado Blockchain: bloques, transacciones, firmas digitales y hashes. Te invitamos también a que leas y compartas estos artículos de nuestra Criptopedia.
Disclaimer: este artículo está basado en un artículo escrito originalmente por Isabel Pérez, actualizado y ampliado en esta versión