¿Qué tan seguro es realmente blockchain?

Sr. tecnología





El objetivo de usar una cadena de bloques es permitir que las personas, en particular, las personas que no confían entre sí, compartan datos valiosos de una manera segura y a prueba de manipulaciones. Esto se debe a que las cadenas de bloques almacenan datos utilizando matemáticas sofisticadas y reglas de software innovadoras que son extremadamente difíciles de manipular para los atacantes. Pero la seguridad incluso de los sistemas de cadena de bloques mejor diseñados puede fallar en lugares donde las sofisticadas reglas matemáticas y de software entran en contacto con humanos, que son hábiles tramposos, en el mundo real, donde las cosas pueden complicarse.

Para entender por qué, comience con lo que hace que las cadenas de bloques sean seguras en principio. Bitcoin es un buen ejemplo. En la cadena de bloques de Bitcoin, los datos compartidos son el historial de cada transacción de Bitcoin que se haya realizado: un libro de contabilidad. El libro mayor se almacena en múltiples copias en una red de computadoras, llamadas nodos. Cada vez que alguien envía una transacción al libro mayor, los nodos verifican para asegurarse de que la transacción sea válida: que quien gastó un bitcoin tenía un bitcoin para gastar. Un subconjunto de ellos compite para empaquetar transacciones válidas en bloques y agregarlas a una cadena de transacciones anteriores. Los propietarios de estos nodos se llaman mineros. Los mineros que agregan con éxito nuevos bloques a la cadena obtienen bitcoins como recompensa.

El problema de la cadena de bloques

Esta historia fue parte de nuestra edición de mayo de 2018



  • Ver el resto del número
  • Suscribir

Lo que hace que este sistema sea teóricamente a prueba de manipulaciones son dos cosas: una huella digital criptográfica única para cada bloque y un protocolo de consenso, el proceso mediante el cual los nodos de la red acuerdan una historia compartida.

La huella digital, llamada hash, requiere mucho tiempo de computación y energía para generarse inicialmente. Por lo tanto, sirve como prueba de que el minero que agregó el bloque a la cadena de bloques hizo el trabajo de cómputo para ganar una recompensa de bitcoin (por esta razón, se dice que Bitcoin usa un protocolo de prueba de trabajo). También sirve como una especie de sello, ya que alterar el bloque requeriría generar un nuevo hash. Sin embargo, verificar si el hash coincide o no con su bloque es fácil, y una vez que los nodos lo han hecho, actualizan sus respectivas copias de la cadena de bloques con el nuevo bloque. Este es el protocolo de consenso.

El último elemento de seguridad es que los hashes también sirven como enlaces en la cadena de bloques: cada bloque incluye el hash único del bloque anterior. Entonces, si desea cambiar una entrada en el libro mayor de forma retroactiva, debe calcular un nuevo hash no solo para el bloque en el que se encuentra, sino también para cada bloque posterior. Y debe hacer esto más rápido de lo que los otros nodos pueden agregar nuevos bloques a la cadena. Entonces, a menos que tenga computadoras que sean más poderosas que el resto de los nodos combinados (e incluso entonces, el éxito no está garantizado), cualquier bloque que agregue entrará en conflicto con los existentes y los otros nodos rechazarán automáticamente sus modificaciones. Esto es lo que hace que la cadena de bloques sea a prueba de manipulaciones o inmutable.



Maneras creativas de hacer trampa

Hasta aquí la teoría. Implementarlo en la práctica es más difícil. El mero hecho de que un sistema funcione como Bitcoin, como lo hacen muchas criptomonedas, no significa que sea igual de seguro. Incluso cuando los desarrolladores usan herramientas criptográficas probadas y verdaderas, es fácil juntarlas accidentalmente de manera que no sean seguras, dice Neha Narula, directora de la Iniciativa de moneda digital del MIT. Bitcoin ha existido por más tiempo, por lo que es el más probado en batalla.

La gente también ha encontrado formas creativas de hacer trampa. Emin Gün Sirer y sus colegas de la Universidad de Cornell han demostrado que existe una manera de subvertir una cadena de bloques incluso si tiene menos de la mitad del poder de minería de los otros mineros. Los detalles son algo técnicos, pero esencialmente un minero egoísta puede obtener una ventaja injusta al engañar a otros nodos para que pierdan el tiempo en cripto-rompecabezas ya resueltos.

