La tecnología Blockchain ha surgido como el próximo elemento importante en las finanzas y la innovación digital, presentada con bastante fuerza como la nueva tecnología. El comediante Stephen Colbert le dio a la tecnología el apodo cómico de “oro para los nerds”, pero se trata de una tendencia importante, una tecnología transformadora con atractivo global.
Pero en esencia, una cadena de bloques funciona como una base de datos. Si bien un registro blockchain difiere de las bases de datos convencionales almacenadas en servidores centralizados, no se encuentra en un único servidor sino en una red global de computadoras de usuarios.
La estructura única hace de blockchain una base de datos distribuida con un marco de igual a igual. «Distribuido» significa que los datos están distribuidos en varios lugares, y «entre pares» significa que ninguna autoridad central supervisa una copia maestra de los datos.
La cadena de bloques Bitcoin de Satoshi Nakamoto llama la atención principalmente porque Bitcoin no fue la primera base de datos distribuida, el primer sistema peer-to-peer o el primer concepto de blockchain. Aún así, allanó el camino para la primera criptomoneda moderna y actuó como modelo para futuros sistemas blockchain.
¿Cómo funciona la cadena de bloques? Aquí hay un ejemplo
Supongamos que desea almacenar información sobre una mano de póquer en una base de datos. Para empezar, asignamos un número único a cada carta de una baraja: por ejemplo, tenemos 1 = as de espadas, 2 = 2 de espadas, 3 = 3 de espadas, y así sucesivamente hasta 52 = rey de corazones. Una mano de póquer podría registrarse de la siguiente manera:
Piense en la organización de datos en filas como en una hoja de cálculo. En el mundo de los profesionales de bases de datos, estos se conocen como registros, mientras que en el mundo de blockchain se les conoce como bloques. En realidad, los registros o bloques de filas son bloques de datos estructurados.
Digamos, por ejemplo, que la mano de póquer de tu oponente podría estar en las filas 6 a 10 y la de otro en las filas 11 a 15. Sólo tienes que decir qué fila contiene la primera carta de una mano concreta para identificarla.
Establecer conexiones entre datos
Varios usuarios pueden almacenar datos simultáneamente en una base de datos descentralizada de igual a igual. Por este motivo, es posible que las tarjetas no aparezcan en el orden de la base de datos. Para solucionar esto, se introducen sugerencias para conectar las tarjetas y formar una cadena de datos vinculados:
Digamos que la primera carta de tu mano, la fila 15, tiene un valor de 12 (la reina de espadas). Esta es la primera tarjeta, por lo que no hay una tarjeta anterior en el campo «Tarjeta anterior» para esta fila, por lo que tiene un valor de 0 para «Tarjeta anterior». La fila 37 almacena la siguiente tarjeta de la secuencia.
Examinar la fila 37 revela detalles similares: en otras palabras, es una carta en esta carta, que se refiere a la carta anterior (fila 15) y a la siguiente carta (fila 118). Los datos están organizados y rastreables de una manera; La tecnología blockchain utiliza una cadena de filas vinculadas para garantizar que los datos se mantengan en una cadena rastreable.
Entonces, la lista doblemente enlazada es solo una estructura descrita anteriormente en informática, donde los datos están vinculados hacia adelante y hacia atrás. Por otro lado, la estructura incluye punteros que apuntan a los puntos de datos anteriores y siguientes en la base de datos almacenados junto con los datos principales (es decir, valores de tarjeta).
Abordar las vulnerabilidades de los datos
El principal problema con esta configuración es que se puede cambiar. Cualquiera en la base de datos podría cambiar fácilmente los números de tarjeta sin protección adicional. Por ejemplo, podrían cambiar tus primeras cuatro cartas por cartas que valgan 1, 14, 27 y 40, todas ases.
Se puede agregar una capa adicional de protección para detener este tipo de manipulación. Para hacer esto, debe agregar un nuevo campo a la base de datos que almacene una suma de verificación para cada fila. Una suma de comprobación es la suma de todos los valores de la tarjeta hasta ese momento. Se utiliza para asegurarse de que los datos sean correctos. Como ejemplo:
- Para encontrar la suma de verificación de la segunda carta en tu mano, suma los números de las dos primeras cartas, que son 12 y 44. Esto te da 56.
- El número de la tercera carta también sería la suma de su valor y los valores de las cartas anteriores.
Las diferencias pueden mostrar que los datos han sido modificados al volver a calcular y verificar las sumas de verificación cada vez que se ven. Los datos se han modificado si la suma de verificación estimada no coincide con la suma de verificación almacenada.
Aplicaciones comunes de sumas de verificación
La tecnología informática utiliza ampliamente sistemas de suma de comprobación para garantizar la integridad de los datos. Así es como los chips de memoria detectan errores como los de sus computadoras y teléfonos inteligentes. Al igual que con los discos duros, las sumas de verificación se utilizan para determinar si existe algún problema.
Las limitaciones de las sumas de verificación básicas
Un sistema de suma de comprobación simple es eficaz contra inyecciones accidentales, pero no contra ataques intencionales. Con acceso a la base de datos, los piratas informáticos podrían agregar sus cambios tanto a los valores de la tarjeta como a las sumas de verificación que la acompañan. Además, podrían cambiar los punteros de «tarjeta anterior» y «siguiente tarjeta» para reemplazar algunas de las tarjetas en tu mano con tarjetas almacenadas en diferentes filas.
Hashing criptográfico
El inventor de Blockchain, Satoshi Nakamoto, reconoció estas vulnerabilidades e incorporó un método más seguro para mantener la integridad de los datos y los enlaces de la cadena: el hash criptográfico. Es un proceso para reemplazar las sumas de verificación básicas basadas en sumas con técnicas criptográficas ampliamente avanzadas para evitar manipulaciones y hacer que la estructura de la cadena de bloques sea mucho más segura.
Mediante el uso de hash, la tecnología blockchain permite identificar e invalidar alteraciones no enrutables en los datos, invalidando la cadena en general. También actúa como un fuerte mecanismo de protección contra cambios no autorizados.
Comprensión del hash y el cifrado en sistemas Blockchain
Hashing es una forma de crear un identificador único sumando los valores de los registros más recientes y anteriores en una operación matemática unidireccional. Este proceso crea un valor hash, como 5156BECBC019E3F0, que no se puede revertir para volver a los datos originales. Como no se puede deshacer, se llama «unidireccional».
En los sistemas blockchain, el valor hash de cada bloque se basa en el valor hash del bloque anterior. Esto crea una cadena que regresa al primer bloque, el Bloque 0 de Nakamoto. Puede encontrar el valor hash de un bloque y compararlo con el valor hash almacenado en el bloque para asegurarse de que sea correcto. Si estos números son diferentes, significa que alguien cambió los hechos.
En las bases de datos estándar, es posible cambiar datos, recalcular valores hash y cambiar registros después de los cambios para ocultarlos. Por otro lado, este método no funcionará con redes blockchain distribuidas de igual a igual. Para dañar estos sistemas, alguien tendría que cambiar copias de la información simultáneamente en cientos o miles de computadoras separadas, lo cual es casi imposible.
Esto significa que se pueden agregar nuevos bloques de datos a la cadena de bloques, pero los bloques que ya están allí no se pueden cambiar ni eliminar. Esto garantiza que los eventos que ya sucedieron, como una transferencia de Bitcoin, no puedan modificarse ni borrarse después del hecho.
Mecanismos y desafíos centrales de Blockchain
Un sólido mecanismo de hash valida y protege los datos en las transacciones de blockchain. Esta transformación convierte la información en un hash de longitud fija (huella digital), garantizando la integridad de la transacción.
Nakamoto mejoró la seguridad mediante la implementación de protocolos de cifrado que permiten a todos los usuarios de blockchain acceder a sus datos, pero sólo aquellos con las claves de descifrado adecuadas pueden entenderlos. Si esas claves están ausentes, los datos aparecen como una cadena de caracteres ininteligibles, lo que mantiene la información a salvo de manos no deseadas.
La importancia de la tecnología Blockchain
Blockchain está diseñado para varios elementos, incluida la verificabilidad, la permanencia y la privacidad. Los registros de transacciones son públicos, pero el cifrado protege los datos valiosos contra la manipulación o la visualización por parte de usuarios no autorizados. La cadena de bloques de Bitcoin, o «libro mayor abierto», existe debido a esta transparencia y seguridad.
Sin embargo, un sistema seguro y descentralizado requiere inevitablemente mucha potencia computacional, lo que afecta la velocidad de las transacciones. La cadena de bloques de Bitcoin procesa 4,6 transacciones por segundo (TPS), una pequeña fracción del promedio de las redes de tarjetas de crédito de 1.700 TPS o de la capacidad declarada de 56.000 TPS. Esto indica un problema de escalabilidad que todos sabemos que Bitcoin tiene un problema que los científicos e investigadores informáticos enfrentan para resolver.
Consumo de energía y complejidad de la red
La red de Bitcoin consume cantidades masivas de electricidad con el tiempo (es decir, pasa de usar menos energía a usar más), y al parecer consume más energía que países como Suiza. Esta red tiene sus nodos completos, que incluyen alrededor de 250 GB de datos en un momento dado, que son un componente clave de esta red. Sin embargo, estos nodos mantienen la confiabilidad y precisión de la cadena de bloques a expensas de gravar sus recursos.
La red también incluye nodos SPV (Verificación de Pago Simplificada), que examinan transacciones discretas y confirman la responsabilidad de almacenar la cadena de bloques completa. Determinar cuántos nodos componen la red Bitcoin es difícil; Los expertos estiman que hay entre 6.000 y 200.000. Sin embargo, las estimaciones en tiempo real de nodos accesibles en plataformas como Bitnodes dejan el número exacto desconocido, gracias a la estructura dinámica y descentralizada de la red.
La evolución de la tecnología Blockchain
Aunque Bitcoin y Ethereum siempre seguirán siendo dos pilares fundamentales del ecosistema de activos digitales, las cadenas más pequeñas han abierto una serie de beneficios que sólo recientemente estaban fácilmente disponibles. Al mismo tiempo, la inspiración para el concepto revolucionario de Satoshi Nakamoto ha inundado el panorama blockchain y han surgido cientos, si no miles, de alternativas. Las cadenas de bloques que se ejecutan en estos pueden ser públicas, por ejemplo, la cadena de bloques de Bitcoin, o privadas para coordinar la gestión de datos internos de una organización.
Los investigadores y desarrolladores han mejorado el núcleo de ese marco blockchain con el tiempo mediante la introducción de numerosas variaciones. Estas adaptaciones a menudo intentan llevar la tecnología a un nivel superior mediante un procesamiento de transacciones más rápido, escalabilidad o reducción de las tarifas de transacción.