• Alejandra Mora

Blockchain y su seguridad.



En el artículo anterior referido al tema de blockchain, hablábamos de lo que es realmente, así como las funciones para las cuales podría ser utilizado. Ocupamos algunos ejemplos para explicar de mejor manera su uso, sin embargo. Un tema al que le debemos más atención y que debe tener un artículo propio, es la seguridad que ofrece blockchain.

Si bien es un sistema altamente efectivo contra robos cibernéticos, presenta algunos problemas y espacios en blanco en su seguridad que lo han hecho vulnerable a algunos ataques. En los siguientes artículos hablaremos tanto de su seguridad, como de los ataques que ha tenido blockchain.

La seguridad de blockchain está elaborada principalmente por dos factores:

El primero es la transparencia con la que funciona, haciendo que todos los participantes de una red puedan observar cada parte de la cadena de bloques, así como cada cambio que pueda existir en la misma. Podría decirse que los propios ojos de los interesados son el primer filtro de seguridad en el sistema, ya que cualquier alteración que pudiera existir en contra de sus intereses, podrá ser reportada.

El segundo filtro es el código Hash que mencionamos anteriormente.

El código o función Hash (también conocido como función resumen) es una función que, utilizando un algoritmo matemático, transforma un conjunto de datos en un código alfanumérico con una longitud fija. Da igual la cantidad de datos que se utilice, el código resultante tendrá siempre el mismo número de caracteres. Debido a que es un algoritmo matemático. No se puede hablar de una sola función Hash, sin embargo, las funciones más comunes son las funciones denominadas SHA-2 por sus siglas en inglés (Secure Hash Algoritm) que pueden ser SHA-224, SHA-256, SHA-384 dependiendo de la cantidad de bits que se elijan para resguardar la información.

La principal característica de la función Hash, consiste en que a cada conjunto de valores (bloque) se le asigna un código único e irrepetible y si se intenta cambiar el conjunto de valores, por más mínimo que sea el cambió, generará un código nuevo y totalmente diferente.

Entonces ¿cómo es que la función Hash ayuda a hacer blockchain tan efectivo?

Si yo coloco un conjunto de valores {1, 2, 3} para crear un bloque “A”, se asignará un código Hash, supongamos que el código es “DT56S1”. Posteriormente coloco un conjunto de valores {4, 5, 6} creando un bloque “B” que tendrá el código “C4F67GR3”. Finalmente coloco un conjunto {7, 8, 9}, bloque “C” código “H5V78CT3”.

En el ejemplo anterior se tienen tres bloques, cada uno con su propio código. El bloque A quedara como la base de la cadena, al cual le seguirá el bloque B. La forma en la que estos dos bloques quedan conectados es a través del código Hash del primer bloque. Esto es, el bloque B tendrá su código C4F67GR3, pero quedará encadenado al código D3T56AS1 del bloque A. Lo siguiente será que el bloque C que tiene su código H5V78CT3, quedará encadenado al bloque B con el código C4F67GR3. Así quedan los tres bloques encadenados con el código del bloque anterior, al momento de realizar un nuevo bloque, este quedará encadenado al código del bloque C y así consecutivamente.

¿Cómo garantiza la seguridad de la información estos dos factores?

Si yo intento hacer un cambio al bloque A cambiando un valor y dejándolo {1, 2, 0} automáticamente se generará un nuevo código, suponiendo “7F8T5IX4” lo cual rompería la cadena y alertaría a cada uno de los involucrados en la red debido a que la seguridad de blockchain considera un esquema de consenso donde cada uno de los nodos tiene un registro del libro universal, lo que significa que cada uno de los involucrados tiene el registro de los movimientos. Al alterar información de un bloque, deja de existir consenso entre los nodos y cada involucrado en la red quedaría actualizado de la situación. Pasaría lo mismo si intento cambiar el orden del conjunto {1, 3, 2} se genera un nuevo código que rompería la cadena. Por más mínimo que sea el cambio, se genera un nuevo código.

En este ejercicio es fácil entender por qué, por ejemplo, un contrato no puede alterarse si se elabora en blockchain. Cada actualización generaría un código nuevo consecuentemente hasta crear un esquema final donde todas las partes interesadas estén de acuerdo, teniendo finalmente un contrato consensuado. Si se intentara cambiar el contrato final, se crearía un nuevo código, rompiendo con el consenso de los nodos y a su vez rompiendo con la cadena, enterando a todos los involucrados en el acuerdo.

Sin duda los métodos de seguridad de blockchain son efectivos. Su transparencia da la ventaja de observar cada uno de los cambios, permitiendo el control de cada uno de los involucrados sobre el libro de registro general. Así mismo, tener las funciones Hash en la seguridad de la cadena, da la seguridad de que se puede realizar un trato serio entre interesados a través de este método. Entendiendo que las partes terminarán creando un acuerdo incorruptible el cual quedará registrado permanentemente. No obstante la seguridad que presenta blockchain, se han encontrado ciertas deficiencias o métodos para posibilitar la corrupción de la información. Se han creado métodos similares a blockchain que hacen posible la edición de sus bloques, lo que permite la entrada a movimientos no autorizados, de igual manera, se ha encontrado un método para poder corromper el método de consenso. En nuestro próximo artículo hablaremos sobre estas inseguridades, situaciones que se han presentado debido a estas y qué métodos se han ocupado para contrarrestarlas.


47 visualizaciones