Blockchain es cada vez más común en industrias en todo el mundo, y hay mucho por saber antes de empezar. Sin embargo, una vez que tenga los basicos hacia abajo, pueden comenzar a surgir preguntas sobre la seguridad de la cadena de bloques. Dado que millones de personas pueden estar involucradas en una cadena de bloques valiosa, parece imposible confiar en tantos extraños. 

Sin embargo, se habla mucho sobre la seguridad garantizada al usar la tecnología. De hecho, es una de las características más atractivas de la misma. Como sabemos, la información añadida a un bloque es casi imposible de manipular. Esto se debe al código hash que se agrega, que cambia si se altera la información dentro del bloque.

Por simple que parezca, podría tropezar fácilmente en el camino si no comprende correctamente las complejidades de la seguridad de la cadena de bloques. Es un tema en capas. Si bien algunos dicen que la tecnología es impenetrable, hay formas de evitarlo, como el ataque del 51%, por ejemplo.

Comprender la seguridad de la cadena de bloques

La seguridad de blockchain a menudo está vinculada a dos ideas principales. Esos conceptos son la inmutabilidad y el consenso. Juntos, trabajan para garantizar que los datos o la información almacenados en una cadena de bloques estén seguros.

El concepto de inmutabilidad puede entenderse como una característica de la tecnología que impide cualquier alteración de las transacciones o información ingresada después de la confirmación de las mismas. En otras palabras, la inmutabilidad significa que los datos dentro de un bloque no se pueden cambiar. 

Por otro lado, hay consenso. Esto se refiere al hecho de que, dado que una cadena de bloques es un libro mayor distribuido, todos los nodos de la red deben estar de acuerdo sobre la validez de las transacciones y el estado de la red en general. Por lo general, el consenso se logra utilizando algo llamado algoritmo de consenso.

Algoritmo de consenso

¿Cómo se logran estos pilares de la seguridad de Blockchain?

La criptografía juega un papel muy importante en la seguridad de los datos cuando se utiliza esta tecnología. En particular, el uso de funciones hash criptográficas permite proteger los datos. 

Hashing es un proceso en el que los datos se ingresan en un algoritmo para generar una salida llamada hash. El hash siempre tendrá la misma longitud o, en otras palabras, contendrá la misma cantidad de símbolos, sin importar el tamaño de los datos de entrada. 

Lo que hace que el proceso sea poderoso, en términos de seguridad, es que si se modifica la entrada, la salida cambiará automáticamente y será completamente diferente. Sin embargo, si la entrada sigue siendo la misma, la salida también lo hará, independientemente de cuántas veces la someta al proceso de hashing.

Inmutabilidad

Así es como una cadena de bloques se vuelve inmutable. Cada bloque recibe un hash que se utiliza como identificador de ese bloque específico. Además, el hash de cada bloque se genera no solo en relación con los datos que contiene, sino también en relación con el hash del bloque anterior. Así es como se conectan en una “cadena”.

Dado que el hash se genera utilizando los datos dentro del bloque, si esa información cambia, el hash también cambiará. A su vez, esto significa que el hash de cada bloque que sigue también deberá cambiarse.

Esto requerirá una gran cantidad de tiempo y esfuerzo, y tendrá que hacerse antes de que alguien agregue otro bloque, o de lo contrario, las modificaciones serán contradictorias y otros nodos las rechazarán. Por lo tanto, la cadena de bloques es a prueba de manipulaciones o, más bien, inmutable.

Tecnología inmutable

Consenso

Los algoritmos de consenso también usan hashing para garantizar que las transacciones sean válidas. El hash generado aquí es una prueba de que el minero que agregó el bloque realmente hizo el trabajo de cómputo. La cadena de bloques de Bitcoin, por ejemplo, utiliza un algoritmo de prueba de trabajo que utiliza una función hash llamada SHA-256.

Una vez que se genera el hash, cualquier otro nodo también puede verificar que sea correcto ingresando los mismos datos y verificando que la salida (hash) sea la misma. El consenso también se logra a través de todos los nodos en la red que aceptan un historial compartido, que por supuesto se puede rastrear mediante el seguimiento de los hash.

¿De qué otra manera la criptografía garantiza la seguridad de la cadena de bloques?

Para las cadenas de bloques que se centran en algún tipo de criptomoneda, la criptografía permite la protección de billeteras que almacenan monedas, fichas o unidades monetarias (o el término que prefiera).

Para generar claves privadas y públicas se utiliza un tipo de criptografía, diferente a la utilizada para el consenso y la inmutabilidad. Estas claves son las que permiten a los usuarios recibir y enviar pagos en una cadena de bloques.

La clave privada se utiliza para crear una firma digital que, a su vez, autentica la propiedad o transferencia de las monedas. De esta manera, la seguridad de la cadena de bloques se basa aún más, ya que la propiedad también está asegurada.

