Seguridad de la cadena de bloques: cómo entender las auditorías de la cadena de bloques para mantenerse a salvo en DeFi

Este último año ha sido una época bastante oscura para las criptomonedas. No sólo hemos visto el catastrófico colapso de Luna, la degeneración de 3 Arrows Capital, los problemas de insolvencia y quiebra de BlockFi, Celsius, Voyager, VAULD y más, las condiciones macroeconómicas que nos han sumido en las profundidades de un criptoinvierno, sino que también ha sido un año monumentalmente desastroso para los hacks y exploits de blockchain y DeFi, lo que ha provocado que la gente huya de DeFi más rápido que los nadadores huyendo de aguas infestadas de tiburones.

Seguramente ahora estarás pensando, «Vaya, gracias por la deprimente introducción. El cripto suena como un campo de minas».

Y no te equivocas, las criptomonedas tienen sus riesgos. Pero antes de que todo este pesimismo te haga querer abandonar el cripto para siempre y esconderte debajo de tu cama, no temas, porque este artículo te va a enseñar a navegar por las aguas del DeFi de la manera más segura posible y te mostrará lo que necesitas saber sobre las auditorías de seguridad del blockchain.

Auditoría de la cadena de bloques

Echar un vistazo a los informes de auditoría de proyectos es uno de los mejores pasos que puede dar para protegerse de las plataformas DeFi que no son óptimas. Imagen vía Shutterstock

Aunque esto no le ayudará a protegerse contra todos los riesgos de las criptomonedas, no hay forma de proteger a alguien que decide «YOLO» sus ahorros de toda la vida en la próxima memecoin, la información de este artículo al menos le ayudará a equiparse con una flecha más en su carcaj que puede desplegar para mejorar en gran medida su navegación segura en el espacio DeFi.

Sólo para disipar algunos temores desde el principio, no te preocupes porque este artículo sea demasiado técnico. Esta útil guía será tan fácil de entender que incluso mi padre, que se refiere a toda la industria de las criptomonedas como «Esa cosa de Bitcoin», podrá entenderla.

meme de bitcoin

Esta imagen resume bastante bien cómo ve mi padre las criptomonedas. Imagen vía blockchainmuffin.com

Y como estoy tan versado en las habilidades de desarrollo de la cadena de bloques como una roca lo está en cortar el pelo, decidí obtener algo de ayuda profesional y consejos de expertos para este artículo. Me puse en contacto con nuestros amigos de Ackee Blockchain para ayudar a enseñarme a mí mismo, y al común de los mortales, en qué consisten estas auditorías de blockchain.

Quiero dar un gran saludo al equipo de Ackee por tomarse el tiempo de ayudarnos a nosotros y a nuestra comunidad enseñándonos los fundamentos de las auditorías de blockchain, y por colaborar con nosotros en este artículo. Los informes de auditoría de blockchain y DeFi son un aspecto tan importante de la criptografía y son algo que muy pocos de nosotros entendemos realmente.

página web de ackee

Un vistazo a la página web de Ackee Blockchain.

Al hacer nuestra debida diligencia para determinar la seguridad de una DApp o protocolo DeFi, muchos de nosotros buscaremos algo que diga que la plataforma ha sido auditada y podemos pensar, «vale, suficiente». Sé que he sido culpable de eso en el pasado, pero ¿qué significa realmente haber sido auditado? ¿Cómo podemos verificarlo? Y como aprenderás en este artículo, sólo porque algo haya sido auditado, no significa que deba obtener automáticamente la luz verde.

Para empezar, veamos qué hacen realmente las empresas de auditoría de blockchain.

¿Qué hacen las empresas de auditoría de Blockchain?

Cuando oímos el término «auditoría», muchos de nosotros nos imaginamos automáticamente a un viejo estirado con traje que trabaja para el gobierno y que va a llamar a la puerta para revisar todos nuestros estados financieros y bancarios con un peine de dientes finos. En la industria financiera tradicional, tendrías razón, pero los auditores de blockchain no podrían estar más lejos de eso.

Los auditores de blockchain no son contables ni mucho menos, son expertos en codificación y habilidades de desarrollador que buscan fallos, errores y código malicioso en el código fuente de un proyecto de blockchain, contrato inteligente o cripto token.

servicios de ackee

Algunos de los servicios que prestan las empresas de auditoría de Blockchain. Imagen vía Ackee Blockchain

Las diferentes empresas de auditoría también pueden especializarse en diferentes áreas, por lo que siempre es bueno ver una plataforma que ha sido auditada por más de una empresa. Cada auditoría realizada reduce el riesgo y una empresa puede detectar algo que a la otra se le pasó por alto.

1 pulgada es un gran ejemplo de ello. 1inch es un agregador de DEX que ha sido auditado por múltiples empresas diferentes, lo que aumenta la confianza de los usuarios en la plataforma, y pone de manifiesto que el equipo de 1inch tiene un fuerte compromiso para garantizar la seguridad de su comunidad.

Informe de auditoría de 1 pulgada

Una mirada a las múltiples auditorías realizadas a la aplicación DeFi de 1 pulgada. Imagen vía github/1inch-audits.

Las empresas de auditoría de blockchain contarán con un equipo de ingenieros que podrán realizar tareas como:

  • Auditoría de seguridad
  • Análisis de herramientas
  • Revisión manual del código
  • Ejecutar y escribir pruebas automatizadas
  • Realización de concursos de recompensas por errores

Mientras que otras empresas de auditoría como Ackee Blockchain también pueden cumplir con más requisitos de «servicio completo» y ayudar en áreas adicionales como:

  • Creación de contratos inteligentes seguros en Solidity o Rust
  • Ayudar a construir un ecosistema completo, manejando UX, diseño, frontends, backends y DevOps

Ackee Blockchain también contribuye a la industria del blockchain en su conjunto, lo cual es estupendo de ver. Han desarrollado herramientas de seguridad de código abierto que cualquiera puede utilizar y les apasiona enseñar y ofrecer oportunidades a los aspirantes a desarrolladores de blockchain. En el pasado, han organizado cursos en línea para desarrolladores que quieren trabajar en blockchain e incluso recibieron una subvención de la Fundación Solana para dirigir un escuela de verano para Solana .

Escuelas de Ackee

Algunos de los cursos ofrecidos por Ackee Blockchain.

El equipo ofrece escuelas de verano en línea donde enseñan Solidity, y en el otoño de 2022, el CEO y cofundador de Ackee Blockchain, Josef Gattermayer, Ph.D., enseñará temas en torno al desarrollo de blockchain en la Universidad Técnica Checa de Praga . Definitivamente, merece la pena ponerse en contacto con el equipo de Ackee, inscribirse en los cursos en su página web, y seguirlos si estás interesado en un futuro en el desarrollo y la seguridad del blockchain.

Como puede ver, la auditoría de la cadena de bloques puede ser algo más que una simple búsqueda en una habitación oscura y una búsqueda en el código, hay todo un ecosistema encapsulado dentro del nicho.

¿Por qué es importante la auditoría de la cadena de bloques?

Si los seres humanos fueran perfectos, no habría necesidad de empresas de auditoría de blockchain, ya que cada línea de código estaría escrita de forma impecable y sería completamente impermeable a explotaciones, fallos y ataques.

Lo que es aún peor que el hecho de que los humanos cometan errores, es que la gente puede ser corrupta y maliciosa. Un hecho bastante frecuente es que los malos actores introduzcan intencionadamente código malicioso en su protocolo que les permita explotar una plataforma creada por ellos para robar los fondos de los usuarios.

Trezor Inline

Entre el error humano y la intención maliciosa, los contratos inteligentes y las aplicaciones/DApps de blockchain son susceptibles a los siguientes riesgos:

  • Ataques de denegación de servicio que inutilizan el protocolo.
  • Tirones de alfombra/robo por la puerta trasera donde los fundadores introducen un código malicioso que les permite retirar los fondos colocados en un contrato inteligente.
  • Explotar el código de forma que beneficie al hacker y perjudique a los usuarios, como acuñar nuevos tokens fuera de los métodos previstos o drenar los fondos de los clientes de los contratos inteligentes.
  • Algunos hackers simplemente quieren «ver el mundo arder» y explotarán cualquier fallo que puedan encontrar para dañar una plataforma.

