Resumen

Las auditorías de seguridad de contratos inteligentes también pueden realizar análisis detallados de los contratos inteligentes del proyecto. Estas medidas son muy importantes para proteger los fondos invertidos en el contrato. Dado que todas las transacciones en blockchain son definitivas, una vez que los fondos son robados, no se pueden recuperar. Normalmente, el auditor examinará el código del contrato inteligente, generará un informe y lo entregará al equipo del proyecto. Luego se emite un informe final que detalla los errores pendientes y el trabajo realizado para resolver problemas de rendimiento o seguridad.


Introducción

Las auditorías de seguridad de contratos inteligentes son comunes en el ecosistema de finanzas descentralizadas (DeFi). Si invierte en un proyecto blockchain, su decisión puede verse influenciada en parte por una revisión del código de contrato inteligente.

Aunque la mayoría de la gente comprende la importancia de la auditoría para la seguridad de la red, pocos profundizan en las líneas de código individuales. Echemos un vistazo a los métodos, herramientas y resultados que se utilizan habitualmente en las auditorías de seguridad de contratos inteligentes para ayudarle a tomar decisiones más informadas.


¿Qué es la auditoría de contratos inteligentes?

La auditoría de seguridad del contrato inteligente inspeccionará y comentará el código del contrato inteligente del proyecto. Normalmente, estos contratos están escritos en el lenguaje de programación Solidity y proporcionados por GitHub. Las auditorías de seguridad son especialmente valiosas si un proyecto DeFi procesa transacciones de blockchain por valor de millones de dólares o con una gran cantidad de participantes. Las auditorías suelen seguir estos cuatro pasos:

1. Proporcionar el contrato inteligente al equipo de auditoría para su análisis preliminar.

2. El equipo de auditoría presenta sus hallazgos al equipo del proyecto para que adopte medidas.

3. El equipo del proyecto realiza modificaciones basadas en los problemas descubiertos.

4. El equipo auditor tendrá en cuenta nuevas revisiones y errores pendientes antes de emitir un informe final.

Para muchos usuarios de criptomonedas, las auditorías de contratos inteligentes son indispensables a la hora de invertir en nuevos proyectos DeFi. Se ha convertido en el estándar para proyectos importantes. Algunas firmas de auditoría también se han convertido en líderes de la industria, aumentando el valor de su trabajo de auditoría a los ojos de los inversionistas.


¿Por qué necesitamos una auditoría de contratos inteligentes?

Una gran cantidad de valor se negocia o se bloquea en contratos inteligentes, lo que los convierte en objetivos fáciles para los piratas informáticos. Incluso los pequeños errores de codificación pueden provocar el robo de grandes cantidades de dinero. Por ejemplo, el hackeo de DAO en la cadena de bloques Ethereum se llevó aproximadamente 60 millones de dólares en éter e incluso resultó en una bifurcación dura de la red Ethereum.

Dado que las transacciones de blockchain no se pueden deshacer, es fundamental garantizar la seguridad del código de su proyecto. El alto nivel de seguridad de la tecnología blockchain dificulta la recuperación de fondos y la resolución de problemas a posteriori, por lo que es mejor prevenir posibles vulnerabilidades a toda costa.


¿Cómo funciona la auditoría de contratos inteligentes?

El proceso de auditoría de contratos inteligentes es bastante estándar entre las instituciones de auditoría. Si bien el enfoque de cada auditor puede ser ligeramente diferente, un proceso general se ve así:

1. Determinar el alcance de la auditoría. Los contratos inteligentes y las especificaciones del proyecto están definidos por el proyecto (su propósito previsto) y la arquitectura general. Las especificaciones del proyecto ayudan al equipo de auditoría a comprender los objetivos del proyecto al escribir y utilizar el código.

2. Proporcione una cotización preliminar basada en la cantidad de trabajo requerido.

3. Ejecute la prueba. Su naturaleza exacta variará según el grupo de auditoría, sus herramientas y métodos analíticos. Generalmente se utilizan dos métodos de prueba, manual y automático.

4. Cree un primer borrador del informe que contenga los errores encontrados y entréguelo al equipo del proyecto para recibir comentarios y correcciones posteriores.

5. Considerar las acciones tomadas por el equipo para resolver las cuestiones planteadas y emitir un informe final.


Auditoría de contrato inteligente

eficiencia de combustible

Las auditorías de contratos inteligentes no sólo se centran en la seguridad de blockchain, sino también en la eficiencia y la optimización. Algunos contratos completan sus funciones previstas mediante una serie compleja de transacciones. Dado que las tarifas del gas son relativamente altas en redes como Ethereum, los contratos eficientes pueden ahorrar muchos costos de transacción.

Optimizar su rendimiento también es un indicador de la habilidad del desarrollador. Las medidas ineficientes crearán más puntos de fracaso y deben evitarse en la medida de lo posible. Los contratos inteligentes pueden no ejecutarse cuando los costos del combustible son altos, especialmente cuando se utilizan restricciones de combustible de bajo costo.

