La tecnología Blockchain ha sido altamente pregonada por su seguridad, pero bajo ciertas condiciones, puede ser bastante vulnerable. Un número significativo de agujeros de seguridad han estado apareciendo recientemente en cripto-monedas y en plataformas de contratos inteligentes, y algunas están directamente relacionadas con la forma en que estas fueron construidas.
Por Laszlo Beke
En ocasiones se puede culpar a una ejecución deplorable o un error de software (bug) no intencional. Pero también puede haber un área gris – el complicado resultado de interacciones entre código, las decisiones de costos asociadas a Blockchain y la codicia humana. Todo esto era conocido desde la perspectiva de la teoría, pero ahora cuando hay tantos blockchains en el mundo, ya se está en el proceso de aprendizaje de lo que ello significa.
Blockchain y Finanzas
El Blockchain es una base de datos criptográfica mantenida por una red de computadoras, donde cada una almacena una copia de la versión más actualizada. Un protocolo de Blockchain es un conjunto de reglas que dicta como las computadoras de la red, denominadas nodos, debe verificar nuevas transacciones y agregarlas a la base de datos. El protocolo emplea criptografía, teoría de juegos y otros para crear incentivos para trabajar en pro de la seguridad en lugar de atacarla para ganancia personal. Si es montada correctamente resulta extremadamente difícil y costoso agregar transacciones falsas y relativamente simple verificar las válidas.
Esto es lo que ha hecho que esta tecnología sea tan atractiva para muchos sectores, comenzando con Finanzas. Instituciones importantes como Fidelity Investments e Intercontinental Exchange, la propietaria del New York Stock Exchange, están cerca de anunciar servicios que iniciarán la inmersión de Blockchains dentro de los sistemas financieros existentes. Incluso, varios Bancos Centrales están considerando el uso de Blockchain para la creación de nuevas formas digitales de monedas nacionales.
Ataques cibernéticos
Hackers han robado cerca de US$2.000 millones en criptomonedas desde comienzos del año 2.017, principalmente de las Plataformas de Intercambio de Cripto-monedas y eso solo refleja lo revelado en forma pública. Se trata de atacantes individuales y de sofisticadas organizaciones del cíber-crimen y de estas últimas, dos grupos han robado US$1.000 millones. El Blockchain de Coinbase en la Plataforma de Intercambio de Ethereum Classic fue atacado el mes pasado usando por primera vez la Regla del 51%.
Como se hackea un Blockchain
· Una falla criptográfica accidentalmente creada en el protocolo.
· Vulnerabilidades del cliente de software, para quienes hacen transacciones personales.
· Ataques sobre las Plataformas de Intercambio del Blockchain.
· Ataques basados en la Regla del 51% para criptomonedas.
· Fallas en el diseño y programación de contratos inteligentes individuales.
La regla del 51& – Criptomonedas
La susceptibilidad a los ataques del 51% es inherente a la mayoría de las criptomonedas. Esto ocurre debido a que casi todas las cripto-monedas utilizan la prueba de trabajo como protocolo para verificar las transacciones. En este proceso, también conocido como minería, los nodos gastan enormes cantidades de poder de computación para probarse confiables y así poder agregar información sobre nuevas transacciones a la base de datos. Un minero, que de alguna manera logra tomar control de la mayoría de la potencia de minería de la red, puede estafar a otros usuarios enviándoles pagos y creando una versión alterna del Blockchain (llamada bifurcación) en la cual los pagos nunca ocurren.
Bugs en Contratos Inteligentes
Un contrato inteligente es un programa de computación que se procesa en una red de Blockchain. Tiene muchos e importantes usos potenciales, facilitando la elaboración de contratos legales o de complicadas transacciones financieras. En un software tradicional, un bug se corrige con un parche de software. Una bug en un contrato inteligente puede crear un tipo de emergencia única, ya que las transacciones del Blockchain no se pueden deshacer y la corrección es más compleja. Existen formas de resolverlo: (a) ciertos contratos se pueden “actualizar” agregando contratos inteligentes adicionales que interactúan con ellos y (b) construyendo interruptores centralizados dentro de la red que cortan todas actividades desde el momento en que el hack es detectado.
Como derrotar a los hackers de Contratos Inteligentes
· Con Inteligencia Artificial – (a) se pueden monitorear las transacciones y detectar actividades sospechosas y (b) se puede escanear el código de contratos inteligentes para ubicar vulnerabilidades conocidas.
· Con Servicios de Auditoría basados en Verificación Formal, una técnica reconocida en la ciencia de la computación – El objetivo es probar matemáticamente que el código del contrato hará lo que sus creadores se propusieron y es un proceso largo y costoso.
· Usando Contratos Inteligentes adicionales que ofrecen “recompensas por bugs” que promueven que la gente los reporte.
Se hace referencia a “Once hailed as unhackable, blockchains are now getting hacked” http://bit.ly/2Itm45z. También aparece en mi blog http://bit.ly/2Y5LPwq .