La privacidad en el sector digital ha sido un tema latente. Al encontrarnos en una era tan digitalizada nuestros datos personales se encuentran constantemente en riesgo y la tecnología blockchain no es la excepción.

Desafíos de Seguridad y Privacidad en la Tecnología Blockchain

Tribuna Madrid
blockchain

Cuando hablamos de blockchain, nos referimos a una “cadena de bloques” donde cada bloque contiene información codificada de una transacción. Esto es comparable a lo que conocemos como una base de datos. Sin embargo, en este caso, se trata de una base de datos distribuida descentralizada, inmutable y compartida que registra transacciones de forma codificada en forma de libro contable (ledger).

Transparencia tecnología blockchain

La tecnología blockchain se caracteriza por su publicidad, distribución, inmutabilidad, ausencia de intermediarios y la transparencia. No obstante, una de ellas y, la más importante para efectos de este análisis, es la transparencia. En lo que respecta a la transparencia, la tecnología Blockchain se caracteriza por la posibilidad de observar cada transacción. Si bien es cierto que la blockchain misma protege dicha transparencia mediante un encriptado bastante complejo (mediante un algoritmo matemático que actúa como un firewall para ataques). Dicha característica de transparencia se ha convertido en un cuestionamiento sobre la confidencialidad de los datos que se transacciones dentro de la blockchain.

Imaginemos el caso de una blockchain aplicada al sector médico que desea aprovechar la tecnología blockchain para mantener un registro seguro y transparente de los historiales médicos de los pacientes, pensaríamos que la blockchain sería ideal para garantizar la integridad de los datos y permitir un acceso controlado a los registros médicos, pero ¿Qué pasa con la protección de datos de los pacientes? En este y en otros casos es cuando surge el cuestionamiento sobre la seguridad y privacidad en la blockchain en materia de protección de datos confidenciales[1]. Para abordar la realidad detrás de este cuestionamiento es importante primero distinguir y descartar aquellos “escenarios” -ciberataques- que han generado un cuestionamiento de la seguridad de la blockchain.

Uno de los cuestionamientos notorios sobre la seguridad de la blockchain es el conocido Ataque de Sybil. Este tipo de ataque implica una estrategia maliciosa en la que un actor intenta controlar múltiples identidades falsas o nodos en una red descentralizada para incrementar su influencia y aprovecharse de la red. Concretamente, podría llegar a bloquear o incluso censurar a ciertos usuarios al superar ciertos votos y, por ende, decidir no transmitir cierta información de un bloque a otro.

Un ejemplo específico de transmisión de información entre bloques es la transmisión de la propiedad de un activo digital. Imagina que un usuario realiza una transacción para transferir la propiedad de un token único en la blockchain. La información sobre la propiedad y la autenticidad de este token se registra en un bloque específico. Sin embargo, si un atacante llevase a cabo un Ataque de Sybil exitoso y obtuviera el control de suficientes nodos para bloquear la transmisión de información entre bloques, podría manipular la cadena para transmitir la propiedad de ese token ilícitamente.

No obstante, es importante destacar que, aunque pareciera ser una enorme vulneración a la seguridad de la blockchain, un ataque de Sybil se convierte en un problema significativo únicamente en los siguientes dos casos, que además dependen del algoritmo de consenso[2] en el que esté basada la blockchain:

  1. Ataque 51%: Un ataque del 51% es una amenaza particular a aquellas blockchains que se basan en un algoritmo de consenso llamado Prueba de Trabajo (Proof of Work[3]). El término "51%" se refiere a la circunstancia en la que una entidad o un grupo de mineros coordinados adquieren un poder computacional a la red superando el 50% +1 del poder total de la red. Al tener un control igual o mayor al 51%, esta entidad o grupo de mineros pueden manipular la generación de bloques y alterar el registro de la blockchain. Este tipo de ataque pone en peligro la descentralización de la blockchain, convirtiéndola temporalmente en una entidad centralizada durante la duración del ataque, lo que permite al atacante modificar el orden y el contenido de las transacciones a su favor.
  2. Ataque 33%: Un ataque del 33% plantea una amenaza significativa a aquellas blockchains que operan bajo un algoritmo de consenso conocido como Prueba de Participación (Proof of Stake[4]). En este contexto, el término "33%" se refiere a la situación en la que un atacante adquiere el 33% de los activos apostados en la red. A diferencia de los ataques del 51%, los ataques del 33% pueden ser permanentes, ya que no requieren un coste eléctrico externo continuo. Esta vulnerabilidad supone un desafío considerable, ya que un atacante con una participación del 33% puede potencialmente alterar el funcionamiento de la blockchain y comprometer su integridad[5].

