¿Qué es un Auditor de Smart Contracts? El trabajo mejor pagado en blockchain.

Escrito por
Yolanda López
Yolanda López
Publicado el
26/4/2023 0:00
Inicio
»
Desarrollo Blockchain
»
¿Qué es un Auditor de Smart Contracts? El trabajo mejor pagado en blockchain.

¿Sabias que existe un nicho dentro del desarrollo blockchain en el que los salarios rondan los 200.000 y 300.000 dólares al año? Sé que esto suena loquísimo pero así es, se trata de los auditores de smart contracts

Los auditores de smart contracts son profesionales expertos en desarrollo blockchain, y además también, especializados en la seguridad de estos contratos inteligentes. Su trabajo consiste en validar la seguridad y la integridad de los smart contracts, ellos tienen que asegurar que estos programas informáticos cumplen con todos los requisitos y especificaciones  dadas en cada momento, para que se comporten tal y como se espera.

Estos expertos lo que hacen es ir buscando vulnerabilidades y posibles errores en el código para corregirlos antes de que se desplieguen en la Blockchain. Si has visto algunos vídeos de este canal, sabrás que todo lo que se despliega la Blockchain se vuelve inmutable.

Esto quiere decir básicamente que no se puede modificar, y tampoco se puede borrar. Por esto la figura de los auditores de contratos inteligentes es tan tan importante. Ellos hacen posible que los smart contracts desplegados en la blockchain sean seguros y confiables.

Y precisamente por esta razón, son la auténtica Élite de los desarrolladores blockchain. Si un desarrollador Blockchain ya tiene un salario medio de 100 mil dólares al año, tratándose de este perfil de desarrollador, estamos hablando de literalmente más del doble.

Hay ofertas de trabajo como auditor de smart contracts por más de 200 mil e incluso de 300 mil dólares al año.

Y al final esto es un poco por lo que siempre comentamos. A día de hoy ya hay escasez de desarrolladores Blockchain normales y las empresas ofrecen altísimos salarios por ellos. Pues si hay falta de los desarrolladores estándar, imaginad el nivel de escasez al que llegamos si se trata de auditores de contratos inteligentes, que son este mismo tipo de profesional pero más especializado.

Como quizá haya mucha gente que no tiene muy claro qué hay que hacer para llegar a ser auditor de contratos inteligentes, o directamente no sabía ni que este tipo de profesional existía y ni siquiera estaba en su abanico de posibilidades para el futuro, vamos a explicar todos los pasos que hay que seguir para llegar a serlo.

APRENDE A PROGRAMAR

Aprender a programar es algo fundamental para ser auditor. Los smart contracts al final son programas informáticos escritos en algún lenguaje de programación y precisamente por eso, es muy importante que tengas algo de experiencia programando.

Si ya eres programador, este primer paso ya lo llevas avanzado así que ya estás un poco más cerca. Pero si en cambio, todavía no tienes conocimientos sobre programación o estás empezando, nosotros en Conquer Blocks siempre te recomendaremos que comiences por lenguajes de programación como por ejemplo JavaScript.

JavaScript es uno de los lenguajes de programación más utilizados a día de hoy, y de hecho, casi todos los desarrolladores (por no decir todos) han utilizado en su aprendizaje o trabajo este lenguaje.

Otra opción también es Python, que también es uno de los lenguajes que más se utiliza hoy en día en el desarrollo de software y además es muy fácil de aprender porque la sintaxis es muy sencilla.


APRENDE DESARROLLO BLOCKCHAIN

Este puede que sea el paso más importante de todos los que vamos a comentar hoy. Evidentemente, para ser auditor de contratos inteligentes, tienes que saber como funciona el desarrollo blockchain en primer lugar. De lo contrario estaríamos construyendo básicamente la casa por el tejado.

