Composabilidad de los contratos inteligentes
Una breve introducción
Los contratos inteligentes son públicos en Ethereum y pueden considerarse como API abiertas. No necesita escribir su propio contrato inteligente para convertirse en desarrollador de aplicaciones descentralizadas (dapps), solo necesita saber cómo interactuar con ellos. Por ejemplo, puede usar los contratos inteligentes existentes de Uniswap (opens in a new tab), un intercambio descentralizado, para manejar toda la lógica de intercambio de tokens en su aplicación; no necesita empezar desde cero. Eche un vistazo a algunos de sus contratos v2 (opens in a new tab) y v3 (opens in a new tab).
¿Qué es la composabilidad?
La composabilidad es la combinación de distintos componentes para crear nuevos sistemas o resultados. En el desarrollo de software, la composabilidad significa que los desarrolladores pueden reutilizar componentes de software existentes para construir nuevas aplicaciones. Una buena forma de entender la composabilidad es pensar en los elementos componibles como bloques de Lego. Cada Lego se puede combinar con otro, lo que le permite construir estructuras complejas combinando diferentes Legos.
En Ethereum, cada contrato inteligente es una especie de Lego: puede usar contratos inteligentes de otros proyectos como bloques de construcción para su proyecto. Esto significa que no tiene que perder tiempo reinventando la rueda o construyendo desde cero.
¿Cómo funciona la composabilidad?
Los contratos inteligentes de Ethereum son como API públicas, por lo que cualquiera puede interactuar con el contrato o integrarlos en aplicaciones descentralizadas (dapps) para obtener mayor funcionalidad. La composabilidad de los contratos inteligentes generalmente funciona a partir de tres principios: modularidad, autonomía y capacidad de descubrimiento:
1. Modularidad: Esta es la capacidad de los componentes individuales para realizar una tarea específica. En Ethereum, cada contrato inteligente tiene un caso de uso específico (como se muestra en el ejemplo de Uniswap).
2. Autonomía: Los componentes componibles deben poder operar de forma independiente. Cada contrato inteligente en Ethereum se autoejecuta y puede funcionar sin depender de otras partes del sistema.
3. Capacidad de descubrimiento: Los desarrolladores no pueden llamar a contratos externos ni integrar bibliotecas de software en aplicaciones si los primeros no están disponibles públicamente. Por diseño, los contratos inteligentes son de código abierto; cualquiera puede llamar a un contrato inteligente o hacer una bifurcación de una base de código.
Beneficios de la composabilidad
Ciclo de desarrollo más corto
La composabilidad reduce el trabajo que los desarrolladores tienen que hacer al crear aplicaciones descentralizadas (dapps). Como dice Naval Ravikant: (opens in a new tab) "El código abierto significa que cada problema tiene que resolverse una sola vez".
Si hay un contrato inteligente que resuelve un problema, otros desarrolladores pueden reutilizarlo, por lo que no tienen que resolver el mismo problema. De esta manera, los desarrolladores pueden tomar bibliotecas de software existentes y agregar funcionalidad adicional para crear nuevas dapps.
Mayor innovación
La composabilidad fomenta la innovación y la experimentación porque los desarrolladores son libres de reutilizar, modificar, duplicar o integrar código de fuente abierta para crear los resultados deseados. Como resultado, los equipos de desarrollo dedican menos tiempo a la funcionalidad básica y pueden asignar más tiempo a experimentar con nuevas características.
Mejor experiencia de usuario
La interoperabilidad entre los componentes del ecosistema de Ethereum mejora la experiencia del usuario. Los usuarios pueden acceder a una mayor funcionalidad cuando las dapps integran contratos inteligentes externos que en un ecosistema fragmentado donde las aplicaciones no pueden comunicarse.
Usaremos un ejemplo de comercio de arbitraje para ilustrar los beneficios de la interoperabilidad:
Si un token se cotiza más alto en exchange A que en exchange B, puede aprovechar la diferencia de precio para obtener ganancias. Sin embargo, solo puede hacerlo si tiene suficiente capital para financiar la transacción (es decir, comprar el token en exchange B y venderlo en exchange A).
En un escenario en el que no tiene fondos suficientes para cubrir la operación, un préstamo relámpago podría ser ideal. Los préstamos relámpago son muy técnicos, pero la idea básica es que puede pedir prestados activos (sin colateral) y devolverlos dentro de una transacción.
Volviendo a nuestro ejemplo inicial, un operador de arbitraje puede obtener un gran préstamo relámpago, comprar tokens en exchange B, venderlos en exchange A, devolver el capital + intereses y quedarse con las ganancias, dentro de la misma transacción. Esta lógica compleja requiere combinar llamadas a múltiples contratos, lo que no sería posible si los contratos inteligentes carecieran de interoperabilidad.
Ejemplos de composabilidad en Ethereum
Intercambios de tokens
Si crea una aplicación descentralizada (dapp) que requiere que las transacciones se paguen en ETH, puede permitir que los usuarios paguen en otros tokens ERC-20 integrando la lógica de intercambio de tokens. El código convertirá automáticamente el token del usuario a ETH antes de que el contrato ejecute la función llamada.
Gobernanza
Construir sistemas de gobernanza a medida para una DAO puede ser costoso y llevar mucho tiempo. En su lugar, podría usar un conjunto de herramientas de gobernanza de código abierto, como Aragon Client (opens in a new tab), para iniciar su DAO y crear rápidamente un marco de gobernanza.
Gestión de identidad
En lugar de construir un sistema de autenticación personalizado o depender de proveedores centralizados, puede integrar herramientas de identidad descentralizada (DID) para gestionar la autenticación de los usuarios. Un ejemplo es SpruceID (opens in a new tab), un conjunto de herramientas de código abierto que ofrece una funcionalidad de "Iniciar sesión con Ethereum" que permite a los usuarios autenticar identidades con una billetera de Ethereum.
Tutoriales relacionados
- Inicie el desarrollo del frontend de su dapp con create-eth-app – Una descripción general de cómo usar create-eth-app para crear aplicaciones con contratos inteligentes populares listos para usar.
Lecturas adicionales
¿Conoce algún recurso de la comunidad que le haya ayudado? ¡Edite esta página y agréguelo!