Ataques de Sybil

Sin embargo, los Ataques de Sybil no son el único desafío en la seguridad de blockchain, otro ataque notorio surge con el sonado hackeo de la DAO donde se sustrajeron 60 millones de dólares en Ethers: el ataque de reentrada. Este es un ciberataque muy complejo que se dirige a los contratos inteligentes basados en Ethereum donde el atacante crea un contrato que simula ser un inversor y deposita dinero en el contrato que tiene como objetivo robar. Luego, cuando intenta retirar su dinero, el contrato atacante tiene una función de reserva que lo hace llamar nuevamente al contrato que está tratando de robar. Esto crea un bucle de llamadas que permite al atacante tomar más dinero del que debería. Esto sucede porque el contrato atacante engaña al contrato objetivo para que realice múltiples transacciones, lo que le permite tomar ventaja de los recursos limitados del contrato objetivo y llevar a cabo acciones inesperadas. Podemos imaginarlo como si se realizara un hackeo a un cajero automático de manera que, en lugar de obtener la cantidad de dinero que debería, el cajero automático le entregara dinero varias veces seguidas, superando los límites de lo esperado.

Si bien, del anterior análisis podemos destacar que, aunque es evidente que la seguridad de la blockchain puede verse comprometida en Ataques de Sybil y/o ataques de reentrada, es importante señalar que la confidencialidad de datos rara vez es el foco principal de estos incidentes. En su lugar, estos ataques se centran más en intentos de manipular o robar activos digitales.

Ahora bien, en materia de confidencialidad de datos es cierto que existen ciberataques que buscan el robo de información confidencial, uno de ellos son los ataques de phishing, típicos del entorno web2, que también pueden afectar a la comunidad de blockchain. Estos ataques se aprovechan de fallos de seguridad en aplicaciones y plataformas que interactúan con la blockchain, como billeteras digitales, intercambios de criptomonedas y aplicaciones de mensajería. En el contexto de blockchain, hemos visto casos en los que los atacantes engañan a los usuarios para que revelen sus claves privadas de acceso, lo que puede resultar en el robo de criptomonedas en las redes de blockchain públicas. Si bien la blockchain en sí misma es resistente a este tipo de ataques, es crucial destacar que la seguridad de la blockchain depende en gran medida de la seguridad de las aplicaciones utilizadas y de la conciencia de los usuarios

Frente a los mencionados ataques, se ha explorado la mitigación de este problema mediante el uso de blockchains privadas, con la expectativa de preservar la confidencialidad de la información. Al referirnos a blockchains privadas, es crucial distinguir entre dos tipos: aquellas con permiso y aquellas sin permiso.

Red privada

En una red privada con permiso, se requiere autorización para acceder (activar un nodo), y existe una restricción en cuanto a quiénes pueden realizar transacciones. A pesar de ello, el público autorizado puede observar los bloques y las transacciones, incluso si no tienen la autorización para realizar transacciones. Este escenario implica un control de acceso a la información para mantener la confidencialidad, aunque no garantiza la protección contra posibles filtraciones si un atacante compromete un nodo autorizado con acceso a la red privada con permiso.