Y para aprender desarrollo blockchain, lo principal es saber qué es la blockchain y como funciona. Si todavía no sabes esto, te recomiendo que vayas a un vídeo que tenemos en nuestro canal, explicándote detalladamente precisamente esto. Esto es vital, porque por muy buen desarrollador de software que seas, no puedes programar sobre una tecnología que no conoces.

Una vez ya sabes cómo funciona la tecnología blockchain, lo siguiente es elegir la Blockchain en la que quieras trabajar. Hoy en día existen muchísimas redes en las que puedes desarrollar smart contracts, y eso es genial porque quiere decir que hay competencia y que la tecnología está evolucionando y creciendo. Pero también hay que ser prácticos en este sentido.

Desde luego, si hay una blockchain que marca la diferencia con todas las demás en cuanto al desarrollo blockchain, es sin duda Ethereum.

Ethereum fue la primera cadena de bloques en la que se pudo desarrollar software complejo, y después de ella vinieron todas las demás. ¿Cuál es la ventaja entonces de elegir Ethereum?  Pues básicamente, ademas de ser la mejor, la mayoría de las redes que se crearon después que permitían desarrollar software complejo, lo hicieron basándose en la Ethereum Virtual Machine. Con lo cual, tu código va a ser desplegable en cualquiera de estas redes.

Es decir, que si eliges Ethereum, básicamente estás eligiendo también indirectamente un montón de redes más.

Genial. Ya hemos elegido blockchain y ahora toca especializarse en ella. Toca aprender un lenguaje con el que desarrollar smart contracts y este no puede ser otro que Solidity.

Solidity es el lenguaje de programación oficial de la blockchain de Ethereum y como os he comentado hace un momento, también es compatible con otras blockchains. Este lenguaje es muy parecido a JavaScript y a Python así que si ya eres desarrollador, no te costará aprenderlo.

Aprender Solidity es algo sencillo si vienes de saber programar, y por eso el camino va a ser muy llevadero. Es muy importante aprender todas las bases que sustentan este lenguaje, y también saber todas las bibliotecas y estándares que más se utilizan.

Esto último es algo imprescindible por que estamos hablando de que la tecnología blockchain se caracteriza básicamente por que todo es público, con lo cual hay muchísimas plataformas de código abierto que podemos usar para nuestros desarrollos, aunque es importante elegir aquellas que garantizan la seguridad y la integridad de los contratos inteligentes. La más conocida de estas bibliotecas es OpenZeppelin.

Otra cosa vital en el desarrollo blockchain, es la depuración y el testing de los contratos inteligentes. Pensad que, como os he comentado antes, lo que se despliega en la blockchain no se puede modificar ni borrar, por lo tanto hay que asegurarse de que los smart contracts que desplegamos están construidos lo mejor posible.


SABER LAS BUENAS PRÁCTICAS

A medida que aprendes a programar en Solidity, también tienes que ir adquiriendo buenas costumbres con escribiendo tu código. Solidity no es como otros lenguajes de programación, ya que en el desarrollo en la blockchain de Ethereum tenemos que tener en cuenta que todas las acciones que programemos, van a llevar asociado un coste en gas.

Un código eficiente gasta mucho menos gas que otro código lleno de redundancias y bucles innecesarios. Por eso es importante que te acostumbres a una serie de reglas no escritas para que tu código sea mejor.

Un ejemplo de esto sería por ejemplo, utilizar en cada momento el tipo de dato adecuado, evitar utilizar variables globales, intentar usar versiones recientes del compilador de Solidity, y bueno, un montón más.


VULNERABILIDADES TÍPICAS

Cuando ya se puede decir que eres un buen programador blockchain que aplica todas estas cosas que estamos contando a lo largo del vídeo, el siguiente paso ya es empezar a investigar sobre las vulnerabilidades más típicas de los contratos inteligentes.

Esto es vital si eres programador, pero todavía lo es más si quieres ser auditor de smart contracts. Tienes que tener en cuenta que hoy en día, TODO se puede hackear, pero imaginad lo atractivo que tiene que ser para estos atacantes maliciosos, intentar atacar contratos inteligentes que contienen fondos para hacerse con ellos.

