Compartir este artículo

Los contratos inteligentes de blockchain necesitan un nuevo tipo de diligencia debida

Dos expertos legales sostienen que necesitamos una diligencia debida mayor antes de que las transacciones de contratos inteligentes queden escritas en "piedra blockchain".

Hace más de 20 años, Nick Szabo propuso el uso de un «contrato inteligente» para reducir el fraude y los costes de ejecución asociados a los contratos tradicionales en papel. Su contrato inteligente se implementaría como un «protocolo de transacción computarizado que ejecuta los términos de un contrato»; en otras palabras, un programa informático.

Como cualquier otro software, un programa informático de "contrato inteligente" recibiría entradas, ejecutaría una serie de pasos del programa y proporcionaría salidas. Por ejemplo, el contrato inteligente podría esperar a que ocurriera una condición predeterminada (p. ej.: una acción alcanza un precio particular), considerar automáticamente cumplidos los términos del contrato y activar una serie predeterminada de pasos de rendimiento (p. ej.: un pago) que se llevarían a cabo automáticamente. Muy adelantada a su tiempo, la idea no tuvo éxito.

CONTINÚA MÁS ABAJO
No te pierdas otra historia.Suscríbete al boletín de Crypto Daybook Americas hoy. Ver Todos Los Boletines

Avanzamos rápidamente hasta 2016. Las cadenas de bloques abundan y hay un renovado interés en los contratos inteligentes, particularmente en la ejecución de contratos descentralizada: contratos inteligentes en la cadena de bloques.

La cadena de bloques de Bitcoin lleva funcionando desde 2009, pero, a pesar de diversos esfuerzos, no parece propiciar la implementación conveniente de contratos inteligentes. En cambio, la cadena de bloques original de Ethereum , anunciada en 2014 y lanzada en 2015, se diseñó específicamente para permitir la implementación de contratos inteligentes.

Problemas en el paraíso

Desde su lanzamiento, los contratos inteligentes comenzaron a proliferar en el ecosistema de Ethereum . Sin embargo, la inmutabilidad futura de los contratos inteligentes de Ethereum es incierta tras la amplia difusión de... “Bifurcación dura” de EthereumEl ether existente se convirtió efectivamente en “E[i]ther” – ether clásico (ETC) y *nuevo* ether (ETH) – dejando que las fuerzas del mercado determinen si uno, o ambos, sobrevivirán.

El sistema Ethereum , al igual que Bitcoin, asocia la propiedad de la moneda (ether) con una dirección. Sin embargo, a diferencia de Bitcoin , Ethereum también proporciona una dirección para el código de contrato ejecutable que se ejecuta en la blockchain. Cuando la dirección del contrato recibe un mensaje adecuado de un usuario u otro contrato, el código se ejecuta. Los contratos inteligentes de Ethereum se almacenan en la blockchain y se ejecutan en "máquinas virtuales de Ethereum " (EVM) por nodos informáticos autoseleccionados, comúnmente conocidos como "mineros". Estos nodos realizan el procesamiento necesario para ejecutar los pasos correspondientes del programa. A cambio de una tarifa, por supuesto.

La tarifa de procesamiento de cada contrato inteligente de Ethereum es proporcional a su complejidad y al uso de recursos informáticos. Al cobrar una tarifa proporcional, se evita el uso indebido del sistema Ethereum que consume muchos recursos.

Pero el uso excesivo de los recursos de Ethereum no es el único tipo de mal uso posible. Un artículo reciente señaló que, de los aproximadamente 19 000 contratos inteligentes de Ethereum estudiados, el 44 % contenía vulnerabilidades. A medida que el código de los contratos inteligentes se copiaba una y otra vez y se repetían técnicas de redacción defectuosas, se propagaba código lleno de errores. El código antiguo y defectuoso aparentemente se convirtió en la base inestable de nuevos y imponentes contratos inteligentes.

