ERC-20

ERC-20

 Definição

ERC-20 (Ethereum Request for Comment 20) é o padrão de token mais importante na história das criptomoedas, definindo a interface comum que todos os tokens fungíveis no Ethereum devem implementar. Proposto por Fabian Vogelsteller e Vitalik Buterin em novembro de 2015 e finalizado como EIP-20, o ERC-20 estabeleceu seis funções obrigatórias (`transfer`, `transferFrom`, `approve`, `allowance`, `balanceOf`, `totalSupply`) e dois campos opcionais (`name`, `symbol`) que todos os tokens compatíveis devem expor. Essa padronização foi revolucionária: qualquer carteira, exchange, protocolo DeFi ou contrato inteligente que entenda a interface ERC-20 pode funcionar com qualquer token ERC-20 sem integração personalizada — possibilitando o ecossistema DeFi interoperável e componível. Todos os principais tokens — USDC, USDT, LINK, UNI, AAVE, DAI, SHIB e milhares de outros — são tokens ERC-20. O padrão desbloqueou o boom das ICOs em 2017, a explosão do DeFi em 2020 e continua sendo o fundamento primitivo de toda a economia de tokens Ethereum, com um volume cumulativo de transações ERC-20 superior a trilhões de dólares.

Origem e história

DataEvento
novembro 2015Fabian Vogelsteller propõe a EIP-20 no GitHub do Ethereum
setembro 2017O padrão ERC-20 foi formalmente estabelecido; o boom das ICOs o aproveita — US$ 5.6 bilhões arrecadados em 2017 por meio de tokens ERC-20.
2018Praticamente todos os novos projetos de tokens são lançados como ERC-20; o ecossistema atinge mais de 100,000 tokens.
2020Verão DeFi: Tokens ERC-20 impulsionam Uniswap, Compound, Aave e Yearn — mais de US$ 1 bilhão bloqueados
2021As stablecoins (USDC, USDT, versão ERC-20) dominam; o volume de transferências em ERC-20 supera o de BTC.
2022Capitalização de mercado dos tokens ERC-20 ultrapassa US$ 200 bilhões; volume de transferências diárias na casa das centenas de bilhões.
2023O padrão ERC-20 continua dominante; mais de 500,000 contratos de tokens ERC-20 exclusivos foram implantados.
 “O ERC-20 é a especificação de código aberto mais bem-sucedida já criada. Ele permite que todos os tokens falem a mesma língua.”
Fabian Vogelsteller, criador do ERC-20

Como Funciona

“Interface obrigatória ERC-20:

função totalSupply() → uint256 função balanceOf(address) → uint256 função transfer(address to, uint amount) → bool função transferFrom(address from, address to, uint amount) → bool função approve(address spender, uint amount) → bool função allowance(address owner, address spender) → uint256

Eventos: evento Transferência(endereço indexado de, endereço indexado de, valor uint256) evento Aprovação(endereço indexado de proprietário, endereço indexado de gastador, valor uint256)

Como funciona a transferência: Alice envia 100 USDC para Bob:

  1. Alice chama USDC.transfer(Bob, 100)
  2. Verificações de contrato: saldos[Alice] >= 100
  3. saldos[Alice] -= 100
  4. saldos[Bob] += 100
  5. emitir Transferir(Alice, Bob, 100)

Como funciona o approve/transferFrom (padrão DeFi):

  1. Alice chama USDC.approve(UniswapRouter, 1000)
  2. O UniswapRouter agora pode gastar até 1000 USDC em nome de Alice.
  3. O roteador chama USDC.transferFrom(Alice, Pool, 1000)
funçãoPropósitoQuem liga para isso?
`totalSupply()`Retorna a contagem total de tokens.Qualquer pessoa (visualizar)
`balanceOf(addr)`Saldo do endereço de devoluçãoQualquer pessoa (visualizar)
`transferir(para, valor)`Enviar tokens do chamadordetentor da ficha
`aprovar(gastador, valor)`Autorizar gastodetentor da ficha
`transferFrom(from, to, amt)`Transferência em nome deGastador aprovado (DeFi)
`dispensa (proprietário, gastador)`Verifique o valor aprovadoQualquer pessoa (visualizar)

Em termos simples

  1. Linguagem universal de tokensTodos os tokens ERC-20 utilizam a mesma interface — MetaMask, Uniswap, Aave e Coinbase funcionam com USDC, UNI, LINK e mais de 500,000 outros tokens porque todos seguem as mesmas regras.
  2. Saldos em um livro-razãoO contrato mantém um mapeamento de endereços para saldos — `transfer()` subtrai do remetente e adiciona ao destinatário, tudo dentro do livro-razão interno do contrato.
  3. Aprovação para DeFiA função `approve()` permite que os protocolos DeFi gastem tokens em seu nome — quando você "aprova" o Uniswap, você está dando permissão para que ele movimente seus USDC para uma troca.
  4. facilitador de ICOO padrão ERC-20 tornou a criação de tokens trivial — qualquer desenvolvedor podia lançar um token em poucas horas, impulsionando o boom das ICOs em 2017, quando milhares de projetos arrecadaram bilhões.
  5. O primitivo DeFiCompound, Aave, Uniswap e todos os protocolos DeFi são construídos em torno de tokens ERC-20. Remova o ERC-20 e todo o ecossistema DeFi entrará em colapso.