Muchos usuarios de DeFi consideran que una de las cosas más importantes que hay que buscar en una plataforma DeFi es si el código es o no de código abierto. Este es un gran primer paso, ya que muchos proyectos publican el código en un sitio público como Github, donde cualquiera puede entrar y comprobar/verificar el código por sí mismo.

Al mirar la página de GitHub de un proyecto, ésta suele ser una de las cosas que buscan los usuarios que se plantean utilizar una DApp, utilizando de nuevo 1inch como ejemplo:

1 pulgada de público

«Público» significa que cualquiera puede entrar y echar un vistazo al código. Imagen vía github/1inch

Este es un buen enfoque inicial para verificar la autenticidad de un protocolo, ya que aquí es donde los miembros de la comunidad o cualquier persona puede entrar y verificar que no hay ningún código malicioso escondido.

También es útil saber que cualquiera puede publicar cualquier cosa en GitHub. El código publicado en GitHub no confirma automáticamente que ese sea el mismo código que ejecuta el contrato inteligente. Por suerte, los usuarios pueden verificarlo entrando en un explorador de bloques como Etherscan y comprobando que el código en GitHub está realmente desplegado y utilizado. Aquí está el Ficha de 1 pulgada en Etherscan por ejemplo. Tiendo a estar de acuerdo con el sentimiento de que la publicación de código abierto en GitHub es una buena señal, pero para mí, cuando hago clic en GitHub para echar un vistazo, todo lo que veo es:

código

¿Eh? Para mí podrían ser jeroglíficos egipcios. Imagen vía GitHub

Así que en lugar de que mi cerebro se fría como un huevo en una acera caliente tratando de entender esto, me gusta ver que un equipo de profesionales de una empresa auditora de blockchain ha revisado todo esto y le ha dado el visto bueno.

Es importante aclarar una cosa, y es que el hecho de que un protocolo haya sido auditado no significa que sea 100% seguro. Ningún código puede considerarse completamente inmune a los intentos de hackeo, ya que las herramientas y habilidades de los hackers son cada vez más sofisticadas. Al igual que los hackers de sombrero blanco (buenos) y los desarrolladores de blockchain mejoran y evolucionan constantemente, también lo hacen los malos.

Se puede pensar en ello como una especie de juego del gato y el ratón, escribir código es esencialmente como construir un rompecabezas creativo y resolver problemas, y los hackers buscan formas de resolver o atacar el rompecabezas de maneras cada vez más inteligentes y sofisticadas, por lo que siempre seguirá habiendo un elemento de riesgo.

Por qué 2022 ha sido especialmente malo para los criptoexploits

Cuando vemos titulares como este:

hacks

El año pasado se registró un número récord de pérdidas de fondos debido a los hackeos. Imagen vía TechCrunch

Puede ser bastante desgarrador. La industria de las criptomonedas se ha visto seriamente afectada, ya que cada semana parece haber otro hackeo masivo o explotación que resulta en millones de fondos perdidos.

Esto no sólo es triste, ya que se trata de gente normal que pierde su dinero, sino que también es preocupante, ya que estos ataques están sometiendo a toda la industria de las criptomonedas a críticas cada vez más duras, ralentizando la adopción, alejando a los inversores y proporcionando a los gobiernos las excusas que necesitan para aumentar su control autoritario para «proteger» a los inversores, a menudo imponiendo medidas draconianas de las que muchos de nosotros acudimos a las criptomonedas para escapar.

La razón principal de esto se reduce a una ingeniería descuidada de los desarrolladores.

Cuando me senté con Josef, de Ackee, y le pedí su opinión sobre por qué ha habido un número récord de explotaciones, su explicación tuvo sentido.

Parafraseando mucho, Josef continuó explicándome que la industria de las criptomonedas está creciendo rápidamente y hay una carrera feroz para que los equipos lancen sus productos. Hay una falta de desarrolladores de blockchain cualificados y experimentados capaces de satisfacer la demanda, lo que hace que muchos proyectos contraten a desarrolladores novatos y tengan una actitud «suficientemente buena», lanzando DApps sin que se realicen las comprobaciones y auditorías adecuadas.

josef gattermayer

Tuve el placer de sentarme con Josef Gattermayer para hablar de todo lo relacionado con la seguridad de la cadena de bloques. Imagen vía ackee.de

Josef también explicó que la necesidad de servicios de auditoría de blockchain se está disparando, y no hay suficientes empresas de auditoría de blockchain para satisfacer la demanda de los proyectos. Esto ha provocado que los equipos de proyectos no quieran esperar a que un equipo de auditores esté disponible, por lo que se adelantan y lanzan una actualización, ya sea sin una auditoría, o confiando en una auditoría obsoleta que no cubre la nueva versión o iteración de una plataforma.

Este tema estuvo especialmente presente durante la carrera alcista de 2021, pero las cosas están mucho más relajadas ahora que estamos en un mercado bajista. Los proyectos no tienen mucha prisa por lanzarse y hay menos proyectos en el cuello de botella de la auditoría. Es cierto que los mercados bajistas son el momento de construir, y los equipos tienden a adoptar un enfoque más diligente durante las épocas de mercado lento.

Repasamos dos ataques específicos que se produjeron con éxito para investigar exactamente lo que ocurrió, para ayudar a poner todo esto en perspectiva.

El hackeo del DAO de Ethereum de 2016

Hack de DAO

El infame hackeo del DAO de Ethereum. Imagen vía Cableado

Esencialmente, lo que ocurrió aquí fue algo conocido como un error de reentrada. En pocas palabras, el código ejecuta dos instrucciones:

  1. Retirar
  2. Balance de actualización

Si se realiza cronológicamente, funciona como debería. Pero como Ethereum es un sistema distribuido (a diferencia de los programas web2), el contrato puede ser llamado desde otro contrato lo que trae una opción para implementar una función de callback personalizada que es llamada desde la instrucción de retiro.

Y esta función de devolución de llamada implementada por el hacker llama al contrato de nuevo y luego de nuevo múltiples veces antes de que la instrucción de actualización de saldo se ejecute finalmente. Esto permite al atacante retirar múltiples veces.

Este es un error frecuente que cometen los desarrolladores novatos de web3. Incluso 5 años después de este ataque, el problema sigue surgiendo porque los desarrolladores no se toman el tiempo para aprender de este caso. La solución es bastante simple en este caso, y es simplemente poner esas dos líneas de código en el orden inverso. Primero actualizar, luego retirar.

Los auditores buscan problemas conocidos como éste cuando auditan un protocolo.

Ataque al agujero de gusano de Solana 2022

solana hack

Solana Wormhole Hack. Imagen a través de CNBC

El año 2022 no empezó con buen pie, ya que el primer gran ataque se produjo en Solana a principios de febrero. El atacante se saltó la verificación de la firma en un programa de Rust para que pareciera que los guardianes habían firmado un depósito de 120k ETH en Wormhole en Solana, aunque no lo habían hecho. El atacante entonces acuñó 120k de ETH envueltos en Solana.

Antes de este ataque de gusano, muchos en la comunidad criptográfica asumían que el desarrollo de Solana y Rust era demasiado difícil de aprender como para atraer a los desarrolladores amateurs. Esto llevó a la creencia de que sólo los mejores desarrolladores trabajaban en Solana, lo que significa que no había una necesidad tan fuerte de auditorías. Después de este ataque, Josef mencionó que él y su equipo vieron un aumento significativo en las solicitudes de auditoría para los DApps y protocolos de Solana.

Después de todo esto, puedes estar pensando que si los humanos son la fuente de errores e intenciones dañinas, ¿no tendría sentido simplemente tener ordenadores y máquinas de Inteligencia Artificial que probablemente no cometan errores y sean incapaces de tener intenciones maliciosas simplemente escribiendo todo este código por nosotros?

La IA sustituye a los desarrolladores

Es poco probable que la inteligencia artificial sustituya a los desarrolladores a corto plazo. Imagen vía STXnext.com

Es una gran pregunta, y debido a artículos como el anterior, es algo que también se me ha pasado por la cabeza. Lo trataremos en la siguiente sección.

El futuro de la seguridad de la cadena de bloques

Es evidente que nos dirigimos hacia un futuro en el que muchos de nuestros trabajos van a ser subcontratados a ordenadores y programas de IA que pueden hacer el trabajo de los humanos mucho mejor que nosotros.

