No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

OpenZeppelin Contracts

10/27
Recursos

En blockchain, la seguridad es crucial y debe ser atendida desde el primer momento en el desarrollo de cualquier proyecto. Los hackers, a lo igual que en web2, se encuentran explotando vulnerabilidades de seguridad en proyectos web3, dado que blockchain ofrece grandes incentivos económicos por tratarse de todo un sistema financiero.

¿Qué es OpenZeppelin?

Millones y millones de dólares han sido robados en los últimos años producto de la falta de seguridad en el desarrollo de smart contracts, por errores en el propio lenguaje Solidity o aprovechamiento de vulnerabilidades en la EVM.

El principal estándar de seguridad de contratos inteligentes del mundo es OpenZeppelin. Ofrece una serie de implementaciones base de contratos, totalmente auditados y listo para ser utilizados.

Curso de OpenZeppelin

OpenZeppelin es más que una librería open source de contratos. Se compone de otros productos y servicios, además del desarrollo de contratos, las auditorias de seguridad y monitoreo de operaciones, una vez el contrato se encuentre en producción son otras herramientas que provee a la comunidad de desarrolladores.

Catálogo de contratos de OpenZeppelin

El conjunto de contratos que ofrece OpenZeppelin se enfoca en implementaciones muy utilizadas. Los contratos se encuentran auditados por profesionales y por toda la comunidad, otorgando garantía y confianza para su uso en cualquier tipo de proyecto.

No tendría sentido "reinventar la rueda" y desarrollar nuestro propio contrato para implementar cierta lógica, teniendo los contratos de OpenZeppelin que son muy seguros. Al menos hasta que se descubra alguna nueva vulnerabilidad y los contratos se actualicen. Algunos de los contratos que más utilizarás son:

  • Ownership: manejo de propiedad
  • ERC20: tokens fungibles
  • ERC721: tokens no fungibles (NFTs)
  • ERC1155: estándar multitoken
  • Governor: patrones de governanza
  • Timelock: retraso de ejecución
  • Access Control: manejo de roles

Revisar una sola implementación es el principal objetivo. Reutilizar código ya auditado nos permitirá tanto ser más veloces a los desarrolladores, como a los auditores en una fase posterior a la programación del contrato.

Popularidad de OpenZeppelin

Todas estas características convierten a OpenZeppelin en el conjunto de herramientas más popular y largamente adoptado por la comunidad para el desarrollo de proyectos en blockchain compatibles con la EVM.

Nos da la seguridad de estar trabajando con código que está fuertemente revisado por la comunidad y constantemente auditado. No solo por OpenZeppelin, también por organismos externos. Las miles de descargas diarias que tienen sus contratos en NPM y la actualización constante del código son grandes señales positivas que nos da confianza en su utilización.

Si bien los contratos de OpenZeppelin están escritos en Solidity, este lenguaje utiliza NPM de Javascript para resolver las dependencias de los proyectos. Una forma de no tener que desarrollar su propio manejador de paquetes utilizando el más grande y popular del mundo.

Conclusión

En web2 solemos no prestar atención a temas relacionados con la seguridad, solemos dejarlo para después. En web3, la seguridad no es una opción. Debemos ser lo más profesionales posible y desarrollar soluciones seguras desde el inicio. Pongamos primero la seguridad gracias a tecnologías como OpenZeppelin.


Contribución creada por: Kevin Fiorentino (Platzi Contributor).

Aportes 3

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Amor por los contratos de OpenZeppelin 🫶

OpenZeppelin nació en Buenos Aires, hoy domina el mundo como la principal herramienta de auditorias y seguridad de smart contracts.

OpenZeppelin Contracts

Es una librería que contiene muchos estándares de seguridad y implementación base para Smart Contracts.

NO reinventar la rueda

  • Ownership: Manejo de propiedad
  • ERC20: Tokens fungibles
  • ERC721: Tokens no fungibles (NFTs)
  • ERC1155: Multitokens Standard
  • Governor: Patrones de Gobernanza
  • Timelock: Retraso de ejecución
  • Access Control: Manejo de roles

OpenZeppelin Contracts es una librería estándar para desarrollo de contratos inteligentes.

  • Altamente popular
  • Fuertemente revisado por la comunidad
  • Constantemente auditado