Alternativa D - Facilitar a comunicação segura entre contratos sem expor a implementação interna.
Análise da Questão
O uso de interfaces em contratos inteligentes (como em Solidity/Ethereum) serve fundamentalmente como uma ferramenta de abstração e modularidade. Uma interface define apenas a assinatura das funções que um contrato pode oferecer, mas não contém o código lógico de execução.
Principais vantagens do uso de interfaces:
- Desacoplamento: Permite que um contrato interaja com outro sem precisar saber detalhes sobre variáveis de armazenamento ou lógica interna.
- Segurança: Ao chamar uma função externa através de uma interface, você garante que a chamada respeite os tipos de dados esperados, reduzindo erros de interação.
- Reutilização: Múltiplos contratos podem implementar a mesma interface, permitindo interoperabilidade padronizada.
Avaliação das Alternativas Incorretas
Para entender por que a alternativa D é a correta, analisamos os erros nas demais opções:
- (A) Alteração de código: Contratos inteligentes são imutáveis por natureza na blockchain. Nem interfaces permitem alterar o código implantado.
- (B) Aumento de custo: O objetivo geral é otimizar recursos. Interfaces não têm o propósito de aumentar o gas, embora chamadas externas consumam mais gás que chamadas internas.
- (C) Limitação a leitura: Interfaces podem definir tanto funções de leitura (view) quanto de escrita (non-view), dependendo das necessidades do contrato.
Conclusão
A resposta correta é a Alternativa D, pois encapsula a complexidade técnica, permitindo que contratos se comuniquem de forma segura baseando-se apenas nos comportamentos públicos definidos, sem revelar como esses comportamentos são implementados internamente.