Este tipo de ataques están a la orden del día así que es importante que aprendas a protegerte de estos riesgos. Si sabes protegerte como programador, sabrás identificar estas brechas de seguridad cuando seas auditor.

Un ataque típico, es por ejemplo el Reentrancy attack. Si quieres saber de qué se trata, te lo explicamos y también te demostramos cómo te pueden robar todos los fondos de un smart contract utilizando este ataque. Ve a verlo, porque te va a encantar, y te vas a dar cuenta de la importancia que tiene esto.


APRENDER HERRAMIENTAS DE AUDITORÍA

Bueno, pues cada vez nos vamos acercando más al fin último que es, ser auditor de contratos inteligentes, y por eso llegados este punto en el que ya sabemos programar en Solidity, lo hacemos teniendo en cuenta las buenas prácticas, asegurándonos de que nuestros contratos son seguros y además ya conocemos las vulnerabilidades más comunes y sabemos cómo solucionarlas, llegamos ya al siguiente nivel y es un cambio ABSOLUTO de mentalidad.

Hasta el paso anterior éramos desarrolladores blockchain así que teníamos mente de desarrollador. Y qué significa esto? Pues que actuábamos a la defensiva. Es decir, ponemos empeño continuamente en defender nuestros smart contracts, en tratar de que no tengan brechas de seguridad.

Pero ahora ya estamos a un paso de poder ser auditores de contratos inteligentes, por lo tanto no tenemos que defender contratos inteligentes, sino que tenemos que tomar el papel del atacante.

Después de tener experiencia como desarrollador y después de haber aprendido y practicado todas las posibles vulnerabilidades que puede tener un contrato inteligente, te será fácil encontrar la manera de literalmente ATACAR el contrato que estás auditando.

Esta es la mejor forma de medir las consecuencias del ataque, y también es la mejor forma de darse cuenta de qué brechas de seguridad existen para poder cubrirlas.

Para esto, hace falta tu conocimiento evidentemente. Pero también es importante que aprendas a manejar algunas herramientas que te van a facilitar mucho la vida en este trabajo de auditor de contratos inteligentes.


Te vamos a enseñar dos ejemplos que te van a servir si decides tomar este camino:

1. La primera herramienta, es Slither. Slither es un framework de análisis estático Solidity escrito en Python3. Ejecuta un conjunto de detectores de vulnerabilidades, imprime información visual sobre los detalles del contrato y proporciona una API para escribir fácilmente análisis personalizados. Slither permite a los desarrolladores encontrar vulnerabilidades, mejorar la comprensión del código y crear rápidamente prototipos de análisis personalizados.

2. La otra herramienta de la que os queremos hablar es Mythril. Mythril es una herramienta de análisis de seguridad para bytecode EVM. Detecta vulnerabilidades de seguridad en contratos inteligentes construidos para Ethereum, Hedera, Quorum, Vechain, Roostock, Tron y otras blockchains compatibles con EVM. Utiliza la ejecución simbólica, la resolución SMT y el análisis de taint para detectar una variedad de vulnerabilidades de seguridad. También se utiliza (en combinación con otras herramientas y técnicas) en la plataforma de análisis de seguridad MythX.


MANTENERSE INFORMADO

Y para terminar, el último paso que tienes que seguir y que, si vas a dedicarte a esto, vas a tener que seguir haciendo hasta que se acabe tu carrera profesional, es mantenerte informado.

El conocimiento técnico que ya has aprendido, te ayudará muchísimo a evolucionar como auditor, pero también es vital que una vez ya sepas todo esto, te mantengas al tanto de todas las novedades que van surgiendo en la tecnología blockchain.

La tecnología avanza a pasos agigantados, y con ella también, los actores maliciosos, que cada vez usan técnicas más complejas para atacar las redes que les interesan.

Por eso, es tu obligación como auditor, estar alerta para enterarte de todas las metodologías nuevas de ataque que pueden ir surgiendo con el paso del tiempo, y también es tu obligación aprender a resolverlas.