Lagunas contractuales

Gran parte del trabajo de una auditoría implica comprobar los contratos en busca de vulnerabilidades de seguridad. Si bien algunos problemas son fáciles de ver, muchos exploits emplean técnicas y estrategias avanzadas para drenar fondos. Por ejemplo, la manipulación del mercado se puede combinar con contratos inteligentes débiles para llevar a cabo ataques de préstamos rápidos. Para descubrir estos problemas, los auditores comenzarán un proceso de prueba de descifrado que simula ataques maliciosos a contratos inteligentes. Las vulnerabilidades comunes incluyen:

1. Problema de reentrada: cuando un contrato inteligente realiza una llamada externa a otro contrato externo antes de que se haya resuelto cualquier impacto. Luego, debido a que el saldo de ese contrato original no se ha actualizado, el contrato externo puede llamar recursivamente a ese contrato inteligente original e interactuar con él de una manera que no debería.

2. Desbordamiento y subdesbordamiento de enteros: cuando el contrato inteligente realiza operaciones aritméticas, pero la salida excede la capacidad de almacenamiento (generalmente 18 decimales). Esto puede dar lugar a errores en el cálculo de los importes.

Oportunidades comerciales preventivas: un código mal estructurado puede proporcionar una advertencia temprana sobre compras o ventas en el mercado. Esto, a su vez, permite que otros utilicen esta información para realizar transacciones en su propio beneficio.

Vulnerabilidades de seguridad de la plataforma

La mayoría de las auditorías incluyen examinar la red que aloja el contrato e incluso las API utilizadas para interactuar con la DApp. Si un proyecto es potencialmente vulnerable a un ataque DDoS, o su interfaz de usuario del sitio web está comprometida, esto significa que los usuarios en realidad conectarán sus billeteras a aplicaciones blockchain maliciosas.


¿Qué es un informe de auditoría?

El informe de auditoría es el informe emitido al final de la auditoría. Para aumentar la transparencia, el equipo del proyecto debe compartir sus hallazgos con la comunidad. La mayoría de los informes clasifican los problemas por gravedad, como críticos, mayores, menores, etc. El informe también enumera el estado de los problemas, ya que el proyecto aún tendrá tiempo para resolverlos antes de que se publique el informe final.

Además de un resumen ejecutivo, el informe estándar incluirá recomendaciones, ejemplos de código redundante y detalles completos de dónde ocurrieron los errores de codificación. El proyecto tiene tiempo para actuar sobre las conclusiones del informe antes de que se publique la versión final.


¿Dónde están disponibles las auditorías de contratos inteligentes?

Muchas agencias de servicios de auditoría de contratos inteligentes se han ganado una reputación por su excelente servicio. Dos son particularmente populares y para obtener una auditoría de ellos será necesario proporcionar cotizaciones preliminares e información de entrega.

CertiK

CertiK es el líder de la industria en lo que respecta a la auditoría de contratos inteligentes. Se han auditado los contratos inteligentes de cientos de proyectos a través de ellos. PancakeSwap, el mayor creador de mercado automatizado (AMM) de BSC, es un ejemplo. A continuación se muestra una captura de pantalla de la auditoría que Certik realizó para PancakeSwap.


Además, la gran mayoría de los proyectos respaldados por Binance Labs tienen sus contratos auditados a través de CertiK. CertiK publica una clasificación de proyectos de auditoría, completa con puntuaciones de seguridad, para que pueda comparar cada proyecto. Tenga en cuenta que, además de Ethereum, CertiK también lleva a cabo proyectos BSC y Polygon.


Diligencia de ConsenSys

ConsenSys, dirigida por el cofundador de Ethereum, Joseph Lubin, es uno de los nombres más importantes de la industria de las criptomonedas en el desarrollo de blockchain. En ConsenSys Diligence, la empresa ofrece auditorías de contratos inteligentes de Ethereum. También brindan servicios automatizados para verificar errores comunes en los contratos de Ethereum Virtual Machine (EVM).


¿Cuánto cuesta auditar un contrato inteligente?

La tarifa de auditoría exacta depende de la cantidad de contratos inteligentes que deben verificarse. Normalmente, los honorarios de auditoría ascienden a miles de dólares. En ciertos proyectos grandes, el costo puede exceder fácilmente los $10,000. La empresa de auditoría que realiza la auditoría y su reputación también afectarán la cantidad que usted pagará.


Resumir

Afortunadamente para inversores y usuarios, la auditoría de contratos inteligentes se ha convertido en un estándar de oro. Sin embargo, si cada proyecto tuviera una auditoría de contrato inteligente, ya no sería un simple indicador de valor. Por eso es importante aprender a leer las auditorías usted mismo. Incluso si carece de conocimientos técnicos, puede resultar útil revisar las revisiones y la gravedad del posible problema.

Cuando te encuentras con una auditoría, al menos debería ser más fácil entender de qué se trata. Como siempre, es importante mirar el panorama general y considerar toda la información al tomar cualquier decisión de inversión.