¿Qué tan seguros son los contratos inteligentes?

Los contratos inteligentes están relacionados con las criptomonedas y ofrecen más eficiencia que los contratos habituales en determinadas áreas. Mientras tanto, son tan seguros como el mejor conocimiento del programador. Debido a las malas prácticas de programación, algunos contienen fallas explotables. Entonces, ¿qué tipo de riesgos de seguridad existen? En este artículo analizamos qué son los contratos inteligentes, los riesgos y las posibles soluciones.

¿Qué es un contrato inteligente?

Un contrato inteligente impone la negociación de un acuerdo sin la necesidad de intermediarios, como un abogado. Las negociaciones (transacciones) resueltas se almacenan en la cadena de bloques. La plataforma de contratos inteligentes más conocida es Ethereum. Beneficios clave:

  1. Transparencia: los datos de la cadena de bloques están disponibles para que todos los vean.
  2. Eficiencia: no hay lugar para (errores) interpretaciones o documentos perdidos. “el código es ley” es una expresión popular que describe este comportamiento.
  3. Reducción de costos: a medida que se eliminan los intermediarios, los costos también se reducen significativamente.
  4. Seguridad: la criptografía se utiliza para proteger las transacciones y evitar ataques como el doble gasto.

Si bien los contratos inteligentes se utilizan en gran medida para transferir criptomonedas, cada vez se utilizan más para transferir valor en general Algunos ejemplos:

Los tokens de seguridad son valores digitales que se pueden comprar y vender a través de contratos inteligentes. Por ejemplo, el “Token RVW” permite a los entusiastas del cine obtener fácilmente una parte de las ganancias generadas por la próxima película “Roe v. Wade” .

Sin pagos de salarios atrasados:  digamos que un empleador mantiene todo el dinero de la empresa dentro de un contrato inteligente. El contrato está programado para enviar una cantidad específica de dinero a cada empleado por mes. El contrato también está programado para no poder retirar todo el dinero disponible. Los empleados ahora tienen la seguridad digital verificable, que obtendrán su dinero cada mes sin complicaciones.

Fallos de contratos inteligentes

El hack de DAO:  la organización autónoma descentralizada (DAO) tenía como objetivo ser un tipo de fondo de inversión. Un usuario de DAO anónimo aplicó una variante del error de reentrada  y retiró de manera fraudulenta grandes cantidades de la criptomoneda Ethereum de ese fondo de inversión.

El truco de la paridad: el uso de bibliotecas durante la programación es una práctica común. Si el código de la biblioteca tiene fallas, el código que usa la biblioteca también puede tener fallas. Una persona anónima obtuvo el control de una biblioteca defectuosa y supuestamente llamó a la función “matar”, que destruyó la biblioteca. En este momento, muchas carteras que contienen 513.774 Ether (~ 154 millones de dólares) en total utilizaron esta biblioteca. Después de que la biblioteca fue destruida, los fondos fueron inalcanzables y por lo tanto se perdieron.

“Encontrar los contratos codiciosos, pródigos y suicidas a escala” : en un informe de 2018, cinco investigadores publicaron que unos 34.200 contratos inteligentes de Ethereum por valor de 4,4 millones de dólares en Ether contienen defectos identificados. Con los años, Ethereum se volvió más complejo, no menos. Esto significa que es probable que haya contratos más vulnerables que nunca.

  • Financiamiento de la cosecha: el financiamiento de la cosecha utilizó un precio externo. El actor ganó 24 millones de dólares manipulando este feed. Para simplificar, pensaremos en el feed de precios externo como feed de precios en USD.
  • Durante el depósito, el actor aumentó el valor de la alimentación del precio externo en USD, lo que le dio al actor más acciones del fondo común de financiación de la cosecha (ya que el USD aparentemente valía más). Durante el retiro, el actor redujo el valor de la alimentación del precio externo en USD, lo que le dio al actor más USD por las acciones. Durante todo el tiempo, el dólar real valió lo mismo. La financiación de la cosecha se acaba de jugar mediante el uso de precios inestables. Todo el ataque se describe en una publicación mediana de la financiación de la cosecha.

Asegurar contratos inteligentes

La seguridad de contrato inteligente funciona técnicamente a través de los mismos conceptos que la seguridad de cualquier software. Codificación, prueba, aseguramiento. Existen seguros de seguridad de TI especializados y, debido al joven mercado de las criptomonedas, solo surgen compañías de seguros de incumplimiento de contratos inteligentes.

Escribir código seguro:  el primer paso de una aplicación segura comienza desde dentro: el código en sí. Si el código no se crea con las mejores prácticas de programación, amplía la superficie de ataque de un atacante potencial. Especialmente si es accesible en Internet (como contratos inteligentes). Ethereum lo sabe y ha publicado pautas que ayudan a crear contratos inteligentes de forma segura.

Probar el código: las pruebas de código son otra pieza del rompecabezas. Son esenciales para un software seguro. Aquí, se prueba la ejecución en tiempo de ejecución. Esto se puede hacer por su cuenta, pero es mejor considerar empresas con experiencia como  Certik .

Asegurar el código:  este es un ángulo bastante interesante para los contratos inteligentes: seguros de falla de contrato inteligente. Una próxima solución es Bridgemutual. Podrían haber cubierto el truco de finanzas de cosecha mencionado anteriormente, según su plataforma. Se sabe que los seguros se utilizan en diversas áreas como salud, automóviles o trabajo. Los clientes se aseguran para tener un nivel de seguridad sobre el tiempo que pasan en esas áreas. Con el aumento del uso de contratos inteligentes, los seguros de incumplimiento de contratos inteligentes pueden volverse más importantes, especialmente para empresas con bolsillos más grandes.

Panorama

El posible uso de contratos inteligentes se descubre todos los días a estas alturas. Dhedge  permite que todos en el mundo se conviertan en administradores de inversiones. Esto es en parte posible debido al hecho de que los contratos inteligentes utilizan fuentes de datos. Lo interesante de eso es que las fuentes de datos podrían ser cualquier cosa: la API Virustotal o el recuento de población de Estados Unidos. Entonces, en teoría, podría haber un administrador de inversiones de malware, que se especialice en la cantidad de malware nuevo que aparecerá al día siguiente. ¡Y la gente podría invertir en su favorito!

Dicho esto, los contratos inteligentes siguen siendo una tecnología relativamente nueva. Como la nueva tecnología tiende a tener fallas, también lo hacen los contratos inteligentes. Los contratos inteligentes son más seguros si el programador tiene conocimientos en este campo.

Al final, vemos las cadenas de bloques públicas de código abierto como netamente positivas, en gran parte porque las fallas se eliminan más rápido que las cadenas de bloques privadas.

Enlace: https://www.gdatasoftware.com/blog/2020/12/36570-how-secure-are-smart-contracts Blog de G DATA