Um token ERC-20 nada mais é do que um contrato inteligente que possui uma estrutura de dados pré-estabelecida. Essa estrutura foi pensada para facilitar a implementação de diversas funcionalidades na blockchain Ethereum, facilitando o trabalho de criação para os desenvolvedores.
La blockchain de Ethereum, a diferença de Bitcoin, foi criada para ser um ecossistema integrado. Portanto, seus desenvolvedores criaram novos mecanismos para facilitar determinadas tarefas. Um exemplo disso foi melhorar a capacidade de criar novas moedas “em cima” de uma blockchain existente, algo possível com Bitcoin e visto nas chamadas colored coins. Para conseguir isso, os desenvolvedores da Ethereum criaram tokens ERC-20.
Sua criação foi proposta por Fabian Vogelsteller y Vitalik Buterine aprovado em 19 de novembro de 2015. Faz parte do EIP de Ethereum sob a designação EIP-20 (PEI são as iniciais em inglês de Proposta de melhoria do Ethereum).
As iniciais ERC significam Ethereum Requests for Comments o Solicitação de comentários para o Ethereum, enquanto o número 20 vem do EIP, onde é descrito. O ERC-20 descreve um padrão sobre as funções e eventos que um smart contract de Ethereum pode implementar.
Atualmente, os tokens ERC-20 são um dos tokens mais usados no mundo cripto. A quantidade de tokens ERC-20 criados é enorme, você pode comprovar em Etherscan quantos existem hoje.
Como funcionam os tokens ERC-20?
Os tokens ERC-20 são contratos inteligentes executados na blockchain do Ethereum. Eles trabalham dentro de uma estrutura programática estabelecida pela equipe Ethereum. Essa estrutura é ampla o suficiente para permitir diferentes usos sem interromper a operação da blockchain Ethereum. Por exemplo, eles são capazes de manter uma subconta paralela ao livro-razão principal do Ethereum, tendo sua própria unidade de conta. Tudo isso, sem misturar os saldos Ether dos endereços, mas garantindo a transparência, rastreabilidade e segurança proporcionada pela rede Ethereum.
É justamente essa enorme flexibilidade que levou os tokens ERC-20 a se tornarem um padrão. A principal utilidade desses tokens é padronizar a interface para criação e emissão de novos tokens na rede. Ele faz isso aplicando certas regras e parâmetros para sua aceitação. Por exemplo, para alterar ou mover um token ERC-20, você deve ter Ether. Essa situação suporta tanto a parte econômica quanto a parte utilitária do token.
O objetivo e a necessidade dos tokens ERC-20 é projetar um padrão para criar interoperabilidade e compatibilidade entre tokens e incentivar melhorias no ecossistema Ethereum. Isso porque os tokens ERC-20 facilitam muito o trabalho de criação de novos tokens, já que a infraestrutura foi pensada para isso. Foi também acompanhado de ferramentas para esta finalidade como a linguagem de programação Solidity, ou a máquina virtual EVM.
Por que foram criados os tokens ERC-20?
La motivação principal dos desenvolvedores foi criar algo tão amplo, principalmente criar un sistema de capacidade múltipla. Tudo isso numa interface padrão reutilizável para outras aplicações: desde carteiras a exchanges descentralizadas. Tudo isso sob um API que garante aos desenvolvedores as seguintes vantagens:
- Uniformidade em programação. A API é padrão e estável, o que facilita a tarefa de programar usando a mesma. Isto facilita a tarefa criativa dos programadores na hora de criar um novo software com base nos recursos da Ethereum.
- Reduz a complexidade da programação. Como a API é simples, o seu uso reduz a complexidade do software criado para usá-lo. Isto traduz-se em melhor leitura, segurança e auditabilidade do código escrito.
- Suporte para múltiplas linguagens de programação e melhorias de portabilidade. Como a API dos tokens é livre, é possível programar nela em diferentes linguagens de programação. Isso facilita muito a capacidade para criar software específico. Algumas das linguagens suportadas para esta tarefa são Solidity, JavaScript, C, C ++, Python, Java e Go.
- Menos complexidade na compreensão de cada tipo de tokens implementados. Isto graças ao fato de que todos eles serão baseados nos mesmos princípios de funcionalidade.
- Maior segurança, especialmente graças a recursos como token allowance.
- Menor risco de quebra de contratos, pois não têm impedimentos ou incompatibilidades. Isto ocorre porque a API é estável, as alterações feitas nela melhoram, mas nunca quebram a compatibilidade.
Principais características dos tokens ERC-20
Como já mencionamos, os tokens ERC-20 são caracterizados principalmente por suas extensas capacidades de adaptação. Mas, para conseguir isso, um token ERC-20 usa uma certa estrutura básica que permite aproveitar todo o seu potencial. Nesse sentido, essas características são:
- Têm um nome ou identificador e um símbolo associado. Através desses dois valores é possível identificar e diferenciar os tokens entre si dentro da blockchain Ethereum.
- É capaz de lidar com os aspectos económicos básicos da sua emissão. Dados como o sistema de precisão decimal e emissão total são parte fundamental do token em sua estrutura de dados.
- Opera uma interface para controlar e rever os saldos dos endereços do seus proprietários. Desta forma, o token pode relatar o saldo total de fundos contido num endereço específico.
- Pode gerir o sistema de transferências de forma nativa. Isto ocorre porque o token possui funções para lidar com transferências de fundos.
- Além disso, o token é capaz de gerir autonomamente as retiradas parciais de fundos de um endereço. Por exemplo, se João tiver permissão para retirar 1000 ETH da conta de Maria, João poderá retirar 250 ETH numa primeira retirada. Nas retiradas subsequentes, João pode terminar a retirada do restante dos fundos, mas ele só pode ir até 1000 ETH. Um recurso chamado "Aprovado" e depende de outra chamada "Provisão".