Ya lo vemos con los cajeros automatizados y las fábricas de automóviles que tienen más robots que humanos. Los ordenadores están incluso ocupando puestos de trabajo altamente especializados, como los médicos y los farmacéuticos, ya que un robot puede ser más preciso con el bisturí y un programa informático puede recorrer toda la base de datos de medicamentos y rellenar en cuestión de segundos informes sobre qué medicamentos pueden y no pueden mezclarse con otros productos químicos y medicinas, una tarea imposible para un humano.

Pensaba con seguridad que la programación y el desarrollo serían uno de los primeros trabajos sustituidos por los ordenadores. Si todo son letras y números en una pantalla construidos de forma que se completen ciertas tareas, seguramente un ordenador podría hacerlo mejor que un humano, con menos errores ¿no?

Robot,Empleado,Aleja,A,Un,Trabajador,Humano,De,Hacer,Lo,Suyo

Sí, había imaginado algo así: Imagen vía Shutterstock

Pensé que las empresas de auditoría de blockchain seguirían el camino del pájaro Dodo (extinto), ya que una vez que los ordenadores empiecen a desarrollar de forma autónoma, no habrá errores que encontrar. Esto puso de manifiesto lo poco que sabía sobre desarrollo, ya que el equipo de Ackee me explicó algunos conceptos que no había apreciado.

Una gran parte del desarrollo de la cadena de bloques consiste en la resolución de problemas y en la observación de una visión de 360 grados de un problema. Se necesita una gran cantidad de creatividad y pensamiento «fuera de la caja» que los ordenadores no pueden hacer. No es tan simple como «cuando ocurra ‘X’, ejecuta ‘Y'».

También hay que tener en cuenta que muchas de estas DApps y aplicaciones intentan resolver problemas «humanos» y cómo interactuamos con los sistemas, protocolos y procedimientos. Lo siento pequeño Butter Bot, pero no estás hecho para entender los problemas humanos y proporcionar soluciones humanas.

bot de mantequilla

Parece que los robots se ceñirán a tareas más unidimensionales… por ahora. Meme generado vía memegenerator.net

No solo se están disparando los puestos de trabajo en el desarrollo y la seguridad de blockchain, sino que parece que habrá necesidad de estas funciones en los próximos años.

Esto no quiere decir que no haya automatización en el espacio de desarrollo web3. Hay un montón de herramientas gratuitas para los desarrolladores que les proporcionan información sobre la seguridad y ayudan a descargar parte del trabajo para que los desarrolladores puedan centrarse en otras tareas.

Por ejemplo, en Ethereum, hay un buen analizador de código estático llamado Slither que es muy popular y Ackee Blockchain está trabajando en su propio analizador estático de código abierto llamado Woke que detecta las cosas de forma diferente a Slither, reduciendo la carga de tener que analizar manualmente el código.

El equipo de Ackee también descubrió una tendencia en Solana respecto a un problema con las pruebas. Los desarrolladores no estaban escribiendo suficientes pruebas, ya que es un trabajo intensivo, con la necesidad de escribir un montón de código repetitivo. Por ello, Ackee Blockchain encabezó un proyecto en el que escribió un marco de pruebas de código abierto para Solana llamado Trdelnik que permitirá a los desarrolladores escribir pruebas más fácilmente. El equipo recibió una mención de honor y ganó un premio Marinade durante un hackathon en Praga para Trdelnik.

Todo esto nos muestra que es probable que la automatización y los ordenadores desempeñen un papel cada vez más importante para ayudar a los desarrolladores de blockchain y a los auditores de seguridad, pero es poco probable que los sustituyan a corto plazo.

El sentimiento general entre los desarrolladores de blockchain es que muchos de estos hacks y exploits son el resultado de que esta es todavía una industria joven e inexperta. A medida que la industria del blockchain siga evolucionando y madurando, debería haber cada vez menos exploits, lo que hará que el espacio de las criptomonedas en general sea más seguro y fácil de usar.

Muy bien, ahora vamos a lo bueno, lo más importante de este artículo.

Cómo verificar que una plataforma ha sido auditada

El primer paso es asegurarse de que existe una auditoría. Estas se pueden encontrar en el repositorio GitHub del proyecto, y cualquier auditoría realizada debería mencionarse claramente en los documentos del proyecto o en el propio sitio web de la plataforma. Si no encuentras ninguna mención a una auditoría, yo me mantendría alejado.

El hecho de que no haya una auditoría disponible públicamente probablemente signifique que:

  • No se ha realizado ninguna auditoría
  • Ha habido una auditoría fallida que el proyecto no quiere que se conozca
  • La auditoría descubrió problemas que el equipo no abordó
  • El código contiene rutas maliciosas de puerta trasera que podrían conducir al robo

Como se mencionó anteriormente, también es bueno ver que el código es de código abierto al estar etiquetado como «público» en GitHub. Esto no es un requisito, pero es una ventaja. Sin embargo, hay razones para no abrir el código, por lo que no siempre es un problema. Las razones para no abrir el código pueden ser cosas como:

  • Empresas que desean mantener una ventaja competitiva. En cuanto una empresa abre su código, cualquiera puede crear el mismo protocolo y competir. Por eso Coca-Cola mantiene su receta en secreto y KFC tiene su famoso «Top secret 11 herbs and spices».
  • Una vez que el código es público, los hackers pueden utilizar la información para buscar exploits. Aunque las buenas prácticas hacen lo contrario, si un proyecto confía en su código, lo publicará.
  • Es posible que los primeros proyectos no quieran abrir su código inmediatamente hasta que hayan creado una gran comunidad y suficientes usuarios, creando un obstáculo para los posibles competidores.

Hace poco me reuní con un equipo de proyecto que se arrepentía de haber abierto su plataforma desde el primer momento, ya que una empresa de la competencia se limitaba a copiar su código y su modelo de negocio, y disponía de más fondos para pagar a los influencers y a los seguidores. Esto hizo parecer que la empresa competidora era la mejor plataforma desde su lanzamiento, ya que daba la impresión de tener más usuarios y más seguidores. La empresa competidora está ahora muy por delante del equipo fundador original, que optó por crecer de forma más orgánica y ética.

Aquí hay una gran imagen de Puente Global que resume algunas de las diferencias generalizadas entre el software de código abierto y el de código cerrado:

código abierto vs código cerrado

Imagen a través de Puente Global

Se pueden encontrar dos enfoques interesantes del código abierto frente al código cerrado comparando las carteras de hardware más populares Trezor y Ledger . Trezor optó por publicar el 100% de su código fuente para que cualquiera pudiera verificarlo, mientras que Ledger optó por jugar sus cartas más cerca del pecho y abrir parte del código, pero mantener su firmware de código cerrado.

Esto llevó a muchos elitistas de blockchain a elegir Trezor en lugar de Ledger, ya que pensaban que Ledger debería abrir su código, preguntándose qué están tratando de ocultar. Personalmente, no veo esto como una causa de preocupación, ya que Ledger ha demostrado su trayectoria y dedicación al espacio, y ha crecido hasta convertirse en uno de los mayores proveedores de carteras de hardware en el mundo, creando algunos de los dispositivos de almacenamiento de criptografía más seguros.

Una vez que se ha realizado y localizado una auditoría, siempre que se haya hecho pública, cualquiera puede abrir el documento y encontrar los resultados de la misma. En lugar de desplazarse por todo el documento de la auditoría, para nuestro simple propósito, todo lo que necesitamos buscar es la página del «Resumen Ejecutivo», que a menudo se parece a esto:

resultados de la auditoría

Los resultados de la auditoría de IDEX. Imagen vía certificado.quantstamp

Esta página se encuentra al principio o al final del informe. Es una página que muestra los resultados de la auditoría en un formato simple que la persona promedio puede entender. Analicemos la información que nos muestra.

¿Es reciente la auditoría? Las auditorías deberían ser un servicio continuo y definitivamente debería hacerse una nueva auditoría por cada actualización, versión o nueva característica/función introducida. Si se ha lanzado una nueva característica o versión, los resultados de la auditoría anterior ya no son válidos, ya que el código base probablemente ha cambiado.