Clase gratuita sobre programación blockchain

En Conquer Blocks hemos creado una masterclass 100% gratuita y al grano, con el camino que debes seguir para convertirte en desarrollador blockchain de éxito.

📖 Si prefieres seguir leyendo, accede a este artículo: Aprender a programar en Solidity desde cero.

🎥 Si quieres acceder a la clase gratis de Desarrollo Blockchain, puedes acceder ahora mismo pulsando aquí.



Masterclass Gratuita: Comienza tu carrera como Desarrollador Blockchain
Aprende la profesión con salarios de media de más de 100,000€ al año con nuestra metodología en 5 pasos.
Ir a la Masterclass
Masterclass Gratuita: Comienza tu carrera como Desarrollador Blockchain
Aprende la profesión con salarios de media de más de 100,000€ al año con nuestra metodología en 5 pasos.
Ir a la Masterclass

Artículos relacionados

¿Qué estudiar para ser Desarrollador Blockchain?
Desarrollo Blockchain

¿Qué estudiar para ser Desarrollador Blockchain?

En Conquer Blocks siempre hablamos de desarrollo Blockchain, pero ¿sabes qué conocimientos necesitas para ser desarrollador Blockchain?En este artículo vamos a hacer un recorrido por todos los conocimientos necesarios, por orden de aprendizaje.
Yolanda López
26/4/2023
¿Qué es el trilema de la blockchain?
Desarrollo Blockchain

¿Qué es el trilema de la blockchain?

Las cadenas de bloques solamente son capaces de manejar un determinado número de transacciones por segundo.Hablando de las dos redes más grandes que existen actualmente, en el caso de Bitcoin se pueden gestionar hasta siete transacciones por segundo, y en el caso de Ethereum se gestionan unas 13 transacciones cada segundo.
Yolanda López
26/4/2023
¿Qué es DeFi? - Conoce las finanzas descentralizadas
Desarrollo Blockchain

¿Qué es DeFi? - Conoce las finanzas descentralizadas

Te imaginas un mundo en el que las personas pudiéramos hacer transacciones completamente seguras y transparentes, o pudiéramos almacenar nuestros ahorros en carteras digitales sin necesidad de intermediarios, o incluso pudiéramos ser prestamistas con todas las garantías de que vamos a recibir nuestro dinero? Pues tenemos una buena noticia para ti, porque precisamente esto es lo que se conoce como Finanzas Descentralizadas y ya es posible. Y seguro que ya te estás imaginando gracias a qué tecnología: la Blockchain.
Yolanda López
26/4/2023
DeFi vs FinTech ¿Son lo mismo? Diferencias
Desarrollo Blockchain

DeFi vs FinTech ¿Son lo mismo? Diferencias

Hoy en día todo es digital. La tecnología lo mueve todo y poco a poco hemos ido digitalizando cosas que parecían impensables. Ahora podemos leer libros en formato digital por ejemplo.Y lo mismo ha ocurrido con el mundo financiero. Un sistema que antes funcionaba con monedas y billetes, y que era completamente analógico, poco a poco se ha ido modernizando y ahora podemos incluso llevar la tarjeta de crédito en el móvil y hacer pagos con ella.
Yolanda López
26/4/2023
¿Dónde aprender Desarrollo Blockchain en Solidity GRATIS?
Desarrollo Blockchain

¿Dónde aprender Desarrollo Blockchain en Solidity GRATIS?