Como todos sabemos, los errores de software y las vulnerabilidades del sistema no son nada nuevo. Los sistemas operativos y las aplicaciones más populares se actualizan con frecuencia. Y se encuentran más errores constantemente. El contrato de licencia de software típico incluye años de actualizaciones gratuitas.

¿Cómo corregir un sistema inmutable?

Como consumidor de software, su diligencia debida es bastante sencilla, ya que la licencia del software incluye un proceso de corrección de errores. Cuando algo sale mal (y no si sale mal), tiene la esperanza de que alguien esté intentando resolver el problema.

Pero los contratos inteligentes no son software común. Un contrato inteligente implementa automáticamente un contrato real: un acuerdo real entre dos (o más) partes. Una vez que las partes negociadoras aceptan los términos de un acuerdo, estos se convierten en un contrato inteligente; por ejemplo, se entregan a un programador para que cree el código del contrato inteligente. Entonces, ¿cómo saben las partes si los términos acordados se programaron correctamente?

Además, si un contrato inteligente se almacena en una cadena de bloques inmutable, por definición, su código de programa almacenado no cambia. La certeza que resulta de dicha permanencia se convierte en una característica valiosa. Pero esa certeza también significa que los contratos inteligentes inmutables carecen de capacidades tradicionales de corrección de errores. El código del programa que implementa el contrato inteligente no se puede depurar fácilmente después de ser almacenado en una cadena de bloques inmutable. Cualquier error o vulnerabilidad queda grabado en la "piedra de la cadena de bloques".

Un contrato inteligente debe estar libre de errores, ser tolerante a ellos o, al menos, ser corregible de alguna manera. Confiar en contratos "formularios" no garantiza la seguridad, especialmente en el caso de los contratos inteligentes. El software antiguo y con errores ciertamente puede ser explotado, y ha tenido un gran impacto. Observe...El hackeo de DAOSe informó que más de 50 millones de dólares en Ether fueron desviados debido a una vulnerabilidad en un contrato inteligente.

Se necesita un nuevo tipo de diligencia debida para este nuevo tipo de contrato. Los contratos inteligentes combinan derecho e informática. La diligencia debida sobre los contratos inteligentes debería hacer lo mismo.

La debida diligencia en la era blockchain

¿Qué diligencia debida se necesita para un contrato inteligente?

Un análisis tradicional de la transacción propuesta y los términos del contrato negociado debe identificar cuestiones prácticas y legales. Un análisis del código fuente debe identificar fallas en la programación del contrato inteligente antes de su compilación.

Además, el contrato inteligente propuesto debería ejecutarse en un simulador para comprobar su funcionamiento en respuesta a mensajes esperados e inesperados de los usuarios y otros contratos. De esta forma, se podrán abordar conjuntamente tanto los problemas legales como los de programación. Se podrán identificar, evaluar y mitigar las contingencias esperadas e inesperadas.

Para consternación de algunos, el uso de contratos inteligentes en una cadena de bloques no eliminará la necesidad de abogados. Es más probable que simplemente cambie lo que estos deben hacer.

Predecimos que este nuevo tipo de diligencia debida reunirá a abogados transaccionales especializados que pueden revisar los términos de un acuerdo específico, expertos en software que pueden analizar el código del programa de contrato inteligente y su funcionamiento en la cadena de bloques, y abogados de "contratos inteligentes" que pueden cerrar la brecha entre ambos.

Obviamente, el equipo de diligencia debida debe involucrarse mucho antes de añadir un contrato inteligente a la blockchain, incluso antes de negociar el acuerdo subyacente, para evitar errores previsibles. Al realizar este nuevo tipo de diligencia debida con el equipo adecuado, las partes del contrato inteligente pueden tener mucha más confianza en lograr los resultados previstos.

Una diligencia debida más rigurosa en los contratos inteligentes puede finalmente traer algo de tranquilidad.

Revisión de cuentasimagen vía Shutterstock

Nota: Las opiniones expresadas en esta columna son las del autor y no necesariamente reflejan las de CoinDesk, Inc. o sus propietarios y afiliados.

Picture of CoinDesk author Ted Mlynar and Ira Schaefer