Um contrato inteligente hospedado em um blockchain é executado de forma autônoma quando todos os termos ou condições especificados em um contrato ou acordo são satisfeitos, eliminando a necessidade de intervenção de um intermediário.

Os termos do contrato são escritos em código legível por máquina. Uma vez que o contrato inteligente é concluído, ele é irreversível e juridicamente vinculativo, levantando a questão: É possível rescindir um contrato inteligente? E, mais importante, os contratos inteligentes podem ser revertidos?

Este artigo discute se é possível revogar contratos inteligentes e, se possível, como revogar o acesso do contrato inteligente às suas participações em criptomoedas.

O que significa revogar contratos inteligentes?

Revogar um contrato inteligente normalmente significa desabilitar ou encerrar sua funcionalidade em um blockchain. Por exemplo, revogar pode interromper o acesso à carteira de criptomoedas de um usuário e a capacidade de mover tokens. Além disso, revogar um contrato inteligente interrompe a permissão para visualizar o saldo de tokens ou endereço público de um usuário.

Por que os contratos inteligentes são revogados?

É possível revogar um contrato inteligente em diversas circunstâncias, como se não houver intenção de comprar, vender ou transferir um ativo ou usar o contrato inteligente novamente.

Em outros casos, desenvolvedores mal-intencionados criam backdoors em contratos inteligentes, permitindo acesso não autorizado a fundos.

Quem pode alterar um contrato inteligente?

Como qualquer contrato, uma vez que as partes concordaram com os termos do contrato, eles são imutáveis. Mesmo que as partes quisessem, os termos são escritos no blockchain, que é inalterável. Isso torna os contratos inteligentes imutáveis.

A única maneira de “mudar” os termos de um contrato é “atualizar” o contrato, ou seja, trocar o contrato inteligente subjacente de um aplicativo descentralizado (DApp) por outro. Alternativamente, as partes podem escolher ter um contrato atualizável desde o início, o que permite modificações no contrato inteligente.

Quem controla um contrato inteligente?

Ninguém controla o contrato inteligente uma vez que o código é escrito no blockchain. O código será executado se ou quando uma condição ou estipulação predeterminada for atendida ou verificada. A ação envolve atualizar o blockchain e enviar notificações. Somente as partes com acesso ao contrato inteligente podem ver os detalhes da transação.

Como ninguém tem controle expresso do contrato, as partes precisam determinar as estipulações e descrevê-las adequadamente, sem ambiguidade, para garantir que possam ser executadas. E isso levanta a questão: os tokens podem ser bloqueados dentro de um contrato inteligente? Quando um usuário envia tokens para um contrato inteligente, ninguém pode negociá-los ou retirá-los, essencialmente bloqueando-os nele.

O contrato inteligente só liberará os tokens após um certo período ou desempenho de certas condições. Algumas plataformas até permitem a personalização do bloqueio do token, com um usuário especificando a data e a hora em que os tokens podem ficar disponíveis.

O que são aprovações e permissões de tokens em contratos inteligentes?

A única maneira de se proteger contra a exploração de contratos inteligentes é aprovar apenas a retirada de fundos necessária, evitar plataformas não testadas e revogar aprovações e permissões de tokens.

Mas o que são aprovações e permissões de tokens? Os contratos inteligentes permitem que os DApps automatizem a movimentação de tokens na carteira de alguém, daí as aprovações e permissões de tokens. Portanto, as aprovações e permissões de tokens significam a aprovação do proprietário de um contrato inteligente para retirar tokens de uma carteira para executar uma negociação. Um usuário pode usar vários meios para revogar o acesso do contrato inteligente aos seus tokens:

Revogando contratos inteligentes por meio do explorador de blocos de tokens

Redes individuais geralmente têm exploradores de blocos, como Polygonscan e Etherscan, que contêm uma seção de aprovação onde os usuários podem utilizar a ferramenta de aprovação de token para revogar permissões e aprovações.

