Análise de smart contracts
18.12.2023

A análise do Lotus Market sobre as funcionalidades de burla no mercado Defi. Parte 1.

Com a crescente popularidade dos contratos inteligentes e das plataformas financeiras descentralizadas DeFi, a esfera da cadeia de blocos está a tornar-se cada vez mais suscetível a esquemas de fraude. Os esquemas fraudulentos nos contratos inteligentes podem assumir muitas formas, desde falsas promessas de retornos elevados a mecanismos de levantamento ocultos.

Neste artigo, vamos analisar as principais funcionalidades que são utilizadas para gerir contratos inteligentes, tais como:

  1. Blacklist
  2. Proxy
  3. Pause
  4. AntiWhale
  5. Mint
  6. EnableTrading
  7. TransferLimits

Vejamos em detalhe os principais perigos que os utilizadores podem enfrentar quando interagem com um contrato inteligente.

Mecanismo Blacklist (lista negra)

O recurso Blacklist em contratos inteligentes é um mecanismo que permite aos administradores de contratos adicionar endereços a uma lista negra. O proprietário de um contrato inteligente pode adicionar endereços à lista negra, negando-lhes o direito de realizar determinadas acções, tais como impedi-los de vender tokens ou de chamar determinadas funções do contrato.

Os perigos dos contratos inteligentes com uma função BlackList:

Os contratos inteligentes que incluem uma funcionalidade de lista negra acarretam certos riscos e problemas tanto para o projeto como para os seus utilizadores. Aqui estão alguns dos perigos associados às funcionalidades de lista negra:

  1. Controlo centralizado: As funções de lista negra fornecem frequentemente um controlo centralizado ao proprietário ou aos administradores do contrato.

  2. Abuso da lista negra para práticas desleais: Os abusadores (incluindo o titular do contrato) podem utilizar a lista negra para visar endereços específicos. Isso pode incluir o congelamento ou a restrição da funcionalidade de contas sem uma boa razão.

  3. Falta de transparência: A presença de uma função de lista negra, especialmente se não estiver documentada, pode levar a uma falta de transparência. Os utilizadores podem não estar cientes dos critérios da lista negra ou do procedimento de lista negra.

  4. Riscos de segurança: Se a BlackList não for implementada de forma segura, existe o risco de vulnerabilidades que podem permitir que pessoas não autorizadas manipulem a lista negra, o que pode levar ao congelamento não autorizado ou à transferência de fundos.

  5. Confiança do utilizador: A existência de uma funcionalidade de lista negra pode minar a confiança do utilizador porque os seus bens podem ser colocados numa lista negra sem regras claras.

  6. Confisco de tokens: Os atacantes podem utilizar uma lista negra para confiscar tokens ou activos de determinados endereços sem a devida justificação. Isto pode resultar em perdas financeiras significativas.

blacklist mechanism

Mecanismo Proxy

Esta funcionalidade é um mecanismo que permite que um contrato inteligente seja acedido através de outro contrato inteligente, denominado "contrato proxy". Isto aumenta a capacidade de gerir o contrato e atualizar a sua lógica sem ter de alterar os endereços ou atualizar o próprio contrato. A utilização de proxies acarreta alguns riscos.

Os autores de fraudes utilizam frequentemente esquemas em contratos inteligentes proxy para defraudar os utilizadores. Para identificar essas ameaças, tens de compreender os riscos envolvidos e ser tecnicamente experiente.

Os perigos dos contratos inteligentes proxy:

  1. Actualizações não autorizadas: Os contratos proxy permitem que o proprietário actualize o contrato subjacente. No entanto, se este mecanismo não for implementado de forma segura, pode levar a actualizações não autorizadas, permitindo que os atacantes injectem código malicioso no contrato.

  2. Chamadas externas não verificadas: Programadores desonestos podem usar chamadas externas para contratos não confiáveis sem a devida verificação. Isso pode levar a vulnerabilidades, incluindo ataques de reentrada, em que contratos maliciosos invocam repetidamente um contrato proxy, potencialmente esgotando seus fundos.

  3. Falta de transparência: Normalmente, o código fonte de um contrato de gestão não é verificado.

  4. Projectos falsos: Os autores de fraudes criam projectos falsos que prometem características atractivas, tais como rendimentos elevados ou funcionalidades únicas. Podem utilizar contratos de proxy para criar uma aparência de legitimidade e ocultar intenções maliciosas.

  5. Esquemas Ponzi: Os burlões constroem esquemas Ponzi baseados em contratos de proxy, atraindo os utilizadores com promessas de elevados retornos. Esses esquemas podem ter componentes actualizáveis para manter a ilusão de plausibilidade.

  6. Contratos clonados: Os burlões clonam projectos legítimos e introduzem vulnerabilidades ou alterações no contrato clonado. Os utilizadores incautos podem interagir com esses clones, confundindo-os com o original.