Esto puede verificarse mirando la versión del proyecto y/o el hash del commit. La versión es algo así como cuando ves Uniswap «V2» (versión 2), y el hash de commit identifica una revisión en el repositorio de código fuente. Al mirar la versión o el hash de commit que se muestra en la auditoría, que se puede ver en la imagen de arriba en la tabla con el título «repositorio», los usuarios pueden comprobar que coincide con la versión o el hash de commit que se muestra en GitHub.

Eso será algo así:

Número de compromiso correspondiente

Aquí hay otra mirada de una de las auditorías de Ackee Blockchain:

auditoría de ackee 3

Aunque si el hash de commit no coincide, eso no significa necesariamente que haya una bandera roja. El hash de commit en el GitHub del proyecto cambiará cada vez que se haga un nuevo ajuste o iteración. Cada ajuste cambiará el hash de commit y no debería ser una causa de preocupación si sólo hubo un ajuste menor.

Si no ves el hash de commit de la auditoría en la página principal de GitHub, puedes ir al «Historial de commit» y buscar el hash de commit y ver por ti mismo cuánto ha cambiado desde que se realizó la auditoría.

Puede hacerlo haciendo clic aquí:

seleccione el compromiso

Pues haciendo una búsqueda aquí:

búsqueda de commit

Como se rellena un nuevo hash de commit para cada cambio, cada uno con una marca de fecha y hora, si ha habido un número significativo de nuevos commits entre el momento en que se llevó a cabo la auditoría, y el hash de commit en el que se encuentra el proyecto actualmente, es posible que desee considerar la posibilidad de esperar hasta que se lleve a cabo otra auditoría antes de involucrarse.

Si tienes un ojo analítico y quieres profundizar, puedes hacer clic en el hash de cada nuevo commit y comparar el código antiguo mostrado en rojo con el nuevo código mostrado en verde y verificar por ti mismo qué ha cambiado exactamente:

Auditoría de Blockchain

Si observa un nuevo hash de confirmación que es diferente a cuando se realizó la auditoría y ve algo como esto:

cambio insignificante

Este es uno de esos cambios insignificantes que he mencionado, y aunque se ha rellenado un nuevo hash de confirmación, no es nada de lo que preocuparse, ya que se trata de un simple cambio de nombre de un archivo. La imagen de GitHub arriba muestra 0 adiciones y 0 eliminaciones.

Ahora, lo siguiente que hay que buscar en el resumen ejecutivo:

Problemas – El resumen ejecutivo muestra todos los problemas que se descubrieron durante la auditoría y, lo que es más importante, si el equipo resolvió los problemas. Esta sección puede verse cerca de la parte inferior, donde se muestra el «Total de problemas», y luego se desglosa en función de la gravedad y de si se han resuelto o no. La empresa auditora primero identifica los problemas, los señala al equipo de desarrollo y luego vuelve a comprobar el código una vez que los desarrolladores resuelven los problemas antes de que el equipo auditor marque el problema como «resuelto».

Evidentemente, cualquier cuestión marcada como «crítica» o «de alto riesgo» debe resolverse. Incluso si el informe muestra que todos los problemas críticos o de alto riesgo se han resuelto, hay que tener en cuenta que hay cierto escepticismo sobre el proyecto. Si el equipo de auditores ha encontrado un elevado número de problemas críticos para empezar, eso puede poner de manifiesto que el equipo de desarrolladores que está detrás del proyecto puede ser bastante novato, lo que puede dar lugar a más problemas adicionales en el futuro.

Las cuestiones de riesgo medio o bajo son comunes y no suelen ser motivo de preocupación. El equipo auditor puede incluso marcar algo como de bajo riesgo si simplemente sugiere una alternativa o tiene una diferencia de opinión sobre cómo enfocar algo.

A continuación se resume lo que significa cada una de las categorías:

Crítica – Cualquier cosa marcada como crítica significa que algo es explotable en este momento.

El equipo de Ackee Blockchain me contó una historia sobre una auditoría que estaban realizando en la que encontraron un problema crítico en un protocolo que ya se había lanzado. Despertaron al equipo de desarrollo del proyecto a las 5 de la mañana en una emergencia de «manos a la obra» para reparar el código lo antes posible. Afortunadamente, detectaron el problema a tiempo antes de que los hackers pudieran identificar la vulnerabilidad.

Alta gravedad – Problemas que no son explotables ahora, pero que podrían serlo si se cumplen algunas secuencias específicas.

Medio a Bajo – A menudo se trata de pequeños ajustes necesarios o recomendaciones y no necesariamente de amenazas a la seguridad.

Las diferentes empresas de auditoría redactan los resúmenes ejecutivos también en diferentes formatos. El resumen ejecutivo que se muestra arriba fue realizado por la empresa auditora Quantstamp. Ackee Blockchain proporciona el PDF con la auditoría y un resumen web que combina los resultados iniciales y de seguimiento en un formato más de ensayo que es más fácil de leer. Puede encontrar un ejemplo de ello en su Resumen de la auditoría.

Otras cosas que hay que tener en cuenta:

  • ¿Se ha realizado una auditoría por parte de más de una empresa? Cuantos más ojos busquen los problemas, menos posibilidades habrá de que exista un fallo en el código.
  • ¿Es la empresa auditora de blockchain profesional y respetada en la comunidad? Si nunca ha oído hablar de la empresa auditora, eche un vistazo a su sitio web y busque otros proyectos en los que hayan trabajado. ¿Alguna de las plataformas que han auditado tiene buena reputación? Comprueba si alguna de las plataformas fue explotada después de que la empresa realizara una auditoría, esto podría poner de manifiesto un historial de malas habilidades de auditoría. Busque cosas como hackathons ganados y apoyo/subvenciones de fundaciones de redes de nivel 1.

Un buen ejemplo de ello es Ackee Blockchain, a la que cuatro fundaciones clave han asignado subvenciones oficiales para el desarrollo/comunidad: Coinbase Giving, la Fundación Ethereum, la Fundación Solana y la Fundación Tezos.

fundaciones de confianza

Busque fundaciones reputadas que trabajen con empresas de auditoría. Imagen vía Ackee Blockchain

Si eres alguien que se ha vuelto comprensiblemente desconfiado en esta era de la desinformación, si ves una afirmación como la de la imagen de arriba tomada del sitio web de Ackee Blockchain, en lugar de tomar su palabra, siempre puedes navegar a los sitios web de las fundaciones mencionadas y verificar las afirmaciones por ti mismo.

La razón por la que digo esto es porque, en mis años de escribir reseñas, es abrumador el número de sitios web que afirman: «Destacado en Forbes o Yahoo Finance», cuando nunca lo fueron. Me gustaría que hubiera algún tipo de policía de Internet que pudiera llevar a las empresas a la cárcel de Internet por mentir y hacer declaraciones engañosas como esa. Por eso en criptografía hay un dicho, «no confíes, verifica». No te preocupes, Ackee comprueba y de hecho es de confianza de las fundaciones mencionadas, lo he comprobado 😉 .

Boletín de noticias en línea

Reflexiones finales

Bueno, ahí lo tienes. Un poco de información sobre la seguridad de blockchain que espero que hayas encontrado útil. Espero que este artículo te ayude a sentirte más seguro aventurándote en el mundo de las criptomonedas con una capa más de blindaje y siendo capaz de navegar por las aguas de las criptomonedas con más seguridad que antes. Sé que seré diligente en la verificación de esta información la próxima vez que esté seleccionando qué DApps y protocolos elijo para confiar mis cripto activos.

Como dice el refrán, «en las criptomonedas, no se trata de cuánto ganas, sino de cuánto mantienes», ya que, por desgracia, muchos de nosotros, viejos veteranos de las criptomonedas, hemos perdido más que nuestra parte justa de Satoshis en una miríada de hacks, estafas, tirones de alfombra, quiebras, etc. Cuanto más conocimiento tengamos, mejor podremos protegernos de muchos de los duros riesgos que existen en este nuevo e incipiente mundo de las criptomonedas.

Descargo de responsabilidad: Estas son las opiniones del autor y no deben considerarse consejos de inversión. Los lectores deben hacer su propia investigación.

Este último año ha sido una época bastante oscura para las criptomonedas. No sólo hemos visto el catastrófico colapso de Luna, la degeneración de 3 Arrows Capital, los problemas de insolvencia y quiebra de BlockFi, Celsius, Voyager, VAULD y más, las condiciones macroeconómicas que nos han sumido en las profundidades de un criptoinvierno, sino que también ha sido un año monumentalmente desastroso para los hacks y exploits de blockchain y DeFi, lo que ha provocado que la gente huya de DeFi más rápido que los nadadores huyendo de aguas infestadas de tiburones.

