12 maio 2018

Tokens ERC20 - explicação simples


Entenda o que são tokens na plataforma do Ethereum. O canal Savjee no Youtube, fez um excelente vídeo simplificado explicando, confira abaixo. Se a legenda em português não estiver disponível, você pode acompanhar nossa tradução abaixo do vídeo.

Todos nós ouvimos sobre tokens ERC20, mas o que são esses tokens e mais importante: o que eles não são?

Para começar, vamos rapidamente aprender o básico: tokens ERC20 existem na plataforma Ethereum que em si consiste em uma blockchain que é capaz de armazenar transações e uma máquina virtual que é capaz de rodar contratos inteligentes.

É importante entender que os tokens vivem na blockchain do Ethereum. Assim se beneficiam de sua tecnologia. Não são independentes e confiam na plataforma do Ethereum.

A moeda nativa na rede Ethereum é o Ether.

Mas além de Ether, a rede também pode suportar outros tokens e estes podem funcionar como moedas mas eles também podem representar ações de uma empresa, pontos de fidelidade, certificados de ouro e assim por diante ...

Vamos primeiro entender como os tokens são criados.

Um token pode ser criado por um contrato inteligente. Este contrato não é apenas responsável por criar tokens, mas também por gerenciar transações do token e manter o controle de cada token do saldo de quem possui. Para obter alguns tokens, você tem que enviar uns Ether ao contrato inteligente, que então dará você uma certa quantidade de tokens em troca. Então, quando você quiser criar seu próprio token, você escreve um contrato inteligente que pode criar tokens, transferi-los e acompanhar os saldos das pessoas. Isso parece muito fácil, mas também é bastante arriscado.

Para começar, uma vez que um contrato inteligente é implantado não pode mais ser alterado, então se você fizer um erro, você não pode consertar-lo. Isso pode ser bem catastrófico. Imagine um bug dentro do código do seu contrato que faz com que as pessoas percam seus tokens ou um bug que permitiria que outras pessoas roubassem tokens. E depois há o problema da interoperabilidade.

Cada contrato de token pode ser completamente diferente do outro. Então, se você quiser que seu token esteja disponível em uma corretora, a corretora tem que escrever um código personalizado para que eles possam conversar com seu contrato e permitir que as pessoas negociem. A mesma coisa vale para os provedores de carteira. Suportar centenas de tokens seria muito complexo e demorado. Então, em vez disso, a comunidade propôs um padrão chamado ERC20. ERC significa “Ethereum Request for Comments” e 20 é apenas o número atribuído a uma proposta que criaria alguma estrutura no velho oeste dos tokens.

O ERC20 é uma diretriz ou padrão para quando você quer criar seu próprio token, que define 6 funções obrigatórias que o seu contrato inteligente deve implementar e 3 opcionais.

Para começar, você pode, opcionalmente, dar o seu token um nome, um símbolo e você pode controlar o quão divisível é o seu token especificando quantos decimais ele suporta. As funções obrigatórias são um pouco mais complexas: você tem que criar um método que define o fornecimento total do seu token, quando esse limite é atingido, o contrato inteligente se recusará a criar novos tokens.

Em seguida vem o método "balanceOf" que retorna quantos tokens um determinado endereço possui. Então existem dois métodos de transferência: "transfer" que pega uma certa quantidade de tokens da oferta total e dá a um usuário e "transferFrom", que pode ser usado para transferir tokens entre dois usuários que os possuem. Finalmente, há o "approve" e "allowance" métodos. "Approve" verifica se seu contrato pode dar uma certa quantidade de tokens para um usuário, levando em conta a oferta total. O método "allowance" é quase o mesmo exceto que ele verifica se um usuário tem saldo suficiente para enviar uma certa quantidade de tokens para outra pessoa.

Se você sabe alguma coisa sobre programação orientada a objetos, então você pode comparar ERC20 com uma interface. Se você quiser que seu token seja um token ERC20, você tem que implementar a interface do ERC20 e isso força você a implementar esses 6 métodos.

Antes de existir o padrão ERC20, todos que queriam criar um token tinha que reinventar a roda. E isso significava que cada contrato simbólico era ligeiramente diferente e que as trocas e carteiras tinham que escrever um código personalizado para apoiar seu token. 

Com ERC20 no entanto, trocas e provedores de carteira só tem que implementar o código uma vez. É por isso que as corretoras podem adicionar novos tokens tão rapidamente e por isso que carteiras como MyEtherWallet tem suporte para todos os tokens ERC20, sem ter que ser atualizado.

Então, quão fácil seria criar o seu próprio token?

Bem, há um site chamado TokenFactory que faz isso tudo por você. Você apenas digita quanto a oferta total do seu token deve ser, como você quer chamá-lo, quantos decimais deve suportar e que símbolo que ele deveria ter. Depois de preencher tudo isso, o site cria um contrato de token para você e adiciona-o ao Blockchain da Ethereum. É super fácil e quase sem esforço. Tão sem esforço na verdade que o site Etherscan tem uma lista de 36.000 tokens ERC20 conhecidos e estima-se que em 2017 mais de 4 bilhões dólares foi levantado pela venda de tokens em ICO.

No entanto, esses tokens nem sempre são limpos. Alguns foram realmente exagerados e muitas pessoas foram enganadas ao comprar tokens essencialmente sem valor.

O ERC20 é um ótimo padrão que impulsionou o uso de tokens. Mas o ERC20 em si não é perfeito. É apenas uma diretriz e as pessoas são livres para implementar as funções necessárias que elas gostam. Isso levou a alguns problemas interessantes.

Por exemplo: para comprar alguns tokens você tem que enviar alguns ether para o contrato do token. Mas algumas pessoas tentaram enviar outros ERC20 tokens em vez disso. Se o contrato não foi projetado com isto em mente, isso resultará na perda dos seus tokens. De fato, estimava-se que até dezembro 2017 mais de 3 milhões de dólares foram perdido por causa dessa falha. 

Então, para resolver isso, a comunidade já está trabalhando em estender o padrão ERC20 com o padrão ERC223. Isso avisa os criadores de tokens sobre esses riscos e oferece algumas soluções alternativas.

Saiba mais sobre criptomoedas clicando aqui.





~ Artigos recomendados para você:









Please Donate To Bitcoin Address: [[address]]





Donation of [[value]] BTC Received. Thank You.


[[error]]