Estas são as etapas típicas tomadas ao usar uma ferramenta de aprovação de token e observe que somente o proprietário do endereço pode revogar contratos inteligentes conectados:

1. Navegue até a página de aprovação do token.

2. Digite seu endereço na barra de pesquisa e clique em “pesquisar”.

3. Qualquer contrato inteligente associado ao endereço que pode gastar em nome do usuário aparecerá na lista de ativos, que fornece mais informações como a permissão de token do contrato inteligente, hash de transação e padrões de token.

4. Conecte-se à carteira clicando no botão “conectar ao Web3”.

5. Assim que a conexão for confirmada, selecione o(s) contrato(s) a ser(em) revogado(s).

Como revogar aprovações de tokens e permissões de contratos inteligentes no Ethereum

Aqui estão as etapas usuais tomadas ao revogar contratos inteligentes na rede principal Ethereum:

Etapa 1: revogar ferramentas de acesso

Os usuários podem rastrear e revogar contratos inteligentes conectados aos seus endereços usando várias ferramentas de revogação de acesso de terceiros. Conecte-se a qualquer um desses sites para iniciar o processo:

  • approved.zone: Ethereum

  • Revogar: múltiplas redes

  • EverRise: múltiplas redes

  • Ethallowance: Ethereum

  • Unrekt: múltiplas redes

  • Beefy.finance: Cadeia Inteligente BNB

  • Etherscan: Ethereum

  • Cointool: múltiplas redes

Etapa 2: Conecte a carteira

Depois de se conectar ao site, pesquise e clique no botão “conectar carteira”. Ao conectar o site à carteira, certifique-se de que eles estejam na mesma rede, pois as ferramentas de revogação de acesso funcionam apenas em um tipo de cadeia.

Por exemplo, se estiver conectado à rede principal Ethereum, não será possível revogar um contrato inteligente Polygon, pois somente contratos inteligentes Ethereum são suportados e serão exibidos.

Etapa 3: Selecione o contrato inteligente

A ferramenta de contrato inteligente exibirá todos os contratos inteligentes compatíveis, mostrando suas permissões de acesso e limites de gastos. Os usuários devem selecionar aqueles que desejam revogar. Se não tiver certeza, selecione todos e conceda novas permissões no próximo lançamento de cada DApp.

Etapa 4: revogar acesso

Clique no botão “revogar”, pague pela transação e aguarde um ou dois minutos para concluir a transação. Saia e entre novamente no site para confirmar que a transação revogada foi bem-sucedida (o contrato inteligente não deve estar na lista).

Revogar o acesso ao token também encerra as estratégias DeFi?

Não. Os usuários manterão suas posições em estratégias de finanças descentralizadas (DeFi), como pooling, staking e lending, permitindo que continuem recebendo recompensas. No entanto, isso pode afetá-los significativamente, dependendo do contexto e de como a estratégia é estruturada.

Em ecossistemas DeFi, os usuários frequentemente concedem permissão aos contratos inteligentes para acessar seus tokens para várias funções, como negociação, empréstimo ou staking. Se um usuário revogar esse acesso, o contrato inteligente não poderá mais mover ou gerenciar os tokens do usuário em seu nome.

Essa ação pode interromper estratégias em andamento que dependem da capacidade do contrato de interagir com os tokens. No entanto, a estratégia DeFi subjacente não é encerrada, mas pausada ou tornada inativa até que o acesso seja concedido novamente ou a estratégia seja ajustada.

Desconectar uma carteira de um projeto é o mesmo que remover a permissão de uso de fundos?

Não, elas não são a mesma coisa. Desconectar uma carteira de um projeto apenas cancela permissões que permitem que outros usuários visualizem os saldos de token, endereço público e atividades passadas, e interrompe o início de transações. No entanto, observe que isso não impedirá a execução de transações.

Por outro lado, remover a permissão para usar fundos significa revogar a permissão de um DApp para acessar e mover o conteúdo de uma carteira.