Seguramente ahora estarás pensando, «Vaya, gracias por la deprimente introducción. El cripto suena como un campo de minas».

Y no te equivocas, las criptomonedas tienen sus riesgos. Pero antes de que todo este pesimismo te haga querer abandonar el cripto para siempre y esconderte debajo de tu cama, no temas, porque este artículo te va a enseñar a navegar por las aguas del DeFi de la manera más segura posible y te mostrará lo que necesitas saber sobre las auditorías de seguridad del blockchain.

Auditoría de la cadena de bloques

Echar un vistazo a los informes de auditoría de proyectos es uno de los mejores pasos que puede dar para protegerse de las plataformas DeFi que no son óptimas. Imagen vía Shutterstock

Aunque esto no le ayudará a protegerse contra todos los riesgos de las criptomonedas, no hay forma de proteger a alguien que decide «YOLO» sus ahorros de toda la vida en la próxima memecoin, la información de este artículo al menos le ayudará a equiparse con una flecha más en su carcaj que puede desplegar para mejorar en gran medida su navegación segura en el espacio DeFi.

Sólo para disipar algunos temores desde el principio, no te preocupes porque este artículo sea demasiado técnico. Esta útil guía será tan fácil de entender que incluso mi padre, que se refiere a toda la industria de las criptomonedas como «Esa cosa de Bitcoin», podrá entenderla.

meme de bitcoin

Esta imagen resume bastante bien cómo ve mi padre las criptomonedas. Imagen vía blockchainmuffin.com

Y como estoy tan versado en las habilidades de desarrollo de la cadena de bloques como una roca lo está en cortar el pelo, decidí obtener algo de ayuda profesional y consejos de expertos para este artículo. Me puse en contacto con nuestros amigos de Ackee Blockchain para ayudar a enseñarme a mí mismo, y al común de los mortales, en qué consisten estas auditorías de blockchain.

Quiero dar un gran saludo al equipo de Ackee por tomarse el tiempo de ayudarnos a nosotros y a nuestra comunidad enseñándonos los fundamentos de las auditorías de blockchain, y por colaborar con nosotros en este artículo. Los informes de auditoría de blockchain y DeFi son un aspecto tan importante de la criptografía y son algo que muy pocos de nosotros entendemos realmente.

página web de ackee

Un vistazo a la página web de Ackee Blockchain.

Al hacer nuestra debida diligencia para determinar la seguridad de una DApp o protocolo DeFi, muchos de nosotros buscaremos algo que diga que la plataforma ha sido auditada y podemos pensar, «vale, suficiente». Sé que he sido culpable de eso en el pasado, pero ¿qué significa realmente haber sido auditado? ¿Cómo podemos verificarlo? Y como aprenderás en este artículo, sólo porque algo haya sido auditado, no significa que deba obtener automáticamente la luz verde.

Para empezar, veamos qué hacen realmente las empresas de auditoría de blockchain.

¿Qué hacen las empresas de auditoría de Blockchain?

Cuando oímos el término «auditoría», muchos de nosotros nos imaginamos automáticamente a un viejo estirado con traje que trabaja para el gobierno y que va a llamar a la puerta para revisar todos nuestros estados financieros y bancarios con un peine de dientes finos. En la industria financiera tradicional, tendrías razón, pero los auditores de blockchain no podrían estar más lejos de eso.

Los auditores de blockchain no son contables ni mucho menos, son expertos en codificación y habilidades de desarrollador que buscan fallos, errores y código malicioso en el código fuente de un proyecto de blockchain, contrato inteligente o cripto token.

servicios de ackee

Algunos de los servicios que prestan las empresas de auditoría de Blockchain. Imagen vía Ackee Blockchain

Las diferentes empresas de auditoría también pueden especializarse en diferentes áreas, por lo que siempre es bueno ver una plataforma que ha sido auditada por más de una empresa. Cada auditoría realizada reduce el riesgo y una empresa puede detectar algo que a la otra se le pasó por alto.

1 pulgada es un gran ejemplo de ello. 1inch es un agregador de DEX que ha sido auditado por múltiples empresas diferentes, lo que aumenta la confianza de los usuarios en la plataforma, y pone de manifiesto que el equipo de 1inch tiene un fuerte compromiso para garantizar la seguridad de su comunidad.

Informe de auditoría de 1 pulgada

Una mirada a las múltiples auditorías realizadas a la aplicación DeFi de 1 pulgada. Imagen vía github/1inch-audits.

Las empresas de auditoría de blockchain contarán con un equipo de ingenieros que podrán realizar tareas como:

  • Auditoría de seguridad
  • Análisis de herramientas
  • Revisión manual del código
  • Ejecutar y escribir pruebas automatizadas
  • Realización de concursos de recompensas por errores

Mientras que otras empresas de auditoría como Ackee Blockchain también pueden cumplir con más requisitos de «servicio completo» y ayudar en áreas adicionales como:

  • Creación de contratos inteligentes seguros en Solidity o Rust
  • Ayudar a construir un ecosistema completo, manejando UX, diseño, frontends, backends y DevOps

Ackee Blockchain también contribuye a la industria del blockchain en su conjunto, lo cual es estupendo de ver. Han desarrollado herramientas de seguridad de código abierto que cualquiera puede utilizar y les apasiona enseñar y ofrecer oportunidades a los aspirantes a desarrolladores de blockchain. En el pasado, han organizado cursos en línea para desarrolladores que quieren trabajar en blockchain e incluso recibieron una subvención de la Fundación Solana para dirigir un escuela de verano para Solana .

Escuelas de Ackee

Algunos de los cursos ofrecidos por Ackee Blockchain.

El equipo ofrece escuelas de verano en línea donde enseñan Solidity, y en el otoño de 2022, el CEO y cofundador de Ackee Blockchain, Josef Gattermayer, Ph.D., enseñará temas en torno al desarrollo de blockchain en la Universidad Técnica Checa de Praga . Definitivamente, merece la pena ponerse en contacto con el equipo de Ackee, inscribirse en los cursos en su página web, y seguirlos si estás interesado en un futuro en el desarrollo y la seguridad del blockchain.

Como puede ver, la auditoría de la cadena de bloques puede ser algo más que una simple búsqueda en una habitación oscura y una búsqueda en el código, hay todo un ecosistema encapsulado dentro del nicho.

¿Por qué es importante la auditoría de la cadena de bloques?

Si los seres humanos fueran perfectos, no habría necesidad de empresas de auditoría de blockchain, ya que cada línea de código estaría escrita de forma impecable y sería completamente impermeable a explotaciones, fallos y ataques.

Lo que es aún peor que el hecho de que los humanos cometan errores, es que la gente puede ser corrupta y maliciosa. Un hecho bastante frecuente es que los malos actores introduzcan intencionadamente código malicioso en su protocolo que les permita explotar una plataforma creada por ellos para robar los fondos de los usuarios.

Trezor Inline

Entre el error humano y la intención maliciosa, los contratos inteligentes y las aplicaciones/DApps de blockchain son susceptibles a los siguientes riesgos:

  • Ataques de denegación de servicio que inutilizan el protocolo.
  • Tirones de alfombra/robo por la puerta trasera donde los fundadores introducen un código malicioso que les permite retirar los fondos colocados en un contrato inteligente.
  • Explotar el código de forma que beneficie al hacker y perjudique a los usuarios, como acuñar nuevos tokens fuera de los métodos previstos o drenar los fondos de los clientes de los contratos inteligentes.
  • Algunos hackers simplemente quieren «ver el mundo arder» y explotarán cualquier fallo que puedan encontrar para dañar una plataforma.

Muchos usuarios de DeFi consideran que una de las cosas más importantes que hay que buscar en una plataforma DeFi es si el código es o no de código abierto. Este es un gran primer paso, ya que muchos proyectos publican el código en un sitio público como Github, donde cualquiera puede entrar y comprobar/verificar el código por sí mismo.

Al mirar la página de GitHub de un proyecto, ésta suele ser una de las cosas que buscan los usuarios que se plantean utilizar una DApp, utilizando de nuevo 1inch como ejemplo:

1 pulgada de público

«Público» significa que cualquiera puede entrar y echar un vistazo al código. Imagen vía github/1inch

Este es un buen enfoque inicial para verificar la autenticidad de un protocolo, ya que aquí es donde los miembros de la comunidad o cualquier persona puede entrar y verificar que no hay ningún código malicioso escondido.

También es útil saber que cualquiera puede publicar cualquier cosa en GitHub. El código publicado en GitHub no confirma automáticamente que ese sea el mismo código que ejecuta el contrato inteligente. Por suerte, los usuarios pueden verificarlo entrando en un explorador de bloques como Etherscan y comprobando que el código en GitHub está realmente desplegado y utilizado. Aquí está el Ficha de 1 pulgada en Etherscan por ejemplo. Tiendo a estar de acuerdo con el sentimiento de que la publicación de código abierto en GitHub es una buena señal, pero para mí, cuando hago clic en GitHub para echar un vistazo, todo lo que veo es:

código

¿Eh? Para mí podrían ser jeroglíficos egipcios. Imagen vía GitHub

Así que en lugar de que mi cerebro se fría como un huevo en una acera caliente tratando de entender esto, me gusta ver que un equipo de profesionales de una empresa auditora de blockchain ha revisado todo esto y le ha dado el visto bueno.

Es importante aclarar una cosa, y es que el hecho de que un protocolo haya sido auditado no significa que sea 100% seguro. Ningún código puede considerarse completamente inmune a los intentos de hackeo, ya que las herramientas y habilidades de los hackers son cada vez más sofisticadas. Al igual que los hackers de sombrero blanco (buenos) y los desarrolladores de blockchain mejoran y evolucionan constantemente, también lo hacen los malos.

Se puede pensar en ello como una especie de juego del gato y el ratón, escribir código es esencialmente como construir un rompecabezas creativo y resolver problemas, y los hackers buscan formas de resolver o atacar el rompecabezas de maneras cada vez más inteligentes y sofisticadas, por lo que siempre seguirá habiendo un elemento de riesgo.

Por qué 2022 ha sido especialmente malo para los criptoexploits

Cuando vemos titulares como este:

hacks

El año pasado se registró un número récord de pérdidas de fondos debido a los hackeos. Imagen vía TechCrunch

Puede ser bastante desgarrador. La industria de las criptomonedas se ha visto seriamente afectada, ya que cada semana parece haber otro hackeo masivo o explotación que resulta en millones de fondos perdidos.

Esto no sólo es triste, ya que se trata de gente normal que pierde su dinero, sino que también es preocupante, ya que estos ataques están sometiendo a toda la industria de las criptomonedas a críticas cada vez más duras, ralentizando la adopción, alejando a los inversores y proporcionando a los gobiernos las excusas que necesitan para aumentar su control autoritario para «proteger» a los inversores, a menudo imponiendo medidas draconianas de las que muchos de nosotros acudimos a las criptomonedas para escapar.

La razón principal de esto se reduce a una ingeniería descuidada de los desarrolladores.

Cuando me senté con Josef, de Ackee, y le pedí su opinión sobre por qué ha habido un número récord de explotaciones, su explicación tuvo sentido.

Parafraseando mucho, Josef continuó explicándome que la industria de las criptomonedas está creciendo rápidamente y hay una carrera feroz para que los equipos lancen sus productos. Hay una falta de desarrolladores de blockchain cualificados y experimentados capaces de satisfacer la demanda, lo que hace que muchos proyectos contraten a desarrolladores novatos y tengan una actitud «suficientemente buena», lanzando DApps sin que se realicen las comprobaciones y auditorías adecuadas.

josef gattermayer

Tuve el placer de sentarme con Josef Gattermayer para hablar de todo lo relacionado con la seguridad de la cadena de bloques. Imagen vía ackee.de

Josef también explicó que la necesidad de servicios de auditoría de blockchain se está disparando, y no hay suficientes empresas de auditoría de blockchain para satisfacer la demanda de los proyectos. Esto ha provocado que los equipos de proyectos no quieran esperar a que un equipo de auditores esté disponible, por lo que se adelantan y lanzan una actualización, ya sea sin una auditoría, o confiando en una auditoría obsoleta que no cubre la nueva versión o iteración de una plataforma.

Este tema estuvo especialmente presente durante la carrera alcista de 2021, pero las cosas están mucho más relajadas ahora que estamos en un mercado bajista. Los proyectos no tienen mucha prisa por lanzarse y hay menos proyectos en el cuello de botella de la auditoría. Es cierto que los mercados bajistas son el momento de construir, y los equipos tienden a adoptar un enfoque más diligente durante las épocas de mercado lento.

Repasamos dos ataques específicos que se produjeron con éxito para investigar exactamente lo que ocurrió, para ayudar a poner todo esto en perspectiva.

El hackeo del DAO de Ethereum de 2016

Hack de DAO

El infame hackeo del DAO de Ethereum. Imagen vía Cableado

Esencialmente, lo que ocurrió aquí fue algo conocido como un error de reentrada. En pocas palabras, el código ejecuta dos instrucciones:

  1. Retirar
  2. Balance de actualización

Si se realiza cronológicamente, funciona como debería. Pero como Ethereum es un sistema distribuido (a diferencia de los programas web2), el contrato puede ser llamado desde otro contrato lo que trae una opción para implementar una función de callback personalizada que es llamada desde la instrucción de retiro.

Y esta función de devolución de llamada implementada por el hacker llama al contrato de nuevo y luego de nuevo múltiples veces antes de que la instrucción de actualización de saldo se ejecute finalmente. Esto permite al atacante retirar múltiples veces.

Este es un error frecuente que cometen los desarrolladores novatos de web3. Incluso 5 años después de este ataque, el problema sigue surgiendo porque los desarrolladores no se toman el tiempo para aprender de este caso. La solución es bastante simple en este caso, y es simplemente poner esas dos líneas de código en el orden inverso. Primero actualizar, luego retirar.

Los auditores buscan problemas conocidos como éste cuando auditan un protocolo.

Ataque al agujero de gusano de Solana 2022

solana hack

Solana Wormhole Hack. Imagen a través de CNBC

El año 2022 no empezó con buen pie, ya que el primer gran ataque se produjo en Solana a principios de febrero. El atacante se saltó la verificación de la firma en un programa de Rust para que pareciera que los guardianes habían firmado un depósito de 120k ETH en Wormhole en Solana, aunque no lo habían hecho. El atacante entonces acuñó 120k de ETH envueltos en Solana.

Antes de este ataque de gusano, muchos en la comunidad criptográfica asumían que el desarrollo de Solana y Rust era demasiado difícil de aprender como para atraer a los desarrolladores amateurs. Esto llevó a la creencia de que sólo los mejores desarrolladores trabajaban en Solana, lo que significa que no había una necesidad tan fuerte de auditorías. Después de este ataque, Josef mencionó que él y su equipo vieron un aumento significativo en las solicitudes de auditoría para los DApps y protocolos de Solana.

Después de todo esto, puedes estar pensando que si los humanos son la fuente de errores e intenciones dañinas, ¿no tendría sentido simplemente tener ordenadores y máquinas de Inteligencia Artificial que probablemente no cometan errores y sean incapaces de tener intenciones maliciosas simplemente escribiendo todo este código por nosotros?

La IA sustituye a los desarrolladores

Es poco probable que la inteligencia artificial sustituya a los desarrolladores a corto plazo. Imagen vía STXnext.com

Es una gran pregunta, y debido a artículos como el anterior, es algo que también se me ha pasado por la cabeza. Lo trataremos en la siguiente sección.

El futuro de la seguridad de la cadena de bloques

Es evidente que nos dirigimos hacia un futuro en el que muchos de nuestros trabajos van a ser subcontratados a ordenadores y programas de IA que pueden hacer el trabajo de los humanos mucho mejor que nosotros.

Ya lo vemos con los cajeros automatizados y las fábricas de automóviles que tienen más robots que humanos. Los ordenadores están incluso ocupando puestos de trabajo altamente especializados, como los médicos y los farmacéuticos, ya que un robot puede ser más preciso con el bisturí y un programa informático puede recorrer toda la base de datos de medicamentos y rellenar en cuestión de segundos informes sobre qué medicamentos pueden y no pueden mezclarse con otros productos químicos y medicinas, una tarea imposible para un humano.