¿La seguridad de Blockchain está 100% garantizada?

En resumen, no. La teoría de la seguridad de la cadena de bloques suena bien y, en el proceso de tratar de comprender los conceptos, es fácil pensar que funcionará así: cien por ciento seguro, el cien por ciento del tiempo. Sin embargo, la implementación de la teoría, como con todas las cosas, es mucho más difícil. De hecho, hay algunas formas comunes de evitarlo. 

Sin embargo, vale la pena señalar que, antes de analizar las formas en que la tecnología se queda corta, si bien la seguridad de la cadena de bloques no está garantizada, sortear los sistemas de seguridad no es una tarea fácil.

51% de ataque

51% de ataque

El ataque del 51 % es una de las amenazas citadas con más frecuencia para la seguridad de la cadena de bloques, y en particular para Bitcoin. Esta amenaza involucra a un grupo de mineros que representan más de la mitad de la tasa de hash de minería o el poder de cómputo en la red, uniéndose como un actor malicioso.

Al controlar la mayoría del poder, estos mineros podrían influir en qué transacciones se confirman o rechazan, u obstruyen los pagos. Además, podrían revertir las transacciones que se completan mientras tienen el control, lo que les permitiría gastar el doble de la moneda.

Es poco probable que el ataque resulte en la creación de nuevas monedas o el daño total de la moneda por completo. Sin embargo, podría ser significativamente perjudicial para la red y todos sus usuarios.

¿Cómo funciona el ataque?

Una vez que se realiza una transacción, cae en un grupo de transacciones confirmadas. Los mineros eligen transacciones para formar un bloque, pero para formar el bloque, necesitan realizar hash. Una vez que se encuentra el hash, se transmite al resto de los mineros, quienes verificarán si las transacciones en el bloque son válidas.

Como los actores maliciosos controlan la mayor parte de la energía en la red, en primer lugar, es probable que encuentren el hash primero (ya que este es un proceso que requiere mucha potencia computacional). Esto también significa que serían dueños de todas las recompensas. En segundo lugar, incluso si no encuentran el hash, monopolizan la capacidad de confirmar o rechazar las transacciones en el proceso de verificación.

¿Ha sucedido antes?

Ha habido dos casos notables de ataques del 51% en diferentes cadenas de bloques. En 2016, dos cadenas de bloques basadas en ethereum, denominadas respectivamente Krypton y Shift, fueron víctimas de este ataque.

Dos años después, Bitcoin Gold también fue víctima.

Noticias Financieras

¿Qué tan fácil es realizar el ataque?

El ataque es bastante difícil de organizar y realizar. Como se mencionó anteriormente, un actor malintencionado necesitaría más del 50 % de la potencia computacional de la red.

Bitcoin, por ejemplo, tiene cientos de miles de menores. Esto significa que el actor malicioso tiene que reunir aproximadamente la mitad de ellos y hacer que actúen maliciosamente con él o tiene que desembolsar mucho dinero para comprar hardware que le permita superar el 50% de la potencia en la red. Ambas tareas (aunque no completamente fuera del ámbito de la posibilidad) son extremadamente exigentes, de una forma u otra. 

Otras amenazas a la seguridad de la cadena de bloques

Dado que el ataque mencionado anteriormente es bastante difícil de realizar, la gente ha ideado otras formas de engañar (teóricamente) al sistema, en detrimento de la seguridad de la cadena de bloques.

En un estudio por informáticos de la Universidad de Cornell, hablan de la idea del “minero egoísta”. Sin entrar en los tecnicismos del mismo, este minero puede engañar a otros cuidadores para que pierdan el tiempo en acertijos computacionales ya resueltos, obteniendo así una ventaja injusta.

Otra posible amenaza es el “ataque del eclipse”. Dado que los nodos deben permanecer continuamente en contacto para comparar datos e información, un actor malintencionado que tome el control de otros nodos y los engañe para que acepten datos incorrectos puede engañarlos para que pierdan tiempo y energía, y para que confirmen transacciones falsas.

¿Dónde nos encontramos con la seguridad de la cadena de bloques?

En su mayor parte, los sistemas implementados garantizan que la seguridad de la cadena de bloques sea bastante sólida y eficiente. Los factores de inmutabilidad y consenso, que se fortalecen mediante el uso de la criptografía, permiten una experiencia de usuario, en su mayoría, segura y protegida.

Sin embargo, como con todas las cosas, nunca debemos decir nunca. Siempre existe la más mínima posibilidad de una brecha en la seguridad. Pero los ejemplos de amenazas a la seguridad, ya sean de la vida real o teóricas, son bastante difíciles de poner en práctica. Requieren más energía de la que la mayoría tiene acceso y, por lo tanto, no son una preocupación para la mayoría de los que hacen uso de la tecnología.