Reanudar

Una auditoría de seguridad proporciona un análisis detallado de los contratos inteligentes de un proyecto. Realizar una auditoría es importante para garantizar la seguridad de los fondos de los inversores. De hecho, como todas las transacciones en la cadena de bloques son definitivas, en caso de robo, los fondos no se pueden recuperar. Durante una auditoría, los auditores examinan el código del contrato inteligente y producen un informe que luego se enviará al equipo para su uso. Luego se publica un informe final que detalla los errores y los medios ya implementados para resolver los problemas de rendimiento o de seguridad.


Introducción

Las auditorías de contratos inteligentes son muy comunes en el ecosistema de finanzas descentralizadas (DeFi). Si ha invertido en un proyecto blockchain, su decisión puede basarse en parte en los resultados de la auditoría del contrato inteligente.

Aunque la mayoría de la gente comprende la importancia de las auditorías de ciberseguridad, pocos profundizan en el código. Echemos un vistazo a los métodos, herramientas y resultados que normalmente se observan en las auditorías de seguridad de contratos inteligentes para que pueda tomar decisiones 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. Estos contratos generalmente están codificados en Solidity y disponibles en GitHub. Las auditorías de seguridad son particularmente importantes para los proyectos DeFi, que gestionan transacciones blockchain multimillonarias entre un gran número de usuarios. Las auditorías generalmente se llevan a cabo en cuatro etapas:

1. Los contratos inteligentes se proporcionan a los auditores para su análisis.

2. Los auditores presentan sus conclusiones a los directores de proyecto para que puedan actuar en consecuencia.

3. El equipo del proyecto realiza los cambios necesarios.

4. Los auditores publican un informe final teniendo en cuenta los cambios del equipo del proyecto.

Para muchos usuarios de criptomonedas, auditar los contratos inteligentes es esencial antes de invertir en un proyecto DeFi. Este es un paso obligatorio para los proyectos que quieren ser tomados en serio. Algunos proveedores de auditoría son considerados líderes en el sector, lo que hace que sus auditorías sean ciertamente más caras, pero más cualitativas.


¿Por qué necesita auditar sus contratos inteligentes?

Con grandes cantidades de valor encerradas o pasando a través de contratos inteligentes, es comprensible que sean objetivos atractivos para los ciberataques. Errores muy pequeños en el código pueden provocar el robo de enormes sumas de dinero. El hackeo DAO de la cadena de bloques Ethereum costó casi 60 millones de dólares en Ethereum y provocó una bifurcación dura de la red Ethereum.

Dado que las transacciones de blockchain son irreversibles, es esencial garantizar que el código de un proyecto sea completamente seguro. La naturaleza altamente segura de blockchain dificulta la recuperación de fondos y la solución de problemas después del hecho, por lo que es mejor evitar las vulnerabilidades a toda costa.


¿Cómo funcionan las auditorías de contratos inteligentes?

El proceso de auditoría de contrato inteligente es bastante estándar entre los proveedores de auditoría. Aunque 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 objetivo) y la arquitectura general. Una especificación ayuda al equipo de auditoría a comprender los objetivos del proyecto al escribir y utilizar código.

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

3. Realizar pruebas. Su naturaleza exacta cambiará dependiendo del equipo auditor, sus herramientas de análisis y sus métodos. Normalmente, se realizan pruebas tanto manuales como automatizadas.

4. Crear una primera versión del informe con los errores encontrados para entregárselo al equipo del proyecto para que pueda dar su opinión y hacer las correcciones necesarias.

5. Publicar el informe final, teniendo en cuenta las acciones tomadas por el equipo para abordar las cuestiones planteadas.


Métodos de auditoría de contratos inteligentes

Eficiencia del gas

Las auditorías de contratos inteligentes no sólo se centran en la seguridad de blockchain. También verifican la eficiencia y optimización del código. Algunos contratos requieren una serie complicada de transacciones para realizar la función para la que fueron diseñados. Dado que las tarifas del gas en redes como Ethereum son relativamente caras, los contratos optimizados ahorran mucho dinero en costos de transacción.

La optimización es una buena forma de juzgar la competencia de un desarrollador. Los pasos innecesarios aumentan el riesgo de problemas y deben evitarse. Cuando el precio del gas es alto, es posible que los contratos inteligentes no se ejecuten o que el límite de gas sea demasiado bajo.