Pensaba con seguridad que la programación y el desarrollo serían uno de los primeros trabajos sustituidos por los ordenadores. Si todo son letras y números en una pantalla construidos de forma que se completen ciertas tareas, seguramente un ordenador podría hacerlo mejor que un humano, con menos errores ¿no?

Robot,Empleado,Aleja,A,Un,Trabajador,Humano,De,Hacer,Lo,Suyo

Sí, había imaginado algo así: Imagen vía Shutterstock

Pensé que las empresas de auditoría de blockchain seguirían el camino del pájaro Dodo (extinto), ya que una vez que los ordenadores empiecen a desarrollar de forma autónoma, no habrá errores que encontrar. Esto puso de manifiesto lo poco que sabía sobre desarrollo, ya que el equipo de Ackee me explicó algunos conceptos que no había apreciado.

Una gran parte del desarrollo de la cadena de bloques consiste en la resolución de problemas y en la observación de una visión de 360 grados de un problema. Se necesita una gran cantidad de creatividad y pensamiento «fuera de la caja» que los ordenadores no pueden hacer. No es tan simple como «cuando ocurra ‘X’, ejecuta ‘Y'».

También hay que tener en cuenta que muchas de estas DApps y aplicaciones intentan resolver problemas «humanos» y cómo interactuamos con los sistemas, protocolos y procedimientos. Lo siento pequeño Butter Bot, pero no estás hecho para entender los problemas humanos y proporcionar soluciones humanas.

bot de mantequilla

Parece que los robots se ceñirán a tareas más unidimensionales… por ahora. Meme generado vía memegenerator.net

No solo se están disparando los puestos de trabajo en el desarrollo y la seguridad de blockchain, sino que parece que habrá necesidad de estas funciones en los próximos años.

Esto no quiere decir que no haya automatización en el espacio de desarrollo web3. Hay un montón de herramientas gratuitas para los desarrolladores que les proporcionan información sobre la seguridad y ayudan a descargar parte del trabajo para que los desarrolladores puedan centrarse en otras tareas.

Por ejemplo, en Ethereum, hay un buen analizador de código estático llamado Slither que es muy popular y Ackee Blockchain está trabajando en su propio analizador estático de código abierto llamado Woke que detecta las cosas de forma diferente a Slither, reduciendo la carga de tener que analizar manualmente el código.

El equipo de Ackee también descubrió una tendencia en Solana respecto a un problema con las pruebas. Los desarrolladores no estaban escribiendo suficientes pruebas, ya que es un trabajo intensivo, con la necesidad de escribir un montón de código repetitivo. Por ello, Ackee Blockchain encabezó un proyecto en el que escribió un marco de pruebas de código abierto para Solana llamado Trdelnik que permitirá a los desarrolladores escribir pruebas más fácilmente. El equipo recibió una mención de honor y ganó un premio Marinade durante un hackathon en Praga para Trdelnik.

Todo esto nos muestra que es probable que la automatización y los ordenadores desempeñen un papel cada vez más importante para ayudar a los desarrolladores de blockchain y a los auditores de seguridad, pero es poco probable que los sustituyan a corto plazo.

El sentimiento general entre los desarrolladores de blockchain es que muchos de estos hacks y exploits son el resultado de que esta es todavía una industria joven e inexperta. A medida que la industria del blockchain siga evolucionando y madurando, debería haber cada vez menos exploits, lo que hará que el espacio de las criptomonedas en general sea más seguro y fácil de usar.

Muy bien, ahora vamos a lo bueno, lo más importante de este artículo.

Cómo verificar que una plataforma ha sido auditada

El primer paso es asegurarse de que existe una auditoría. Estas se pueden encontrar en el repositorio GitHub del proyecto, y cualquier auditoría realizada debería mencionarse claramente en los documentos del proyecto o en el propio sitio web de la plataforma. Si no encuentras ninguna mención a una auditoría, yo me mantendría alejado.

El hecho de que no haya una auditoría disponible públicamente probablemente signifique que:

  • No se ha realizado ninguna auditoría
  • Ha habido una auditoría fallida que el proyecto no quiere que se conozca
  • La auditoría descubrió problemas que el equipo no abordó
  • El código contiene rutas maliciosas de puerta trasera que podrían conducir al robo

Como se mencionó anteriormente, también es bueno ver que el código es de código abierto al estar etiquetado como «público» en GitHub. Esto no es un requisito, pero es una ventaja. Sin embargo, hay razones para no abrir el código, por lo que no siempre es un problema. Las razones para no abrir el código pueden ser cosas como:

  • Empresas que desean mantener una ventaja competitiva. En cuanto una empresa abre su código, cualquiera puede crear el mismo protocolo y competir. Por eso Coca-Cola mantiene su receta en secreto y KFC tiene su famoso «Top secret 11 herbs and spices».
  • Una vez que el código es público, los hackers pueden utilizar la información para buscar exploits. Aunque las buenas prácticas hacen lo contrario, si un proyecto confía en su código, lo publicará.
  • Es posible que los primeros proyectos no quieran abrir su código inmediatamente hasta que hayan creado una gran comunidad y suficientes usuarios, creando un obstáculo para los posibles competidores.

Hace poco me reuní con un equipo de proyecto que se arrepentía de haber abierto su plataforma desde el primer momento, ya que una empresa de la competencia se limitaba a copiar su código y su modelo de negocio, y disponía de más fondos para pagar a los influencers y a los seguidores. Esto hizo parecer que la empresa competidora era la mejor plataforma desde su lanzamiento, ya que daba la impresión de tener más usuarios y más seguidores. La empresa competidora está ahora muy por delante del equipo fundador original, que optó por crecer de forma más orgánica y ética.

Aquí hay una gran imagen de Puente Global que resume algunas de las diferencias generalizadas entre el software de código abierto y el de código cerrado:

código abierto vs código cerrado

Imagen a través de Puente Global

Se pueden encontrar dos enfoques interesantes del código abierto frente al código cerrado comparando las carteras de hardware más populares Trezor y Ledger . Trezor optó por publicar el 100% de su código fuente para que cualquiera pudiera verificarlo, mientras que Ledger optó por jugar sus cartas más cerca del pecho y abrir parte del código, pero mantener su firmware de código cerrado.

Esto llevó a muchos elitistas de blockchain a elegir Trezor en lugar de Ledger, ya que pensaban que Ledger debería abrir su código, preguntándose qué están tratando de ocultar. Personalmente, no veo esto como una causa de preocupación, ya que Ledger ha demostrado su trayectoria y dedicación al espacio, y ha crecido hasta convertirse en uno de los mayores proveedores de carteras de hardware en el mundo, creando algunos de los dispositivos de almacenamiento de criptografía más seguros.

Una vez que se ha realizado y localizado una auditoría, siempre que se haya hecho pública, cualquiera puede abrir el documento y encontrar los resultados de la misma. En lugar de desplazarse por todo el documento de la auditoría, para nuestro simple propósito, todo lo que necesitamos buscar es la página del «Resumen Ejecutivo», que a menudo se parece a esto:

resultados de la auditoría

Los resultados de la auditoría de IDEX. Imagen vía certificado.quantstamp

Esta página se encuentra al principio o al final del informe. Es una página que muestra los resultados de la auditoría en un formato simple que la persona promedio puede entender. Analicemos la información que nos muestra.

¿Es reciente la auditoría? Las auditorías deberían ser un servicio continuo y definitivamente debería hacerse una nueva auditoría por cada actualización, versión o nueva característica/función introducida. Si se ha lanzado una nueva característica o versión, los resultados de la auditoría anterior ya no son válidos, ya que el código base probablemente ha cambiado.

Esto puede verificarse mirando la versión del proyecto y/o el hash del commit. La versión es algo así como cuando ves Uniswap «V2» (versión 2), y el hash de commit identifica una revisión en el repositorio de código fuente. Al mirar la versión o el hash de commit que se muestra en la auditoría, que se puede ver en la imagen de arriba en la tabla con el título «repositorio», los usuarios pueden comprobar que coincide con la versión o el hash de commit que se muestra en GitHub.

Eso será algo así:

Número de compromiso correspondiente

Aquí hay otra mirada de una de las auditorías de Ackee Blockchain:

auditoría de ackee 3

Aunque si el hash de commit no coincide, eso no significa necesariamente que haya una bandera roja. El hash de commit en el GitHub del proyecto cambiará cada vez que se haga un nuevo ajuste o iteración. Cada ajuste cambiará el hash de commit y no debería ser una causa de preocupación si sólo hubo un ajuste menor.

Si no ves el hash de commit de la auditoría en la página principal de GitHub, puedes ir al «Historial de commit» y buscar el hash de commit y ver por ti mismo cuánto ha cambiado desde que se realizó la auditoría.

Puede hacerlo haciendo clic aquí:

seleccione el compromiso

Pues haciendo una búsqueda aquí:

búsqueda de commit

Como se rellena un nuevo hash de commit para cada cambio, cada uno con una marca de fecha y hora, si ha habido un número significativo de nuevos commits entre el momento en que se llevó a cabo la auditoría, y el hash de commit en el que se encuentra el proyecto actualmente, es posible que desee considerar la posibilidad de esperar hasta que se lleve a cabo otra auditoría antes de involucrarse.

Si tienes un ojo analítico y quieres profundizar, puedes hacer clic en el hash de cada nuevo commit y comparar el código antiguo mostrado en rojo con el nuevo código mostrado en verde y verificar por ti mismo qué ha cambiado exactamente:

Auditoría de Blockchain

Si observa un nuevo hash de confirmación que es diferente a cuando se realizó la auditoría y ve algo como esto:

cambio insignificante

Este es uno de esos cambios insignificantes que he mencionado, y aunque se ha rellenado un nuevo hash de confirmación, no es nada de lo que preocuparse, ya que se trata de un simple cambio de nombre de un archivo. La imagen de GitHub arriba muestra 0 adiciones y 0 eliminaciones.

Ahora, lo siguiente que hay que buscar en el resumen ejecutivo:

Problemas – El resumen ejecutivo muestra todos los problemas que se descubrieron durante la auditoría y, lo que es más importante, si el equipo resolvió los problemas. Esta sección puede verse cerca de la parte inferior, donde se muestra el «Total de problemas», y luego se desglosa en función de la gravedad y de si se han resuelto o no. La empresa auditora primero identifica los problemas, los señala al equipo de desarrollo y luego vuelve a comprobar el código una vez que los desarrolladores resuelven los problemas antes de que el equipo auditor marque el problema como «resuelto».

Evidentemente, cualquier cuestión marcada como «crítica» o «de alto riesgo» debe resolverse. Incluso si el informe muestra que todos los problemas críticos o de alto riesgo se han resuelto, hay que tener en cuenta que hay cierto escepticismo sobre el proyecto. Si el equipo de auditores ha encontrado un elevado número de problemas críticos para empezar, eso puede poner de manifiesto que el equipo de desarrolladores que está detrás del proyecto puede ser bastante novato, lo que puede dar lugar a más problemas adicionales en el futuro.

Las cuestiones de riesgo medio o bajo son comunes y no suelen ser motivo de preocupación. El equipo auditor puede incluso marcar algo como de bajo riesgo si simplemente sugiere una alternativa o tiene una diferencia de opinión sobre cómo enfocar algo.

A continuación se resume lo que significa cada una de las categorías:

Crítica – Cualquier cosa marcada como crítica significa que algo es explotable en este momento.

El equipo de Ackee Blockchain me contó una historia sobre una auditoría que estaban realizando en la que encontraron un problema crítico en un protocolo que ya se había lanzado. Despertaron al equipo de desarrollo del proyecto a las 5 de la mañana en una emergencia de «manos a la obra» para reparar el código lo antes posible. Afortunadamente, detectaron el problema a tiempo antes de que los hackers pudieran identificar la vulnerabilidad.

Alta gravedad – Problemas que no son explotables ahora, pero que podrían serlo si se cumplen algunas secuencias específicas.

Medio a Bajo – A menudo se trata de pequeños ajustes necesarios o recomendaciones y no necesariamente de amenazas a la seguridad.

Las diferentes empresas de auditoría redactan los resúmenes ejecutivos también en diferentes formatos. El resumen ejecutivo que se muestra arriba fue realizado por la empresa auditora Quantstamp. Ackee Blockchain proporciona el PDF con la auditoría y un resumen web que combina los resultados iniciales y de seguimiento en un formato más de ensayo que es más fácil de leer. Puede encontrar un ejemplo de ello en su Resumen de la auditoría.

Otras cosas que hay que tener en cuenta:

  • ¿Se ha realizado una auditoría por parte de más de una empresa? Cuantos más ojos busquen los problemas, menos posibilidades habrá de que exista un fallo en el código.
  • ¿Es la empresa auditora de blockchain profesional y respetada en la comunidad? Si nunca ha oído hablar de la empresa auditora, eche un vistazo a su sitio web y busque otros proyectos en los que hayan trabajado. ¿Alguna de las plataformas que han auditado tiene buena reputación? Comprueba si alguna de las plataformas fue explotada después de que la empresa realizara una auditoría, esto podría poner de manifiesto un historial de malas habilidades de auditoría. Busque cosas como hackathons ganados y apoyo/subvenciones de fundaciones de redes de nivel 1.

Un buen ejemplo de ello es Ackee Blockchain, a la que cuatro fundaciones clave han asignado subvenciones oficiales para el desarrollo/comunidad: Coinbase Giving, la Fundación Ethereum, la Fundación Solana y la Fundación Tezos.

fundaciones de confianza

Busque fundaciones reputadas que trabajen con empresas de auditoría. Imagen vía Ackee Blockchain

Si eres alguien que se ha vuelto comprensiblemente desconfiado en esta era de la desinformación, si ves una afirmación como la de la imagen de arriba tomada del sitio web de Ackee Blockchain, en lugar de tomar su palabra, siempre puedes navegar a los sitios web de las fundaciones mencionadas y verificar las afirmaciones por ti mismo.

La razón por la que digo esto es porque, en mis años de escribir reseñas, es abrumador el número de sitios web que afirman: «Destacado en Forbes o Yahoo Finance», cuando nunca lo fueron. Me gustaría que hubiera algún tipo de policía de Internet que pudiera llevar a las empresas a la cárcel de Internet por mentir y hacer declaraciones engañosas como esa. Por eso en criptografía hay un dicho, «no confíes, verifica». No te preocupes, Ackee comprueba y de hecho es de confianza de las fundaciones mencionadas, lo he comprobado 😉 .

Boletín de noticias en línea

Reflexiones finales

Bueno, ahí lo tienes. Un poco de información sobre la seguridad de blockchain que espero que hayas encontrado útil. Espero que este artículo te ayude a sentirte más seguro aventurándote en el mundo de las criptomonedas con una capa más de blindaje y siendo capaz de navegar por las aguas de las criptomonedas con más seguridad que antes. Sé que seré diligente en la verificación de esta información la próxima vez que esté seleccionando qué DApps y protocolos elijo para confiar mis cripto activos.

Como dice el refrán, «en las criptomonedas, no se trata de cuánto ganas, sino de cuánto mantienes», ya que, por desgracia, muchos de nosotros, viejos veteranos de las criptomonedas, hemos perdido más que nuestra parte justa de Satoshis en una miríada de hacks, estafas, tirones de alfombra, quiebras, etc. Cuanto más conocimiento tengamos, mejor podremos protegernos de muchos de los duros riesgos que existen en este nuevo e incipiente mundo de las criptomonedas.

Descargo de responsabilidad: Estas son las opiniones del autor y no deben considerarse consejos de inversión. Los lectores deben hacer su propia investigación.

Puestos relacionados

Últimas publicaciones

PrimeXBT vs Bybit 2022: ¿Qué bolsa es mejor para el comercio de criptomonedas?

¡Hay cientos de intercambios de criptomonedas para elegir, el esfuerzo de tamizar a través de ellos y encontrar el derecho puede ser una tarea...

Cómo comprar Bitcoin en Binance

Binance es una fantástica bolsa de criptomonedas para vender, comerciar y comprar criptomonedas. Al ser la bolsa más grande y popular del mundo,...

Cómo comprar Polkadot (DOT) en FTX Exchange

FTX es una de las mejores y más seguras bolsas de criptomonedas para vender, comerciar y comprar criptomonedas. Como la bolsa regulada de...