Exemplos do mundo real

CenárioImplementaçãoResultado
Establecoin USDCA Circle implementa um contrato ERC-20 USDC com lastro em USD na proporção de 1:1.Mais de US$ 25 bilhões em circulação; aceito instantaneamente em todas as corretoras e protocolos DeFi.
Troca UniswapO usuário aprova o USDC e chama a troca → O roteador chama `transferFrom(user, pool)`.Troca perfeita utilizando o padrão ERC-20 approve/transferFrom.
Empréstimo AaveO usuário deposita USDC ERC-20 e recebe aUSDC ERC-20 representando o depósito.Todos os mecanismos de empréstimo são baseados na composibilidade do ERC-20.
Captação de recursos da ICOProjeto lança token ERC-20; investidores enviam ETH e recebem tokens.2017-2018: Mais de US$ 20 bilhões arrecadados por meio da venda de tokens ERC-20.

 Vantagens

A VantagemDescrição
compatibilidade universalQualquer token ERC-20 funciona com qualquer carteira, exchange ou protocolo DeFi compatível.
Implementação simples150 linhas de Solidity para implantar um token totalmente funcional.
ComposabilidadeOs tokens ERC-20 se integram aos protocolos DeFi, possibilitando a criação de "peças de Lego para dinheiro".
Efeitos de rede do ecossistemaMais de 500,000 tokens; todas as ferramentas e interfaces são compatíveis com ERC-20.
Implementações de referência auditadasO token ERC-20 da OpenZeppelin foi testado e aprovado, com um valor estimado em bilhões.

 Desvantagens e Riscos

DesvantagemDescrição
aprovar() risco de gasto duploOs usuários podem ser prejudicados ao alterar as permissões; são necessárias duas transações para redefinir com segurança.
Perda de tokens riscoO padrão ERC-20 não oferece proteção contra o envio de tokens para contratos que não podem recebê-los.
Potencial inflacionárioNão existe um mecanismo padrão de limite de oferta — projetos podem emitir tokens ilimitados se forem mal projetados.
Problema com o token de taxaAs transferências de tokens ERC-20 exigem ETH para cobrir as taxas — os tokens sozinhos não conseguem pagar suas próprias taxas.

Dicas de gerenciamento de risco:

  • Antes de aprovar Protocolos DeFiEntenda o que você está autorizando — aprovações ilimitadas garantem acesso perpétuo para gastar seus tokens.
  • Utilize ferramentas como o Revoke.cash para revisar e revogar aprovações antigas de ERC-20, reduzindo assim a superfície de ataque.
  • Verifique os endereços dos contratos de tokens em fontes oficiais — golpistas implantam tokens ERC-20 falsos com nomes semelhantes.

 Perguntas frequentes

Qual a diferença entre ETH e tokens ERC-20?

ETH é a moeda nativa do Ethereum — não um token ERC-20. Tokens ERC-20 são criados por contratos inteligentes na rede Ethereum. Wrapped ETH (WETH) é uma versão ERC-20 do ETH que permite sua participação em protocolos DeFi que exigem conformidade com o padrão ERC-20.

Quantos tokens ERC-20 existem?

Em 2024, mais de 500,000 contratos de tokens ERC-20 exclusivos foram implantados na rede principal do Ethereum. A grande maioria tem valor de mercado insignificante; aproximadamente 1,000 a 5,000 possuem liquidez e uso significativos.

O que é uma aprovação ilimitada no ERC-20?

Chamar `approve(dex, type(uint256).max)` concede à DEX permissão para gastar todo o seu saldo de tokens indefinidamente. Isso é comum por conveniência, mas cria riscos — se o protocolo for invadido, todos os tokens aprovados podem ser roubados.

Os tokens ERC-20 podem ser cunhados ou queimados?

O próprio padrão ERC-20 não especifica a cunhagem ou a queima — é opcional. Os projetos implementam a cunhagem (aumentando o `totalSupply`) e a queima (reduzindo-o) de acordo com o design de sua tokenomics.

Por que o padrão ERC-20 foi revolucionário?

Antes do ERC-20, cada token tinha uma interface personalizada — as corretoras e carteiras exigiam integração específica para cada token. O ERC-20 criou uma linguagem universal: desenvolva uma única vez para o ERC-20 e você terá suporte para todos os tokens instantaneamente.

Dica da UPay: Antes de interagir com qualquer protocolo DeFi que utilize tokens ERC-20, use o Etherscan para verificar o endereço do contrato do token e confirmar se ele corresponde ao endereço oficial do projeto — golpistas criam tokens com nomes e símbolos idênticos para roubar aprovações de usuários desatentos.

Aviso: Este conteúdo tem fins meramente educativos e não constitui aconselhamento financeiro ou de investimento. Sempre realize sua própria pesquisa antes de tomar qualquer decisão financeira.

UPay — Tornando as criptomoedas uma enciclopédia

Notícias e Eventos