TL;DR
Una auditoría de seguridad de contratos inteligentes proporciona un análisis detallado de los contratos inteligentes de un proyecto. Estos son importantes para salvaguardar los fondos invertidos a través de ellos. Como todas las transacciones en blockchain son definitivas, los fondos no se pueden recuperar en caso de robo. Normalmente, los auditores examinarán el código de los contratos inteligentes, producirán un informe y lo proporcionarán al proyecto para que puedan trabajar con él. Luego se publica un informe final que detalla los errores pendientes y el trabajo ya realizado para abordar los problemas de rendimiento o seguridad.
Introducción
Las auditorías de seguridad de contratos inteligentes son muy comunes en el ecosistema de finanzas descentralizadas (DeFi). Si ha invertido en un proyecto blockchain, es posible que su decisión se haya basado en parte en los resultados de una revisión del código de contrato inteligente.
Si bien la mayoría de la gente comprende la importancia de las auditorías para la ciberseguridad, no muchos se sumergen en las líneas de código. Echemos un vistazo a los métodos, herramientas y resultados que normalmente se ven en las auditorías de seguridad de contratos inteligentes para que pueda tomar decisiones más informadas.
¿Qué es una auditoría de contrato inteligente?
Una auditoría de seguridad de contrato inteligente examina y comenta el código de contrato inteligente de un proyecto. Normalmente, estos contratos están escritos en el lenguaje de programación Solidity y se proporcionan a través de GitHub. Las auditorías de seguridad son particularmente valiosas para los proyectos DeFi que esperan manejar transacciones de blockchain por valor de millones de dólares o una gran cantidad de jugadores. Las auditorías suelen seguir un proceso de cuatro pasos:
1. Los contratos inteligentes se proporcionan al equipo de auditoría para su análisis inicial.
2. El equipo de auditoría presenta sus hallazgos al proyecto para que actúe en consecuencia.
3. El equipo del proyecto realiza cambios según los problemas encontrados.
4. El equipo auditor publica su informe final, considerando cualquier nuevo cambio o error pendiente.
Para muchos usuarios de criptomonedas, las auditorías de contratos inteligentes son esenciales a la hora de invertir en nuevos proyectos DeFi. Se ha convertido en un estándar para proyectos que quieren ser tomados en serio. Ciertos proveedores de auditoría también son vistos como líderes de la industria, lo que hace que sus auditorías sean más valiosas a los ojos de los inversores.
¿Por qué necesitamos auditorías de contratos inteligentes?
Con grandes cantidades de valor negociadas a través de contratos inteligentes o bloqueadas en ellos, se convierten en objetivos atractivos para ataques maliciosos de piratas informáticos. Los errores menores de codificación pueden provocar el robo de grandes sumas de dinero. Por ejemplo, el hackeo de DAO en la cadena de bloques Ethereum tomó aproximadamente 60 millones de dólares en ETH e incluso provocó una bifurcación dura de la red Ethereum.
Dado que las transacciones de blockchain son irreversibles, es esencial asegurarse de que el código de un proyecto sea seguro. La naturaleza altamente segura de la tecnología Blockchain dificulta la recuperación de fondos y la resolución de problemas después del hecho, por lo que es mejor prevenir las vulnerabilidades a toda costa.
¿Cómo auditar un contrato inteligente?
El proceso de auditoría de contrato inteligente es bastante estándar entre los proveedores de auditoría. Si bien el enfoque de cada auditor puede diferir ligeramente, el proceso típico es el siguiente:
1. Determinar el alcance de la auditoría. El contrato inteligente y las especificaciones del proyecto están definidos por el proyecto (su propósito previsto) y la arquitectura general. Una especificación ayuda al equipo de auditoría a comprender los objetivos del proyecto al escribir y utilizar el código.
2. Proporcione una cotización inicial basada en la cantidad de trabajo necesario.
3. Ejecute pruebas. Su naturaleza exacta cambiará según el equipo de auditoría, sus herramientas de análisis y sus métodos. Normalmente se realizan pruebas tanto manuales como automatizadas.
4. Cree un primer borrador del informe con los errores encontrados y entréguelo al equipo del proyecto para recibir comentarios y realizar correcciones de seguimiento.
5. Publicar el informe final, considerando cualquier acción tomada por el equipo para abordar los problemas planteados.
Métodos de auditoría de contratos inteligentes
Eficiencia del gas
Las auditorías de contratos inteligentes no se centran únicamente en la seguridad de blockchain. También analizan la eficiencia y la optimización. Algunos contratos realizan una serie complicada de transacciones para completar su función prevista. Dado que las tarifas del gas en redes como Ethereum son relativamente costosas, los contratos eficientes pueden ahorrar mucho en costos de transacción.
Optimizar su rendimiento también es un indicador de la habilidad del desarrollador. Los pasos ineficientes proporcionan más puntos de fracaso y deben evitarse. Cuando los costos del gas son altos, es posible que los contratos inteligentes no se ejecuten, más aún cuando se utiliza un límite de gas bajo.
Vulnerabilidades del contrato
La mayor parte del trabajo de auditoría implica comprobar los contratos en busca de vulnerabilidades de seguridad. Si bien algunos problemas pueden ser fáciles de ver, muchos exploits implican técnicas y estrategias avanzadas para drenar fondos. Por ejemplo, la manipulación del mercado se puede utilizar con contratos inteligentes débiles para realizar ataques de préstamos rápidos. Para encontrar estos problemas, los auditores inician el proceso de prueba de ruptura y simulan ataques maliciosos al contrato inteligente. Las vulnerabilidades comunes incluyen:
1. Problemas de reentrada: cuando un contrato inteligente realiza una llamada externa a otro contrato externo antes de que se resuelva cualquier efecto. Luego, el contrato externo puede llamar recursivamente al contrato inteligente original e interactuar con él de maneras que no debería poder hacerlo, ya que el saldo del contrato original aún no se ha actualizado.
2. Desbordamientos y subdesbordamientos de enteros: cuando un contrato inteligente realiza una operación aritmética, pero la salida excede la capacidad de almacenamiento (generalmente 18 decimales). Esto puede provocar que se calculen importes incorrectos.
3. Oportunidades anticipadas: un código mal estructurado puede proporcionar un aviso de compras o ventas en el mercado. Esto, a su vez, puede permitir que otros utilicen la información y negocien con ella para su propio beneficio.
Fallos de seguridad de la plataforma
La mayoría de las auditorías incluyen examinar la red que aloja los contratos e incluso la API utilizada para interactuar con la DApp. Un proyecto puede ser vulnerable a un ataque DDoS o tener la interfaz de usuario de su sitio web comprometida, lo que significa que los usuarios conectarán sus billeteras a aplicaciones blockchain maliciosas.
¿Qué es un informe de auditoría?
El informe de auditoría se proporciona al final del proceso de auditoría. Para mayor transparencia, se espera que los proyectos compartan 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 enumerará el estado del problema, ya que los proyectos tienen tiempo para resolverlos antes de la publicación del informe final.
Junto con un resumen ejecutivo, un informe estándar contendrá recomendaciones, ejemplos de código redundante y un desglose completo de dónde existen errores de codificación. Se le da tiempo al proyecto para actuar sobre los hallazgos del informe antes de que se publique la versión final.
¿Dónde puedo obtener una auditoría de contrato inteligente?
Varios servicios de auditoría de contratos inteligentes se han vuelto conocidos por su servicio. Dos son particularmente populares y para obtener una auditoría de ellos será necesario un presupuesto inicial y la entrega de información.
CertiK
CertiK es uno de los líderes de la industria en auditoría de contratos inteligentes. Cientos de proyectos han auditado con ellos sus contratos inteligentes. PancakeSwap, el creador de mercado automatizado (AMM) más grande de BSC es un ejemplo. A continuación se muestra una sección de la auditoría de Certik en PancakeSwap.
Además, la gran mayoría de los proyectos respaldados por Binance Labs han auditado sus contratos con CertiK. CertiK publica una tabla de clasificación de proyectos auditados que le permite comparar cada uno, junto con una puntuación de seguridad. Tenga en cuenta que, además de Ethereum, CertiK también cubre proyectos BSC y Polygon.
Diligencia de ConsenSys
Dirigido por Joseph Lubin, cofundador de Ethereum, ConsenSys es uno de los nombres más importantes de la industria de las criptomonedas en el desarrollo de blockchain. Bajo ConsenSys Diligence, la compañía ofrece auditorías de contratos inteligentes de Ethereum. También proporcionan un servicio automatizado que verifica los contratos de la máquina virtual Ethereum (EVM) en busca de errores comunes.
¿Cuánto cuesta una auditoría de contrato inteligente?
El costo exacto de una auditoría depende de la cantidad de contratos inteligentes que se deben verificar. Normalmente, una auditoría costará miles de dólares. Un proyecto grande en particular puede costar fácilmente más de $10,000. La empresa de auditoría que realiza su auditoría y su reputación también afectarán su pago.
Pensamientos finales
Afortunadamente para inversores y usuarios, las auditorías de contratos inteligentes se han convertido en un estándar de oro. Sin embargo, cuando cada proyecto tiene uno, ya no es un indicador fácil de valor. Por eso es increíblemente importante que lea la auditoría usted mismo. Incluso si no tiene conocimientos técnicos, resulta útil echar un vistazo a los comentarios y la gravedad de los posibles problemas.
Cuando se encuentre con una auditoría, al menos ahora le resultará más fácil comprender su contenido. Como siempre, asegúrese de que cualquier decisión de inversión tenga en cuenta el panorama completo y tenga en cuenta toda la información.
Otras lecturas:
¿Qué es la verificación formal de contratos inteligentes?
Cuatro formas de DYOR en DeFi Yield Farms
¿Qué es el rendimiento real en DeFi?
Descargo de responsabilidad y advertencia de riesgo: este contenido se le presenta "tal cual" para información general y fines educativos únicamente, sin representación ni garantía de ningún tipo. No debe interpretarse como asesoramiento financiero, legal o profesional, ni pretende recomendar la compra de ningún producto o servicio específico. Debe buscar su propio consejo de asesores profesionales adecuados. Cuando el artículo sea aportado por un colaborador externo, tenga en cuenta que las opiniones expresadas pertenecen al colaborador externo y no reflejan necesariamente las de Binance Academy. Lea nuestro descargo de responsabilidad completo aquí para obtener más detalles. Los precios de los activos digitales pueden ser volátiles. El valor de su inversión puede subir o bajar y es posible que no recupere el monto invertido. Usted es el único responsable de sus decisiones de inversión y Binance Academy no es responsable de las pérdidas en las que pueda incurrir. Este material no debe interpretarse como asesoramiento financiero, legal o de otro tipo. Para obtener más información, consulte nuestros Términos de uso y Advertencia de riesgos.