Por otra parte, en una red privada sin permiso, cualquiera puede activar un nodo. Sin embargo, hay dos subtipos a considerar: en uno, cualquier individuo puede activar un nodo. Sin embargo, los otros nodos simplemente reconocen la existencia de este nodo sin compartir datos, ya que la información contenida en ellos se mantiene como privada. Este enfoque permite la participación abierta, pero limita el intercambio de información a niveles superficiales, preservando la privacidad de los datos almacenados en la red. En el otro tipo de red privada sin permiso, se plantea una inquietud sobre el control excesivo de la confidencialidad. Aunque cualquiera puede activar un nodo, la preocupación radica en que los otros nodos pueden imponer restricciones significativas en términos de acceso y compartición de datos. Este enfoque puede limitar la utilidad de la red al no permitir la creación de bases de datos confidenciales que sean consultables por usuarios específicos, similar a las redes privadas con permiso.

En suma, las blockchains privadas con permiso cuentan con dos subtipos, donde el primero implica que solo los nodos autorizados pueden enviar transacciones, pero cualquier persona puede leerlas, y el segundo requiere autorización tanto para enviar como para leer transacciones.

Aun teniendo presentadas las "ventajas" de las redes de blockchain privadas, algo importante a contemplar es que el control de la red recae en un ente, que puede ser una persona u organización, por lo tanto, la descentralización se ve afectada perdiendo una de las características esenciales de la blockchain. Por lo tanto, se presenta una posible solución a mantener un control sobre datos confidenciales, sin perder dicha naturaleza de descentralización, dicha alternativa podría ser la prueba de conocimiento cero (Zero-knowledge proof).

El protocolo de conocimiento cero es un método que puede aplicarse en la blockchain, mediante el cual una parte (el demostrador) puede demostrar a otra parte (el verificador) que algo es cierto, sin revelar ninguna información adicional aparte del hecho de que la afirmación específica es verdadera. Este protocolo de conocimiento puede ser utilizado para controlar el tipo de información que se proporcionará al "verificador" que lo solicite, especialmente si se trata de datos confidenciales. Incluso abre la posibilidad de utilizar datos extremadamente sensibles, como los secretos comerciales, sin la necesidad de revelarlos. Sin embargo, es importante recordar que, al estar esta información en la blockchain, no estará exenta de los ciberataques que se han abordado, y existe la posibilidad de que la información confidencial se filtre.

En resumen, es esencial reconocer que la seguridad y la privacidad en la blockchain son aspectos distintos que requieren enfoques específicos. La seguridad aborda amenazas como los ataques de Sybil, el ataque de reentrada y otros intentos de manipulación o robo de activos digitales, como el phishing. Por otro lado, la privacidad se ve desafiada por la transparencia inherente de la blockchain, generando dudas sobre la confidencialidad de datos sensibles.

Ambos aspectos demandan medidas de protección adicionales para resguardar la integridad de la información y prevenir la divulgación no autorizada de datos sensibles. Aunque las blockchains privadas representan un avance positivo en seguridad, la clave no reside exclusivamente en el tipo de blockchain (pública o privada, con permiso o sin permiso). En cambio, se centra en la implementación de mecanismos sólidos de seguridad, autenticación y control de acceso, independientemente de la naturaleza de la red blockchain.

La introducción de la prueba de conocimiento cero se presenta como una prometedora alternativa, permitiendo la validación de afirmaciones sin revelar información adicional, incluso en casos de datos extremadamente sensibles como los secretos comerciales. Sin embargo, es crucial recordar que la presencia en la blockchain no garantiza una inmunidad total contra ciberataques, resaltando la necesidad constante de vigilancia y la adopción de prácticas seguras.

En este contexto, es de suma importancia entender que la seguridad y la privacidad son esfuerzos continuos y complementarios. La conservación de la confidencialidad de datos sensibles recae en la educación, la adopción de autenticación de dos factores y la constante conciencia de las amenazas digitales debido a que la mayoría de estas problemáticas no dependen exclusivamente de la tecnología de blockchain per se, sino más bien de la capacidad de bloquear o no permitir la participación de actores malintencionados.

 