Mecanismo Pause

Esta caraterística é um mecanismo que permite aos proprietários de contratos suspender temporariamente (desligar) e reativar (ligar) certas funções ou características do contrato (tais como negociação, transferências de tokens, etc.). Pode ser utilizada para gerir o estado do contrato em determinadas situações ou em resposta a mudanças nas condições de mercado, mas esta ferramenta nas mãos de fraudadores pode constituir uma verdadeira ameaça para os investidores.

Os perigos dos contratos inteligentes com uma função Pause:

  1. Pausa não autorizada: Os autores de fraudes podem obter o controlo da função Pausa e interromper a execução de um contrato sem a devida autorização, o que pode resultar em perturbações da atividade ou perdas financeiras.

  2. Atrasos enganadores (Deceptive Delays): Os contratos maliciosos podem suspender transacções críticas, tais como levantamentos ou transferências, sob o pretexto de manutenção temporária ou medidas de segurança, enquanto pretendem negar aos utilizadores o acesso aos seus activos.

  3. Falsas alegações de emergências: Os autores de fraudes podem alegar falsamente emergências ou vulnerabilidades para justificar uma pausa no contrato e depois explorar os fundos do utilizador durante a pausa.

  4. Pretexto de segurança (Security Pretext): Os contratos maliciosos podem alegar que foi descoberta uma vulnerabilidade de segurança, fazendo com que a função de suspensão seja activada. Na realidade, os fraudadores podem ter a intenção de tirar proveito da situação.

  5. Equipas de força maior (Emergency Schemes): Os burlões podem utilizar uma linguagem ou cenários que induzem o medo, como uma "tentativa de assalto" ou uma "emergência", para justificar uma pausa durante a qual podem cometer actos ilegais.

pause

Mecanismo AntiWhale

Esta funcionalidade é utilizada para impor limites às vendas de tokens para evitar levantamentos em massa ou manipulações conhecidas como "ondas" - grandes volumes de transacções de participantes individuais que podem afetar o preço dos tokens e a liquidez do mercado. Podem ser definidos limites para o número de tokens numa única transação ou para o número total de tokens que podem ser vendidos num determinado período de tempo.

O principal objetivo do mecanismo AntiWhale é reduzir o impacto de grandes transacções a partir de um único endereço ou de um pequeno grupo de endereços, muitas vezes referidos como "baleias". Pretende evitar a concentração excessiva de tokens nas mesmas mãos e combater a possível manipulação ou desestabilização do mercado.

Os mecanismos AntiWhale estabelecem normalmente limites à dimensão ou ao valor das transacções individuais. As transacções que excedem um determinado limite resultam na imposição de restrições, como a recusa de executar a transação, taxas elevadas ou outros mecanismos de redistribuição.

Riscos potenciais para os detentores de fichas:

  1. Definir limites demasiado rígidos para o AntiWhale pode ser um problema para os utilizadores que necessitam de grandes transacções.

  2. A dependência excessiva do mecanismo AntiWhale pode promover inadvertidamente a centralização se for implementado sem ter em conta o ecossistema mais vasto.

Mecanismo CoolDown

O mecanismo Cooldown foi concebido para impor limites de tempo entre transacções consecutivas do mesmo endereço. O seu objetivo é regular a frequência das transacções e evitar uma atividade excessiva de compra ou venda em curtos intervalos de tempo.

Cooldown estabelecem períodos de espera entre transacções, muitas vezes com base no tempo decorrido desde a última transação de um determinado endereço. Os utilizadores têm de esperar que o período de arrefecimento expire antes de iniciarem uma nova transação.

Utilização do mecanismo Cooldown:

Os autores de fraudes podem utilizar o mecanismo Cooldown para defraudar os utilizadores, criando estratégias que exploram as limitações. Vejamos os principais riscos que o CoolDown representa para os investidores.

  1. Impacto na liquidez: CoolDown pode afetar a liquidez nas bolsas descentralizadas, reduzindo a frequência das transacções. Isto pode levar a um aumento dos spreads bid-ask e potencialmente afetar o estado geral da negociação.

  2. Consequências não intencionais: Para evitar consequências não intencionais, os limites do CoolDown devem ser cuidadosamente calibrados. Por exemplo, restrições demasiado curtas podem impedir ineficazmente a manipulação, e restrições demasiado longas podem impedir a atividade de negociação legítima.

  3. Períodos de ICO ou de venda de tokens: Durante as ofertas iniciais de tokens (ICOs) ou períodos de venda de tokens, podem ser impostas restrições para evitar que grandes participantes efectuem múltiplas transacções consecutivas.

  4. Listas brancas de endereços ou níveis de acesso: CoolDown pode ser usado em conjunto com listas brancas de endereços (WhiteList) ou sistemas de direitos em camadas. Por exemplo, os utilizadores de nível superior podem ter períodos de espera mais curtos do que todos os outros.

Principais diferenças entre as funções AntiWhale e CoolDown

Parâmetros AntiWhale Cooldown
Parâmetros: Influência AntiWhale: Afecta principalmente os utilizadores com elevados volumes de transacções. Cooldown: Aplica-se a todos os utilizadores, independentemente do tamanho da transação.
Parâmetros: Dinâmica do mercado AntiWhale: Concentra-se na resolução de problemas de concentração. Cooldown: Destina-se a regular a frequência das transacções.
Parâmetros: Objectivos do projeto AntiWhale: O objetivo é distribuir tokens e garantir a estabilidade do mercado. Cooldown: O seu principal objetivo é garantir a estabilidade do mercado e impedir a rápida negociação.

Lembra-te de que os burlões estão constantemente a melhorar as suas tácticas, pelo que é importante manteres-te informado e teres cuidado - estas são estratégias essenciais para protegeres o teu investimento em fichas. Se encontrares algo suspeito ou tiveres dúvidas, não hesites em contactar-nos para obter ajuda ou consultar especialistas na matéria.

Mecanismo Mint

A função Mint é normalmente utilizada para criar tokens adicionais no sistema. Isto significa que os detentores de contratos podem "imprimir" (ou "cunhar") novos tokens, aumentando o número total de tokens em circulação. Desta forma, cria inflação e desvaloriza os activos dos detentores de tokens. Esta caraterística é frequentemente utilizada em tokens criados ao abrigo da norma ERC-20 ou de outras normas semelhantes.

Os perigos dos contratos inteligentes com funcionalidades Mint

  1. Mineração não autorizada: Os burlões podem criar um número ilimitado de tokens, diluindo o valor dos tokens existentes e causando inflação.

  2. Manipulação da oferta: Os autores de fraudes podem manipular a oferta de tokens para enganar os investidores ou dar a impressão de que um projeto é mais valioso do que é na realidade.

  3. Falsa escassez: Estes projectos podem prometer escassez, mas após a oferta pública inicial recorrem à cunhagem, diluindo o valor dos tokens e defraudando os investidores que foram atraídos pela escassez.

  4. Recompensas inflacionárias: Os projectos podem alegar que oferecem recompensas de steaking (staking) ou dividendos (yield farming), mas cunham fichas adicionais como "recompensas", desvalorizando as participações dos participantes.

  5. Emissão repentina de tokens: Os autores de fraudes podem emitir tokens repentinamente sem a devida divulgação ou governação, causando pânico e perda de valor para os detentores de tokens.

mint

Mecanismo EnableTrading

Este mecanismo é utilizado para controlar a capacidade de negociar tokens. Quando ativado, os utilizadores podem comprar e vender tokens no mercado. Quando desativado, a capacidade de negociação é limitada. Muitas vezes, este mecanismo é utilizado para combater os bots sniper, o que é bem merecido. No entanto, os burlões também podem utilizar o mecanismo Enable Trading para manipular as comissões (Fee) e bloquear automaticamente os utilizadores (Blacklist).

Os perigos dos contratos inteligentes com uma função EnableTrading:

  1. Autorização de negociação não autorizada: Os fraudadores podem manipular a funcionalidade EnableTrading para permitir negociações ou transferências (Transfer) sem a devida autorização. Isso pode levar a negociações não autorizadas ou transferências fraudulentas.

  2. Reclamações de Ativação Falsas (False Activation Claims): Os contratos maliciosos podem alegar falsamente que determinadas condições são cumpridas para ativar uma transação. Na realidade, as condições podem não ser cumpridas, resultando em transacções ou transferências fraudulentas.

  3. Ativação atrasada (Delayed Activation): Os contratos maliciosos podem permitir que a negociação seja ativada, mas com atrasos significativos, fazendo com que os usuários acreditem que o recurso de negociação está temporariamente desativado.

