¿Qué es Blockchain? El humorista americano Stephen Colbert dice que «es oro para los frikis». Bueno, los frikis son ahora los chicos más populares del barrio, y la tecnología Blockchain se está convirtiendo en una de las tendencias más destacadas de las finanzas y la innovación digital desde la creación de internet.
¿Qué es la Blockchain? El comediante americano Stephen Colbert dice que “es el oro de los nerdos”. Bueno, los nerdos ahora son los chicos populares del barrio y la tecnología blockchain se está volviendo una de las tendencias más prominentes en las finanzas y la innovación digital desde la creación del internet.
Las blockchains son bases de datos. En cambió de almacenar la información en servidores centrales a los que los usuarios acceden, la blockchain almacena sus registros en los computadores de los usuarios a lo largo del mundo. Eso hace que la blockchain sea una base de datos distribuida con una arquitectura de persona a persona (peer-to-peer), lo que significa que no hay una autoridad central que albergue una copia maestra de la información.
La blockchain de Satoshi Nakamoto, Bitcoin, no es la primera base de datos distribuida y no es la primera base de datos de persona a persona. Tampoco es la primera blockchain. Pero sirve como la base de la primera criptomoneda moderna y es el punto de inicio para las blockchains que vinieron después de ella.
¿Cómo funciona la blockchain?
Digamos que queremos almacenar información acerca de una mano de póker en una base de datos. Comenzaremos asignándole a cada carta del mazo un número: 1 es el as de espadas, 2 es el 2 de espadas, 3 es el 3 de espadas, y así sucesivamente hasta el 52, el rey de corazones. Tu mano podría lucir de este modo:
Registro | Valor de la carta |
---|---|
1 | 12 |
2 | 44 |
3 | 4 |
4 | 31 |
5 | 27 |
Piensa en los números del registro como una fila de números en una tabla. Los programadores de bases de datos los llaman registros, y los programadores de blockchain los llaman bloques. Fila, registro, bloque, todos se refieren a un mismo pedazo de información.
La mano de tu oponente ocuparía las filas 6-10, otra mano quizás estaría almacenada en 11-15, y así sucesivamente. Por lo que si quieres especificar de que mano estás hablando solo necesitas decirle a la base de datos que fila contiene la primera carta.
Enlaces en la cadena.
Es de esperar que en una base de datos distribuida de persona a persona otros usuarios podrían estar barajando manos al mismo tiempo que tú. Tus cartas probablemente no aparecerán en filas consecutivas. Por lo que podemos incluir indicaciones para las cartas previas y posteriores para vincular la información en una cadena.
Registro | Valor de la Carta | Carta Previa | Carta Siguiente |
---|---|---|---|
15 | 12 | 0 | 37 |
37 | 44 | 15 | 118 |
118 | 4 | 37 | 121 |
121 | 31 | 118 | 199 |
199 | 27 | 121 | 999 |
La primera carta de tu mano es almacenada en la fila 15. El valor de la carta es 12, lo que la vuelve la reina de espadas. No pareciera haber una fila previa en tu mano, por lo que ponemos un 0 en la columna de “Carta Previa”. La siguiente carta es almacenada en la fila 37.
Por lo que miramos en la fila 37, esta también especifica una carta única, apunta a una fila donde la carta previa puede encontrarse (15) y señala la siguiente carta, la cual está almacenada en la fila 118.
En computación esta estructura es conocida como una lista de doble vinculación porque tiene enlaces tanto hacia atrás como hacia adelante. Los indicadores son almacenados en la base de datos como información junto con los valores de las cartas.
Asegurando la información
No hay nada que nos detenga de cambiar los valores de las cartas (ni a los hackers). Está base de datos permite que hacer trampa sea sencillo. Cualquiera con acceso a la base de dato podría cambiar el valor de las primeras cuatro cartas de tu mano a 1, 14, 27, 40, lo que sería cuatro Aces.
Podemos proteger la información de errores y de hackers al agregar una columna. Por cada fila agregaremos una columna que contenga la suma de los valores de las cartas, sería algo así:
Registro | Valor de la Carta | Carta Previa | Carta Siguiente | Sumatoria |
---|---|---|---|---|
15 | 12 | 0 | 37 | 12 |
37 | 44 | 15 | 118 | 56 |
118 | 4 | 37 | 121 | 48 |
121 | 31 | 118 | 199 | 35 |
199 | 27 | 121 | 999 | 58 |
¿Ves cómo funciona? Para nuestra segunda carta el valor de la suma es 56, el cual es el resultado de la suma de las dos primeras cartas, 12 y 44. La suma de la tercera carta es la suma de las dos siguientes. Cada vez que leemos el valor de una carta podemos calcular la suma y compararlo con la sumatoria almacenada en la base de datos. Si estos no son los mismos sabemos que la información ha sido alterada.
Las piezas de memoria dentro de tu computadora y smartphone detectan errores con este sistema. Este sistema también es usado para encontrar errores en tu disco duro.
Este sencillo sistema de sumatoria es una parte esencial de la tecnología de blockchain. También es bien conocido para los estudiantes de primer año de computación.
También es fácilmente vulnerado por hackers. Cualquiera con suficientes derechos de acceso para cambiar valores de las cartas también podría alterar las sumatorias para cubrir lo que hizo. O el hacker podría alterar los indicadores de “carta previa” y la “carta siguiente” para reemplazar la carta en tu mano con una almacenada en otra fila.
Nakamoto anticipo estas vulnerabilidades en la arquitectura de su blockchain. En vez de utilizar simples sumas para crear sumatorias y rastrear enlaces en la cadena de datos el utilizo un proceso criptográfico llamado “hashing”.
Hashing y Encriptación
El hashing crea un identificador único al combinar el valor previo registrado con el valor actual registrado en un proceso matemático de un sentido resultando en un valor de hash como 06C4D99F32047. Se le llama de un sentido porque no hay un proceso matemático de emparejamiento para convertir 06C4D99F32047 a su información original.
En una blockchain el valor de hash de cada bloque está basado en el valor de hash del bloque anterior, el cual está basado en el valor de hash del block anterior, hasta llegar al bloque 0 de Nakamoto. Tú puedes calcular el valor de hash de cualquier bloque y compararlo con el valor de hash que está almacenado en el bloque. Si no coinciden, esto significa que la información ha sido alterada.
En una base de datos convencional uno podría alterar la información, luego calcular nuevos valores de hash e inyectarlos en bloques subsecuentes o registros para ocultar sus efectos. Esto no funciona con las bases de datos de blockchain distribuidas de persona a persona, ya que el hacker tendría que modificar simultáneamente las copias de la base de datos que están almacenadas en cientos o miles de computadoras.
Una consecuencia es que, aunque es posible agregar nuevos bloques de información a la blockchain, los bloques previos no se pueden modificar ni borrar. Esto significa que no puedes enviarte 100.000$ en Bitcoin y luego eliminar la transacción.
Cada transacción en la blockchain es validada utilizando este mecanismo de hash.
Adicionalmente Nakamoto configuro encriptación para asegurar que la información almacenada en la blockchain fuera visible por cada usuario, pero solo descifrable por aquellos que tuvieran las claves de descifrado adecuadas. Sin la clave lo único que verías serían caracteres sin sentido.
El Poder de la Tecnología Blockchain
La tecnología blockchain hace que la información sea privada, permanente y verificable. La información registrada y las transacciones son públicas, pero la encriptación la protege de ojos curiosos y de modificaciones. Esto es por lo que la blockchain de Bitcoin es usualmente referida como “el libro abierto” de Bitcoin.
Todo ese hashing y encriptación consume muchos recursos computacionales. Es lento. A nivel mundial la red blockchain de Bitcoin está limitada a procesar 4,6 transacciones por segundo. Las compañías de tarjetas de crédito rutinariamente y en promedio procesan 1.700 TPS y declaran que son capaces de manejar 56.000 TPS. El límite de 4,6 TPS es la principal fuente de problemas de escalabilidad de Bitcoin. Y los computistas están trabajando en ella.
La red de computadoras validando las transacciones de Bitcoin se dice que consume más energía eléctrica que Suiza.
Muchos de los nodos de validación de transacciones de Bitcoin soportan a toda la blockchain, la cual es alrededor de 250GB de información. Estos son conocidos como nodos completos. La red también incluye nodos SPV que realizan verificaciones simplificadas de pago. No hay una forma sencilla de contar los nodos. Una página web llamada Bitnodes proporciona una cuenta actualizada de nodos actualmente operativos y localizables, pero una rápida búsqueda de Google demuestra que los expertos estiman un número de nodos entre 6.000 y 200.000. Nadie realmente sabe cuántos nodos hay.
Todo sobre Ethereum
La blockchain más utilizada es Ethereum, la cual incluye modificaciones que la hacen más flexible que la blockchain de Bitcoin. Ethereum tiene su propia criptomoneda (Ether) pero los desarrolladores han creado muchas criptomonedas adicionales que funcionan en la blockchain de Ethereum. La plataforma también es utilizada para muchos tipos de aplicaciones además del dinero virtual.
Uno de los principales beneficios de Ethereum es que puede albergar programas ejecutables además de información. Estos programas son conocidos como “contratos inteligentes”. Por ejemplo, un contrato inteligente para el diezmo podría sumar todo el Ether que has agregado a tu cuenta este mes y enviar el 10% a la iglesia como una donación.
Como la blockchain de Bitcoin, Ethereum es a prueba de alteraciones. Los relojeros de lujo Breitling les dan a los dueños de sus relojes certificados digitales para probar su autenticidad. Si vendes el reloj puedes transferir el certificado al nuevo dueño, estableciendo una cadena verificable de propiedad. La tecnología también puede ser usada para rastrear el origen de los alimentos en tu supermercado, rastrear cada transferencia. Más y más personas les preocupa un suministro ético, y la blockchain puede ser parte de eso.
En el 2020, la Prensa Asociada publicó el minuto a minuto de los resultados de la elección presidencial de Estados Unidos en la blockchain de Ethereum para crear un registro inmutable del conteo oficial de votos.
La blockchain de Ethereum maneja alrededor de 30 TPS (transacciones por segundo). Los desarrolladores están trabajando arduamente en versiones futuras de Ethereum que usarán una técnica llamada fragmentación para operar múltiples blockchains al mismo tiempo, con transacciones consolidadas publicadas asincrónicamente en la blockchain central. Los desarrolladores esperan que las futuras versiones de la blockchain de Ethereum manejen hasta 100.000 TPS.
Al operar contratos inteligentes, Ethereum sirve como una plataforma para muchas aplicaciones relacionadas con la blockchain. La mayoría aplicaciones descentralizadas basadas en blockchain, especialmente aplicaciones de finanzas descentralizadas están basadas en la cadena principal de Ethereum o en blockchains privadas de Ethereum.
Ethereum también es una primera opción para corporaciones que desean implementar economías basadas en tokens. Por ejemplo, una empresa quizás quiera implementar un programa de fidelización en donde sus clientes reciben monedas Acme con cada compra. Luego estos podrían ir a una tienda de regalos en donde las monedas Acme pueden ser intercambiadas por beneficios. La compañía podría crear una red de compañías que también acepten monedas Acme, lo que les daría a los tokens un valor de facto, aunque estos no puedan ser intercambiados por dólares o euros.
Una especificación de Ethereum ERC-721 define un protocolo para crear tokens no fungibles. Esta es la base del mercado de NFT.
Otras Blockchains
Bitcoin y Ethereum son las blockchains más ampliamente usadas, pero hay cientos o miles más, todas basadas en el concepto original de Nakamoto. Las blockchains pueden ser públicas como la blockchain de Bitcoin o privadas, usadas para el manejo de información interna.
Los investigadores han creado muchas variaciones de la arquitectura básica de blockchain. Muchas incluyen innovaciones para soportar procesamiento más rápido, mayor escalabilidad, o comisiones más bajas por transacción. Mecanismos de consenso, coordinación de subcadenas subordinadas, blockchains privadas y otras tecnologías claves están siendo desarrolladas en proyectos a lo largo del mundo de las criptomonedas.
¿Qué es una Blockchain? Ahora lo sabes
¿Cuál es la definición de blockchain? ¿Cómo funciona la tecnología blockchain? Esperamos que esta explicación sobre la blockchain haya mejorado tu entendimiento y valoración sobre esta increíble y revolucionaria arquitectura de base de datos de persona a persona y sus aplicaciones.
NOTA
El texto es de naturaleza informativa y no cuenta como recomendación de inversión. No expresa la opinión personal del autor o del servicio. Cualquier inversión o intercambio conlleva riesgos. Beneficios pasados no garantizan beneficios futuros, arriesgue solo aquellos activos que esté dispuesto a perder.