Bibliografía.

Pérez de San Román Martínez de Lahidalga, K. (2021). Análisis de los distintos tipos de cadenas de bloques. Universitat Oberta de Catalunya. Máster Universitario en Ciberseguridad y Privacidad. Disponible en: https://openaccess.uoc.edu/bitstream/10609/132652/6/kperezdesanromanTFM0621memoria.pdf

González, S. (2022, 26 de agosto). Qué es un ataque de Sybil: una amenaza que apunta a redes blockchain. Welivesecurity. Disponible en: https://www.welivesecurity.com/la-es/2022/08/26/que-es-ataque-sybil-amenaza-redes-blockchain/

IBM. (s.f.). ¿Qué es la seguridad de blockchain?. Disponible en: https://www.ibm.com/es-es/topics/blockchain-security

Ethereum. (2023, 2 de noviembre). Zero Knowledge Proofs. Disponible en: https://ethereum.org/en/zero-knowledge-proofs/

DGC AG. (2022, 18 de julio). 51% Attack: How blockchain providers protect themselves from cyberattacks. Disponible en: https://dgc.org/en/51-attack/

101 Blockchains. (2020, May 28). Permissioned vs Permissionless Blockchains. Disponible en: https://101blockchains.com/permissioned-vs-permissionless-blockchains/

Radutiu, B. R. (2019, 26 de septiembre). Blockchain privada sin permiso. Medium. Dsiponible en: https://medium.com/@raulitiu/blockchain-privada-sin-permiso-e5a14a28a443

Pratap, Z. (2022, August 31). Reentrancy Attacks and The DAO Hack. Chainlink. Disponible en: https://blog.chain.link/reentrancy-attacks-and-the-dao-hack/

[1] Cuando hablamos de 'datos confidenciales', nos referimos a cualquier dato sensible que se ingrese en la blockchain y que no se desee que esté disponible para el público en general.

[2] Un algoritmo de consenso en una red blockchain es como una regla que ayuda a todos los ordenadores interconectados (llamados nodos) a ponerse de acuerdo sobre cuáles transacciones son válidas y en qué orden se deben agregar a la lista de transacciones. Es como una especie de "votación" que asegura que todos estén de acuerdo sobre lo que está sucediendo en la red blockchain. Esto es importante para mantener la seguridad y la integridad de la red.

[3] En este mecanismo de consenso, los nodos mineros desempeñan un papel esencial. Cuando se intenta realizar una transacción, se consulta a todos los nodos mineros de la red para determinar si la transacción es válida. La transacción sólo puede ser procesada y confirmada si la mayoría de los nodos están de acuerdo en que debe ser validada. En caso contrario, la transacción es rechazada.

[4] En este algoritmo los nodos, a los que se les denomina validadores, participan activamente. La decisión sobre cuál de estos validadores llevará a cabo la validación de un bloque se toma de forma aleatoria, aunque se otorga una mayor probabilidad a aquellos que cumplen una serie de criterios predefinidos. Estos criterios pueden incluir la cantidad de moneda reservada y el tiempo de participación en la red, y también pueden ser personalizados según las necesidades específicas. Los validadores seleccionados tienen la capacidad de validar transacciones y crear nuevos bloques en la cadena. Este enfoque asegura que la red funcione de manera eficiente y confiable, ya que la mayoría de los validadores deben estar de acuerdo en la validez de las transacciones para que sean procesadas y confirmadas, lo que ayuda a prevenir transacciones inválidas o maliciosas.

[5] Es importante precisar que este tipo de algoritmo de consenso es utilizado en criptomonedas.


ElDerecho.com no comparte necesariamente ni se responsabiliza de las opiniones expresadas por los autores o colaboradores de esta publicación