Mecanismo TransferLimits

O uso de Transfer Limitis permite definir limites de negociação/transferência de tokens (tranfer) à discrição dos proprietários do contrato. Os burlões podem usar este mecanismo para um cenário em que um utilizador pode comprar um número ilimitado de tokens, mas só pode vender uma pequena parte deles (e nem sempre e com atrasos). Por conseguinte, é muito importante compreender a estrutura do Transfer Limits numa base casuística.

Os perigos dos contratos inteligentes com uma função TrasferLimits:

  1. Os contratos inteligentes com limites de transferência impõem frequentemente restrições ao número de tokens que podem ser transferidos num determinado período de tempo ou sob determinadas condições. Embora estas características possam servir objectivos legítimos, como a prevenção do dumping de tokens em grande escala ou o controlo da taxa de transferência, também acarretam riscos potenciais.

  2. O principal perigo de um esquema deste tipo é que os investidores são atraídos para comprar fichas, mas a venda pode ser significativamente limitada no número de fichas ou ser extremamente pouco rentável devido às elevadas comissões.

Para evitares ser enganado ao escolheres fichas, segue as seguintes regras:

  1. Analisa o código cuidadosamente
    O primeiro e mais importante passo na identificação de ameaças é uma análise detalhada do código do contrato inteligente. É necessário escrutinar o código para detetar elementos suspeitos, ocultos e potencialmente perigosos. Isto inclui a verificação da lógica do contrato, o cálculo dos fluxos financeiros e a identificação de possíveis pontos de vulnerabilidade.

  2. Explora as auditorias independentes
    Procura contratos inteligentes que tenham sido auditados de forma independente por empresas de contabilidade de renome. Os auditores profissionais podem identificar potenciais ameaças e riscos.

  3. Verifica a documentação
    Examina a documentação e os comentários do contrato para ver se há referências às funções descritas acima. A documentação deve fornecer uma descrição clara e pormenorizada das funções a utilizar.

  4. Verifica a transparência do código
    Assegura que o código do contrato inteligente está aberto a todos os utilizadores. Os programadores devem fornecer detalhes sobre o seu projeto, incluindo código, auditorias e informações de contacto.

  5. Segue o feedback das comunidades
    Consulta os fóruns da comunidade, as redes sociais ou os canais oficiais para veres se há discussões sobre a presença e a utilização de funcionalidades suspeitas. Os utilizadores podem fornecer informações e preocupações valiosas.

  6. Acompanha a atividade do projeto
    Monitoriza regularmente a atividade do contrato na cadeia de blocos. Alterações invulgares ou inesperadas nos padrões de transferência de fundos ou o levantamento de restrições às transferências de fundos sem uma explicação adequada podem indicar uma potencial ameaça.

  7. Presta atenção à reputação do projeto
    Investiga a reputação do projeto e da sua equipa de desenvolvimento. Os projectos com um historial de transparência, comunicação regular com a comunidade e um compromisso com a segurança tendem a ser mais fiáveis.

  8. Mantém-te atualizado
    Mantém-te a par dos últimos desenvolvimentos na nossa comunidade (canal Telegram) e das melhores práticas para a deteção de fraudes (o nosso blogue e canal YouTube).

rules of secure

Conclusões

Analisámos as principais características que são utilizadas nos contratos inteligentes. Cada caraterística é uma ferramenta poderosa para a gestão de contratos inteligentes, razão pela qual envolve frequentemente certos riscos para os utilizadores.

São necessárias competências de programação e auditoria DeFi para compreender as possíveis vulnerabilidades de cada contrato inteligente específico. O estudo do código, a auditoria detalhada, a análise pormenorizada de cada função e a monitorização regular de novos esquemas de fraude ajudarão a perceber se vale a pena interagir com um contrato inteligente.

Lembra-te que a segurança é a tua prioridade!

Se tiveres dúvidas sobre a segurança de um contrato inteligente, podes sempre utilizar a nossa plataforma Lotus Market.
Lotus Market é uma equipa de programadores experientes e auditores profissionais da DeFi.

Subscreve uma subscrição premium e obtém acesso a filtros exclusivos sobre características de contratos inteligentes e análises recentes. Aumenta as tuas hipóteses de investir com sucesso em tokens lucrativos!

All posts

Connect to a wallet

Metamask