Facultad de Derecho

21 de agosto de 2018

BLOCKCHAIN y Smart Contracts pueden ser vulnerables

Los Smart Contracts y la tecnología en la que se basan, el BLOCKCHAIN, están llamados a redefinir la manera como se prestan los servicios jurídicos. Ahora bien, esta tecnología puede presentar problemas de difícil solución a los cuales deberá hacerse frente. Esta entrada pone de presente algunas de sus vulnerabilidades.

El profesor de Oxford Richard Susskind señala en su libro Tomorrow’s Lawyers: An introduction to your future que la profesión jurídica se encuentra en un punto de quiebre, lo que implica que habrá más cambios en los próximos 20 años que los ocurridos en los últimos dos siglos. Sin duda la tecnología BLOCKCHAIN (para más información vea el artículo El Laberinto del BLOCKCHAIN) y su implementación en los Smart Contracts será uno de los principales motores del cambio.

Un Smart Contract es un contrato digitalizado que se ejecuta automáticamente, sin la necesidad que una tercera persona, sea cual sea su naturaleza, intervenga. Asimismo, utiliza el sistema BLOCKCHAIN lo que hace que su información sea, en principio, inmodificable, distribuible de manera indefinida y verificable en todo momento. Es en estas características en donde reside la importancia y utilidad de los Smart Contracts y del BLOCKCHAIN, que muchos describen como la tecnología llamada a cambiar el mundo en los años que vienen.

Sin embargo, un grupo de investigadores de la Universidad de Singapur y de la Universidad College London encontraron que el BLOCKCHAIN en los Smart Contracts no es tan seguro como se creía. En la publicación titulada Finding The Greedy, Prodigal, and Suicidal Contracts at Scale se analizan las vulnerabilidades de la tecnología en comento para ejecutar automáticamente transacciones en criptomonedas. Así, se tomaron en consideración un millón de contratos, de los cuales 34.200 fueron marcados con alguna de las siguientes tres fallas de seguridad, esto es, el 3.4% de los Smart Contracts analizados.

En primer lugar, se encontraron algunos contratos “suicidas”. A este respecto cabe aclarar que los Smart Contracts tienen, en principio, una vida indeterminada y su ejecución solo se interrumpirá cuando el código así lo ordene. En ese sentido, una de las fallas encontradas fue que ciertos contratos pueden ser “asesinados” por cualquier usuario, incluso cuando no tienen relación alguna con la transacción ejecutada por el contrato. Esta situación genera que el código del contrato y todas sus variables sean expulsados del BLOCKCHAIN y, por ende, la ejecución del código se torna inviable. Igualmente, los contratos “suicidas” suponen un problema adicional: un contrato que es “asesinado” puede seguir recibiendo transacciones; empero, estas no pueden ser ejecutadas con base en el código del contrato. Lo anterior supone que si se envían criptomonedas a un contrato “muerto” las mismas se agregarán al balance general del contrato, pero quedarán bloqueadas indefinidamente.

En segundo lugar, se detectó que algunos contratos se bloquean, dejando al usuario sin acceso a la criptomoneda que la herramienta conservaba. Es como si una caja fuerte que no puede ser abierta sino con su respectiva clave (o una cuenta de ahorros que no esté ligada a institución alguna) dejara de funcionar repentinamente y sin razón. Por consiguiente, se trata de contratos que aún subsisten pero que bloquean la moneda en ellos contenida, de manera tal que llegar a ella y utilizarla se torna imposible. Finalmente, se encontró que algunos contratos permiten el envío de criptomonedas a usuarios que no hacen parte de la transacción. Cabe aclarar que los contratos pueden programarse para llevar a cabo devoluciones de moneda a los dueños, a usuarios que les han enviado monedas en el pasado, o a usuarios que muestran características especificas o contraseñas. Empero, la falla encontrada consiste en la liberación de moneda digital a un usuario que nada tiene que ver con la operación, esto es, a quien no es el dueño, depositante ni beneficiario que muestre la información que le otorgue tal calidad. En últimas, una de las situaciones que se pretende evitar mediante la utilización de los Smart Contracts puede ocurrir: el hurto de activos.

Estos hallazgos junto con la falla que presentó Parity, una conocida plataforma para almacenar criptomonedas, a finales del 2017 y que congeló de manera indefinida más de 150 millones de dólares demuestran que la tecnología de BLOCKCHAIN no es infalible, especialmente cuando se trata del almacenamiento y circulación de valores mediante Smart Contracts. Ahora bien, lo expuesto de ninguna manera busca desacreditar las bondades de los Smart Contracts y el BLOCKCHAIN para el Derecho. Está claro que estas herramientas traen enormes beneficios como la prevención del fraude, la reducción de costos de transacción y de riesgos inherentes a las operaciones económicas como, por ejemplo, el incumplimiento de un contrato.

Sin embargo, dado que nos encontramos en un momento de transición hacia nuevos sistemas jurídicos basados en la tecnología y la información, es importante volcar nuestra atención hacia estos problemas técnicos que las nuevas herramientas pueden presentar con el fin de resolverlos o, cuando menos, mitigar el riesgo de su materialización, como quiera que su masificación y migración hacia nuevas áreas es inevitable y atraerá nuevos problemas de implementación a los que deberemos hacerle frente.

 

Referencias:

Artículos Recientes