Auditoria de seguridad de contratos inteligentes
(Versión original en inglés por John Enevoldsen )
Nos complace anunciar que tendremos los contratos inteligentes de Ocean Protocol auditados por Trail of Bits .
Contratos inteligentes en el corazón de Ocean Protocol
En el núcleo de Ocean Protocol tenemos nuestra capa de contratos inteligentes. Como este no es el objetivo de esta publicación, no vamos a entrar mucho en detalles sobre esta capa. Puede encontrar enlaces a más documentación al final de esta sección.
Varias características de Ocean requieren transacciones en la cadena, actualizaciones de estado y ejecuciones de contratos. Por ejemplo, para garantizar el control de acceso, estamos utilizando Parity Secret Store. Citando desde el post:
El “Almacén Secreto” permite el descifrado de los datos después de que un usuario esté autorizado en la cadena. Cada nodo del “Almacén Secreto” guarda una parte de una clave de descifrado ECDSA. Una clave de descifrado completo solo se puede generar si el consenso es alcanzado por un número de nodos del “Almacén Secreto” y que sea mayor al del umbral que al del publicador del “secreto”. El proceso se controla a través de un contrato inteligente autorizado.
Recientemente escribimos mucho sobre nuestros Contratos de Ejecución de Servicios , nuestra herramienta para modularizar acuerdos entre varias partes agregando diferentes condiciones, recompensas y tiempos de espera. En el corazón están los contratos inteligentes:
De manera similar a la forma en que los SLA legales en adquisiciones tienen Términos y Condiciones, las EAE de Ocean tienen condiciones que pueden incorporarse como código en un contrato inteligente. Estas condiciones deben ser cumplidas por las contrapartes en el acuerdo.
Como puede ver, los mecanismos de la ingeniería de Ocean Protocol se basa en gran medida en contratos inteligentes. Igualmente importante, nos comprometimos a mantener la mayor transparencia para nuestra comunidad. Queremos asegurar a nuestros futuros usuarios de la anti-fragilidad de nuestro protocolo, y guiarlos a través de los pasos que estamos tomando para garantizarlo. La transparencia, la comunicación y la capacidad de auditoría son fundamentales para lo que estamos tratando de lograr.
¿Por qué los contratos inteligentes pueden ser sometidos a hackeos?
Los contratos inteligentes se implementan en una cadena de bloques, lo que los hace muy difíciles de actualizar. En realidad, hasta hace poco, era casi imposible actualizarlos. Lo que significa que si el código era defectuoso cuando se implementó, existía la posibilidad de que los hackers se aprovecharan. Por ejemplo, durante el pirateo DAO , 3,6 millones de ETH fueron robados porque el código inicial tenía una vulnerabilidad. En nuestro caso, usamos ZeppelinOS para la actualización de los contratos. Y a pesar de que minimiza los riesgos, todavía estamos realizando una auditoría.
Además, los contratos inteligentes suelen contener tokens, lo que significa que son objetivos “interesantes” para los piratas informáticos. Aparte del truco DAO descrito anteriormente, también podemos mencionar el ETH de 150 K robado de Parity o el ETH de 540 K congelado en las billeteras.
Por lo tanto, es vital que nuestros contratos inteligentes sean examinados, verificados, probados, atacados y auditados tanto como sea posible.
Entra en Trail of Bits (Sendero de Bits).
Puede encontrar más información sobre nuestros contratos inteligentes en nuestro repositorio de GitHub .
Trail of Bits
Desde 2012, Trail of Bits ha ayudado a asegurar numerosas organizaciones y productos en varias industrias. Combinan investigación de seguridad de alto nivel con una mentalidad de atacante del mundo real. Por ejemplo, han trabajado con DARPA y Facebook.
Más recientemente, han entrado en el mundo de blockchain , proporcionando servicios a las empresas en este espacio. Especialmente ayudan a auditar, probar y examinar contratos inteligentes. ToB ha desarrollado un conjunto de herramientas para ayudar a sus ingenieros en su trabajo de auditoría. Manticore , “un emulador simbólico capaz de simular ataques complejos de múltiples contratos y múltiples transacciones contra el bytecode EVM”; Ethersplay , “un desensamblador gráfico EVM capaz de recuperación de métodos, cómputo de salto dinámico, coincidencia de código fuente y diferenciación binaria”; Slither , “un analizador estático que detecta errores comunes, como errores en la reincorporación, constructores, acceso a métodos y más”; y Echidna , “un fuzzer inteligente de próxima generación que se enfoca en el bytecode EVM”.
En 2017 se unieron a Enterprise Ethereum Alliance , ayudando con la investigación y desarrollando nuevas herramientas. También tienen un gran historial: han auditado con éxito Livepeer , MakerDAO , Parity , NuCypher , etc. (todos sus informes están aquí ).
Basados en todos estos motivos, en Ocean Protocol hemos decidido trabajar con Trail of Bits para garantizar la calidad y la anti-fragilidad de nuestra capa de contratos inteligentes. Nos complace poder brindar a nuestra comunidad transparencia y responsabilidad con respecto a la seguridad de un componente clave del Protocolo Oceánico.