Composabilidade de contratos inteligentes
Uma breve introdução
Os contratos inteligentes são públicos no Ethereum e podem ser considerados como APIs abertas. Você não precisa escrever seu próprio contrato inteligente para se tornar um desenvolvedor de aplicativos descentralizados (dapps), você só precisa saber como interagir com eles. Por exemplo, você pode usar os contratos inteligentes existentes do Uniswap (opens in a new tab), uma corretora descentralizada, para lidar com toda a lógica de troca de tokens no seu aplicativo – você não precisa começar do zero. Confira alguns de seus contratos v2 (opens in a new tab) e v3 (opens in a new tab).
O que é composabilidade?
Composabilidade é a combinação de componentes distintos para criar novos sistemas ou resultados. No desenvolvimento de software, composabilidade significa que os desenvolvedores podem reutilizar componentes de software existentes para construir novos aplicativos. Uma boa maneira de entender a composabilidade é pensar em elementos compuníveis como blocos de Lego. Cada Lego pode ser combinado com outro, permitindo que você construa estruturas complexas combinando diferentes Legos.
No Ethereum, cada contrato inteligente é uma espécie de Lego — você pode usar contratos inteligentes de outros projetos como blocos de construção para o seu projeto. Isso significa que você não precisa perder tempo reinventando a roda ou construindo do zero.
Como a composabilidade funciona?
Os contratos inteligentes do Ethereum são como APIs públicas, então qualquer pessoa pode interagir com o contrato ou integrá-los em dapps para adicionar funcionalidades. A composabilidade de contratos inteligentes geralmente funciona com base em três princípios: modularidade, autonomia e descoberta:
1. Modularidade: Esta é a capacidade de componentes individuais executarem uma tarefa específica. No Ethereum, cada contrato inteligente tem um caso de uso específico (como mostrado no exemplo do Uniswap).
2. Autonomia: Componentes compuníveis devem ser capazes de operar de forma independente. Cada contrato inteligente no Ethereum é autoexecutável e pode funcionar sem depender de outras partes do sistema.
3. Descoberta: Os desenvolvedores não podem chamar contratos externos ou integrar bibliotecas de software em aplicativos se os primeiros não estiverem disponíveis publicamente. Por design, os contratos inteligentes são de código aberto; qualquer pessoa pode chamar um contrato inteligente ou fazer uma bifurcação (fork) de uma base de código.
Benefícios da composabilidade
Ciclo de desenvolvimento mais curto
A composabilidade reduz o trabalho que os desenvolvedores têm ao criar dapps. Como diz Naval Ravikant: (opens in a new tab) "Código aberto significa que cada problema só precisa ser resolvido uma vez."
Se houver um contrato inteligente que resolva um problema, outros desenvolvedores poderão reutilizá-lo, para que não precisem resolver o mesmo problema. Dessa forma, os desenvolvedores podem pegar bibliotecas de software existentes e adicionar funcionalidades extras para criar novos dapps.
Maior inovação
A composabilidade incentiva a inovação e a experimentação porque os desenvolvedores são livres para reutilizar, modificar, duplicar ou integrar código de código aberto para criar os resultados desejados. Como resultado, as equipes de desenvolvimento gastam menos tempo em funcionalidades básicas e podem alocar mais tempo experimentando novos recursos.
Melhor experiência do usuário
A interoperabilidade entre os componentes do ecossistema Ethereum melhora a experiência do usuário. Os usuários podem acessar mais funcionalidades quando os dapps integram contratos inteligentes externos do que em um ecossistema fragmentado onde os aplicativos não podem se comunicar.
Usaremos um exemplo de negociação de arbitragem para ilustrar os benefícios da interoperabilidade:
Se um token estiver sendo negociado a um valor mais alto na exchange A do que na exchange B, você pode aproveitar a diferença de preço para obter lucro. No entanto, você só pode fazer isso se tiver capital suficiente para financiar a transação (ou seja, comprar o token na exchange B e vendê-lo na exchange A).
Em um cenário onde você não tem fundos suficientes para cobrir a negociação, um empréstimo relâmpago pode ser o ideal. Os empréstimos relâmpago são altamente técnicos, mas a ideia básica é que você pode pegar ativos emprestados (sem colateral) e devolvê-los na mesma transação.
Voltando ao nosso exemplo inicial, um negociador de arbitragem pode fazer um grande empréstimo relâmpago, comprar tokens na exchange B, vendê-los na exchange A, pagar o capital + juros e ficar com o lucro, tudo na mesma transação. Essa lógica complexa requer a combinação de chamadas para vários contratos, o que não seria possível se os contratos inteligentes não tivessem interoperabilidade.
Exemplos de composabilidade no Ethereum
Trocas de tokens
Se você criar um dapp que exija que as transações sejam pagas em ETH, você pode permitir que os usuários paguem em outros tokens ERC-20 integrando a lógica de troca de tokens. O código converterá automaticamente o token do usuário em ETH antes que o contrato execute a função chamada.
Governança
Construir sistemas de governança sob medida para uma DAO pode ser caro e demorado. Em vez disso, você pode usar um kit de ferramentas de governança de código aberto, como o Aragon Client (opens in a new tab), para iniciar sua DAO e criar rapidamente uma estrutura de governança.
Gerenciamento de identidade
Em vez de construir um sistema de autenticação personalizado ou depender de provedores centralizados, você pode integrar ferramentas de identidade descentralizada (DID) para gerenciar a autenticação dos usuários. Um exemplo é o SpruceID (opens in a new tab), um kit de ferramentas de código aberto que oferece a funcionalidade "Sign in with Ethereum" (Entrar com Ethereum), que permite aos usuários autenticar identidades com uma carteira Ethereum.
Tutoriais relacionados
- Dê o pontapé inicial no desenvolvimento do frontend do seu dapp com o create-eth-app – Uma visão geral de como usar o create-eth-app para criar aplicativos com contratos inteligentes populares prontos para uso.
Leitura adicional
Conhece um recurso da comunidade que o ajudou? Edite esta página e adicione-o!