Vulnerabilidades del contrato

La mayoría de las auditorías implican verificar los contratos en busca de vulnerabilidades de seguridad. Si bien algunos problemas son fáciles de detectar, muchos exploits utilizan técnicas y estrategias avanzadas para drenar fondos. La manipulación del mercado se puede utilizar, por ejemplo, con contratos inteligentes vulnerables para activar préstamos rápidos. Para encontrar estos problemas, los auditores atacan el contrato de diferentes maneras. Algunas de las vulnerabilidades más comunes incluyen:

1. Problemas de reentrada: cuando un contrato inteligente realiza una llamada externa a otro contrato externo antes de que se resuelvan los efectos. Luego, el contrato externo puede llamar recursivamente al contrato inteligente original e interactuar con él de una manera que normalmente no es posible, ya que el saldo del contrato original aún no se ha actualizado.

2. Desbordamientos y subejecuciones de enteros: cuando un contrato inteligente realiza una operación aritmética, pero el resultado excede la capacidad de almacenamiento (generalmente 18 decimales). Esto a menudo conduce a cálculos incorrectos.

3. Oportunidades de anticipación: un código mal estructurado puede ayudar a anticipar compras o ventas en el mercado. Algunos pueden aprovechar esta información para realizar operaciones positivas.

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 comprometida la interfaz de usuario de su sitio web, lo que permite a los piratas informáticos recuperar el acceso a la billetera de los usuarios que inician sesión en él.


¿Qué es un informe de auditoría?

El informe de auditoría se proporciona al final del proceso de auditoría. En aras de la transparencia, los proyectos generalmente comparten los resultados con su comunidad. La mayoría de los informes clasifican los problemas por gravedad: críticos, mayores, menores, etc. El informe también enumera el estado de las fallas, y se da tiempo a los proyectos para corregirlas antes de que se publique el informe final.

Además de un resumen, un informe estándar contiene recomendaciones, ejemplos de códigos redundantes y un análisis exhaustivo de errores de codificación. Se da tiempo al proyecto para actuar sobre las conclusiones del informe antes de la publicación de la versión final.


¿Dónde puedo auditar mis contratos inteligentes?

Varios servicios de auditoría de contratos inteligentes se han hecho famosos por sus servicios. Dos de ellos son particularmente populares y para obtener una auditoría de ellos, deberá establecer una cotización inicial y enviar información.

CertiK

CertiK es líder de la industria en auditorías de contratos inteligentes. Cientos de proyectos confían en ellos. PancakeSwap, el creador de mercado automatizado (AMM) más grande del BSC, es un buen ejemplo. A continuación se muestra parte de la auditoría Certik de PancakeSwap.


Además, CertiK audita la gran mayoría de los proyectos respaldados por Binance Labs. CertiK publica un panel de proyectos auditados que permite comparar cada uno de ellos, así como una puntuación de seguridad. Tenga en cuenta que además de Ethereum, Ceritk también audita proyectos basados ​​en Polygon y BSC.


Diligencia de ConsenSys

Dirigido por Joseph Lubin, uno de los cofundadores de Ethereum, ConsenSys es uno de los nombres más importantes en la industria de las criptomonedas en lo que respecta al desarrollo de blockchain. Bajo ConsenSys Diligence, la compañía ofrece auditorías de contratos inteligentes de Ethereum. También brindan un servicio automatizado que verifica los contratos de la máquina virtual Ethereum (EVM) para detectar los errores más 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 verificarán. Normalmente, una auditoría cuesta varios miles de dólares. Un proyecto con muchos contratos ascenderá rápidamente a más de 10.000 dólares. La empresa de auditoría que se encarga de su auditoría y su reputación también afectarán el importe a pagar.


Para concluir

Afortunadamente para los inversores y usuarios, las auditorías de contratos inteligentes son ahora una norma. Sin embargo, como cada proyecto ahora tiene uno, esto ya no es garantía de calidad. Por eso es extremadamente importante que usted mismo lea la auditoría. Incluso si no tienes los conocimientos técnicos para leerlo, echa un vistazo a los comentarios.

Cuando se encuentre con una auditoría, al menos podrá comprender su contenido más fácilmente. Como siempre, asegúrese de que cualquier decisión de inversión tenga en cuenta la mayor cantidad de elementos posible.