Otra posibilidad es un ataque de eclipse. Los nodos en la cadena de bloques deben permanecer en comunicación constante para poder comparar datos. Un atacante que logra tomar el control de las comunicaciones de un nodo y lo engaña para que acepte datos falsos que parecen provenir del resto de la red puede engañarlo para que desperdicie recursos o confirme transacciones falsas.



Finalmente, no importa cuán inviolable sea un protocolo de cadena de bloques, no existe en el vacío, dice Sirer. Los hacks de criptomonedas que generan titulares recientes suelen ser fallas en los lugares donde los sistemas de cadena de bloques se conectan con el mundo real, por ejemplo, en clientes de software y aplicaciones de terceros.

Los piratas informáticos pueden, por ejemplo, entrar en monederos calientes, aplicaciones conectadas a Internet para almacenar las claves criptográficas privadas que cualquier persona que posea criptomonedas necesita para gastarlas. Las billeteras propiedad de los intercambios de criptomonedas en línea se han convertido en objetivos principales. Muchos intercambios afirman que guardan la mayor parte del dinero de sus usuarios en billeteras de hardware frías: dispositivos de almacenamiento desconectados de Internet. Pero como mostró el atraco de enero de más de $ 500 millones en criptomonedas del intercambio Coincheck con sede en Japón, ese no es siempre el caso.

Quizás los puntos de contacto más complicados entre las cadenas de bloques y el mundo real son los contratos inteligentes, que son programas informáticos almacenados en ciertos tipos de cadenas de bloques que pueden automatizar transacciones. En 2016, los piratas informáticos explotaron una peculiaridad imprevista en un contrato inteligente escrito en la cadena de bloques de Ethereum para robar 3,6 millones de éter, con un valor de alrededor de $ 80 millones en ese momento, de la Organización Autónoma Descentralizada (DAO), un nuevo tipo de fondo de inversión basado en la cadena de bloques.



Dado que el código DAO vivía en la cadena de bloques, la comunidad de Ethereum tuvo que impulsar una controvertida actualización de software llamada hard fork para recuperar el dinero, esencialmente creando una nueva versión de la historia en la que el dinero nunca fue robado. Los investigadores todavía están desarrollando métodos para garantizar que los contratos inteligentes no funcionen mal.

La cuestión de la centralización

Una supuesta garantía de seguridad de un sistema blockchain es la descentralización. Si se guardan copias de la cadena de bloques en una red de nodos grande y ampliamente distribuida, no hay ningún punto débil que atacar, y es difícil para cualquiera acumular suficiente poder de cómputo para subvertir la red. Pero el trabajo reciente de Sirer y sus colegas muestra que ni Bitcoin ni Ethereum están tan descentralizados como podría pensarse. Descubrieron que las cuatro principales operaciones de minería de bitcoin tenían más del 53 por ciento de la capacidad de minería promedio del sistema por semana. Por la misma medida, tres mineros de Ethereum representaron el 61 por ciento.

Algunos dicen que los protocolos de consenso alternativos, quizás los que no dependen de la minería, podrían ser más seguros. Pero esta hipótesis no se ha probado a gran escala y es probable que los nuevos protocolos tengan sus propios problemas de seguridad.

Otros ven potencial en las cadenas de bloques que requieren permiso para unirse, a diferencia del caso de Bitcoin, donde cualquiera que descargue el software puede unirse a la red. Dichos sistemas son un anatema para el espíritu antijerárquico de las criptomonedas, pero el enfoque atrae a las instituciones financieras y de otro tipo que buscan explotar las ventajas de una base de datos criptográfica compartida.

Los sistemas autorizados, sin embargo, plantean sus propias preguntas. ¿Quién tiene la autoridad para otorgar el permiso? ¿Cómo garantizará el sistema que los validadores sean quienes dicen ser? Un sistema autorizado puede hacer que sus propietarios se sientan más seguros, pero en realidad les da más control, lo que significa que pueden hacer cambios ya sea que otros participantes de la red estén de acuerdo o no, algo que los verdaderos creyentes verían como una violación de la idea misma de blockchain.

Entonces, al final, lo seguro termina siendo muy difícil de definir en el contexto de las cadenas de bloques. ¿Seguro de quién? Seguro para que? Depende de tu perspectiva, dice Narula.

esconder