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?

o inicia sesión.

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