El desarrollo Blockchain, como ya sabréis, es una de las profesiones mejor pagadas y que más relevancia está tomando actualmente, y no es para menos. Esta tecnología cada vez se está implantando más empresas, y los desarrolladores son el perfil que más está ayudando a que así sea. Como la blockchain es una tecnología muy nueva, puede parecer un poco difícil sumergirse en este mundo y comenzar a aprender de forma autodidacta. Y realmente, en cierto modo lo es, sobretodo cuando se trata de desarrollo Blockchain. Por suerte, existen compañías punteras en este sector que han elaborado cursos y páginas web interactivas para que el camino en este aprendizaje se haga un poco más llevadero. Como es fácil perderse en todo esto, y aprender esta tecnología de forma autodidacta puede ser realmente difícil, en ConquerBlocks hemos querido ayudarte en todo esto, trayendo varios recursos COMPLETAMENTE GRATUITOS que te van a servir para aprender sobre tecnología y desarrollo Blockchain. ‍
Yolanda López
26/4/2023
Los 3 mejores Cursos de Desarrollo Blockchain online y presenciales
Desarrollo Blockchain

Los 3 mejores Cursos de Desarrollo Blockchain online y presenciales

Hoy en día están surgiendo infinidad de formaciones que tienen que ver con la tecnología y el desarrollo Blockchain, y la razón es que esta tecnología está en pleno auge y cada vez son más las personas que quieren aprenderla.‍Pero lo cierto es, que la mayoría de estas formaciones no tienen ninguna consistencia porque no están impartidas por verdaderos profesionales del sector. Y precisamente por eso, hemos hecho una selección de las 3 mejores formaciones en Tecnología Blockchain, para ayudarte a elegir cuál es la que más se ajusta a tus necesidades.
Yolanda López
26/4/2023

Nuestras últimas publicaciones

Aprende sobre Criptomonedas, Blockchain, NFTs, Metaversos, Inteligencia Artificial y Emprendimiento.
¿Qué es un Full-Stack Developer? Alta demanda y Buenos salarios 🤑
Desarrollo

¿Qué es un Full-Stack Developer? Alta demanda y Buenos salarios 🤑

“FullStack”, ese término tan de moda. ¿Pero te has preguntado alguna vez si sabes realmente lo que es un Desarrollador Full-Stack.?
Bienvenido Sáez
26/4/2023
10m
Así son los NFTs de Bitcoin Ordinals y la Colección NFT de Peter Schiff
NFTs y Metaverso

Así son los NFTs de Bitcoin Ordinals y la Colección NFT de Peter Schiff

En este artículo te explicamos cómo la combinación de los revolucionarios NFT de Bitcoin Ordinals y la inesperada colección de NFT del famoso crítico de Bitcoin, Peter Schiff, están sacudiendo el mundo de las criptomonedas y generando un intenso debate sobre el valor y el futuro de esta tecnología disruptiva.
Jordi Quintana
26/4/2023
Bitcoin vs oro ¿Cuál es mejor y por qué?
Criptomonedas y Blockchain

Bitcoin vs oro ¿Cuál es mejor y por qué?

Hoy estaremos dando respuesta a una de las preguntas que más ampollas levanta entre defensores de uno y otro activo y como siempre lo haremos desde una forma objetiva.
Carlos Ruiz
26/4/2023
Cómo evitar estafas con criptomonedas (TIPS Clave)
Criptomonedas y Blockchain

Cómo evitar estafas con criptomonedas (TIPS Clave)

En este artículo te brindamos algunos consejos para mantenerte seguro y proteger tus inversiones de posibles estafas.
Eliana Di Nucci
26/4/2023
¿Qué es XRP y cómo funciona?
Criptomonedas y Blockchain

¿Qué es XRP y cómo funciona?

En este artículo explicamos cuál es el funcionamiento de este token que ha logrado atraer la atención de todo el sector en las últimas semanas.
Carlos Ruiz
26/4/2023
¿Qué estudiar para ser Desarrollador Blockchain?
Desarrollo Blockchain

¿Qué estudiar para ser Desarrollador Blockchain?

En Conquer Blocks siempre hablamos de desarrollo Blockchain, pero ¿sabes qué conocimientos necesitas para ser desarrollador Blockchain?En este artículo vamos a hacer un recorrido por todos los conocimientos necesarios, por orden de aprendizaje.
Yolanda López
26/4/2023
Update cookies preferences