Hoje nós vamos falar das diferenças entre tokens fungíveis e não fungíveis, o que de fato cada um faz e qual a funcionalidade de cada um. A gente vai falar também sobre as questões de NFTs e stablecoins.
Antes de começar a falar de não fungível ou fungível e o que são esses termos, a gente vai falar sobre tokens. Para quem não está familiarizado com o universo dos criptos, token é o nome que denomina os ativos criados dentro de uma blockchain, então quando nós falamos de um token USDT, que é um token fungível, nós estamos falando de um ativo criado dentro de uma rede, nesse caso, a rede Ethereum. Os tokens não fungíveis seguem o mesmo princípio, porém utilizando um Smart Contract em uma blockchain que tem suporte para tal. A ideia dos Smart Contracts é possibilitar a criação de ativos a partir de uma blockchain já existente, e os tokens no formato ERC20 foram os primeiros criados dentro da rede Ethereum. ERC20 é um dos padrões de Smart Contracts para criação de ativos mais bem consolidados, com o qual com que você pode criar os tokens fungíveis na rede. Uma diferença que precisa ficar bem clara é que, por exemplo, o Ether não é um token, é a moeda corrente da rede Ethereum, e cada rede tem sua moeda própria. Você utiliza o Ether para pagar pelas transações dentro da blockchain: enviar os Smart Contracts de criação de tokens, emitir supply, etc. E o que vem a ser “emitir supply”? Quando você escreve o código de um token, é definida uma quantidade de unidades que vão ser emitidos inicialmente, e aí, dependendo do contrato, você pode posteriormente criar mais unidades ou não. Para isso você precisa fazer uma interação com esse contrato (e existem várias ferramentas ou você pode criar as suas próprias ferramentas para fazer essa interação, vou falar disso futuramente), para poder “mintar”, poder gerar novas unidades desse token.
Vamos fazer um paralelo aqui entre tokens fungíveis e não fungíveis e vamos explicar o que é cada um deles. Do lado dos tokens fungíveis nós temos, por exemplo, as stablecoins, como o USDC, o USDT e tudo é classificado com uma espécie de moeda, onde o valor unitário das unidades é sempre igual, então um USDC tem o mesmo valor de outro USDC, não tem distinção entre as unidades do mesmo token.
Já no caso dos tokens não fungíveis, um ativo dentro desse Smart Contract não é igual e não tem o mesmo valor de outra unidade desse token. A partir desse conceito de não ter uma comparação monetária, de não existir um valor igualitário entre esses tokens, surgiu o nome “não fungível”. O conceito desses tokens não fungíveis é criar ativos diversos dentro de um mesmo contrato, por exemplo, uma coleção de NFTs. São utilizados os padrões ERC721, ERC1155 e o recém surgido ERC721a (teoricamente mais barato para fazer os mints dos NFTs). Vamos fazer um comparativo com uma coisa que todo mundo conhece: um álbum de figurinhas da Copa. As cartinhas que vêm no pacotinho têm o mesmo tamanho, o mesmo formato, o que muda ali é o jogador que está presente naquela figurinha. Têm figurinhas que são mais raras e, consequentemente, têm maior valor, as tiragens menores são feitas intencionalmente, para ter esse comércio entre os ativos. Os NFTs surgiram desse princípio, de criar ativos que são diferentes entre si, mas que normalmente fazem parte de uma mesma coleção, então quando você pega, por exemplo, os CryptoPunks ou os Bored Ape, você vai ver que eles fazem parte de um ecossistema, o contrato é regido por parâmetros parecidos, são pequenas as variações entre cada um deles, mas é essa variação que torna aquele ativo único.
Mais uma coisa que eu acho importante falar sobre a questão de NFTs, de tokenização ou qualquer coisa que seja derivada desses princípios de tokens não fungíveis, é o que vai ser registrado de fato dentro da blockchain. A “imagenzinha do macaco” pode ser copiada por qualquer pessoa, o ponto não é o que está sendo visualmente exibido na tela, quando você gera um token não fungível a blockchain vai gerar um registro permanente de propriedade, como se fosse uma espécie de selo de autenticidade que, no mundo físico, é o equivalente à quando você vai comprar uma obra de arte, uma barra de ouro ou uma jóia muito cara e você tem os certificados de autenticidade. Então o que nós temos, de fato, dentro da blockchain é uma forma de conseguir identificar quem é o proprietário daquele ativo. Você pode tokenizar diversas coisas, hoje em dia até já se vê falando sobre a tokenização propriedades, por exemplo, e eu acho que pode evoluir para esse sentido, de registros, que hoje são feitos na junta comercial, no cartório ou na Prefeitura, começarem a ser tokenizáveis, até por uma questão de transparência e imutabilidade dos registros.
Na prática, quando a gente compara o padrão ERC20 com o ERC721, a diferença é que, no primeiro, uma unidade do token tem o mesmo valor de qualquer outra unidade, enquanto, no segundo, as unidades têm valores diferentes, porque elas não são iguais, mesmo fazendo parte de uma coleção e, para poder fazer essa diferenciação entre um ativo e outro, o ERC721 precisa de algumas informações a mais. Como no ERC20 os tokens com as mesmas características, basicamente o que a gente precisa saber é o saldo que cada carteira tem, dentro do contrato já é especificado o nome do ativo, a sigla e tudo mais. Já no caso do ERC721 ou do ERC1155, nós temos informações a mais, que são os chamados metadados, que são a forma de conseguir armazenar informações que, posteriormente, serão lidas por algum software, como o OpenSea, e vão exibir, de forma gráfica, esse ativo, seja um vídeo, uma imagem ou informações de raridade daquele NFT, dentro dos metadados você pode incluir qualquer tipo de informação.
E um ponto que eu acho importante relacionado aos metadados, é que muita gente se preocupa em ler e entender o Smart Contract em si, mas negligencia a forma como estão sendo armazenados os metadados dentro dos NFTs. Recentemente um programador fez um código cujos metadados apontavam para um servidor próprio e o código que gerava a exibição das imagens variava de acordo com o IP da pessoa que estava visualizando aquele NFT. Então o registro de propriedade daquele NFT estava lá, mas cada pessoa via aquela token com uma imagem diferente, porque o algoritmo codado por esse programador variava de acordo com o IP da pessoa. Depois ele escreveu um artigo falando sobre essa questão dos metadados dos NFTs e por que os NFTs podem sofrer problemas de registro.
Como uma forma de contornar esse problema dos metadados, projetos como o IPFS [InterPlanetary File System] são utilizados, pela questão da imutabilidade das informações. Uma coisa que eu levo muito a sério quando eu vou olhar um ativo é justamente ver se todas as informações, inclusive os metadados, estão dentro de um arquivo IPFS, porque estão eu tenho a garantia de que aquelas informações são imutáveis. Se esses ativos não estão em IPFS, existe a possibilidade de um desligamento dos servidores ou das informações serem alteradas (das informações dos metadados, não da propriedade). O que, na prática, pode acontecer se você tem um NFT que espelha imagem num servidor terceiro? Você perde a descentralização e a imutabilidade dos dados, então seu NFT pode ser alterado, a imagem pode ser alterada e você não tem certeza se aquilo que você comprou vai continuar sendo idêntico à forma originária, ao que você comprou. O uso de IPFS é bem comum e recomendado dentro do mercado de NFTs e tokens no geral, justamente pela questão da imutabilidade. Mas, mesmo você usando um padrão auditado de Smart Contract, ainda pode ter falhas de segurança e ter essas informações dos metadados dos NFTs espelhadas dentro de um servidor terceiro que pode ser alterado.
Eu estou tentando dar um resumo de tudo, do contexto e do conceito e, no canal do YouTube, eu vou soltar vídeos explicando detalhadamente como se criam Smart Contracts, tokens e NFTs, mas esse post tem como objetivo prover uma introdução conceitual sobre o tema para, quando a gente chegar lá na frente e for começar a escrever os nossos Smart Contracts, já ter um contexto mais bem definido sobre cada um e a aplicabilidade deles.
Por fim, eu vou fazer um uma observação com relação às stablecoins. Eu fiz um post recente falando sobre stablecoins, que vai ficar linkado aqui em baixo, com a minha opinião honesta sobre o tema, que parece ser uma ideia fenomenal você ter um ativo digital pareado em uma moeda FIAT, já que tem menos variações de preço, entre outras “vantagens”, entretanto a gente tem um problema, que é confiar na empresa custodiante desses ativos. Para cada stablecoin nós temos uma entidade ou uma empresa que cuida do lastro desse ativo, no caso do o USDT é a Tether, no caso do USDC o principal custodiante é o BNY Mellon, para o BUSD é a própria Binance quem provém o lastro da moeda. Nós tivemos um caso recente de uma moeda, que é um pouco diferente dessas que eu comentei agora, que é a Terra Luna e o UST, que virou pó, porque a empresa que fazia custódia dos dólares que dariam lastro para o UST não tinha, de fato, esses valores na reserva e, quando o UST perdeu lastro e a empresa não teve como repor esse dinheiro, a moeda foi caindo, perdendo credibilidade, até virar pó.
Perceba, normalmente as stablecoin são tokens ERC20 dentro da rede Ethereum, que nascem como uma forma positiva de simplificar a criação de novos ativos, mas também criam alguns problemas. A gente tem visto casos de projetos que captam milhões de dólares e somem, justamente utilizando esse tipo de tecnologia. Então, antes de investir numa cripto, no meu ponto de vista, você precisa entender os conceitos básicos da operação desses ativos, não simplesmente ir numa Exchange e comprar porque “um amigo recomendou”. Eu sempre deixo claro que eu não faço investimentos em cripto, eu sou minerador, então a única moeda que eu compro é o Bitcoin, e uso o USDC (eu não gosto da tese do Tether, até já falei do lastro do USDT no post sobre stablecoins que, para mim, em algum momento vai dar problema igual ao Terra Luna), mas eu só uso quando eu preciso enviar valores com lastro em dólar, aí sim eu converto para o USDC, para não ter a variação do Ethereum ou do Bitcoin naquele momento, mas são casos esporádicos, raros de acontecerem. Eu não mantenho capital em USDC, USDT ou nenhuma outra stablecoin, justamente pelo risco dessas moedas colapsarem.
Eu acho que esse resumo aqui de tokens chegou ao meu objetivo, de falar da diferença entre os tokens e fechar esse arco com stablecoins. Tem uma galera que me acusa de ser muito crítico a vários projetos e, de fato, eu preciso ser muito crítico porque nós estamos falando de dinheiro. No final do processo, alguém está comprando esses ativos e pode correr o risco de ir à falência se o projeto não for sólido. Por isso eu não colaboro com discurso que alguns analistas com relação às altcoins, eu falo sobre questões técnicas, falo como é que funciona cada um desses ativos. Se você quer investir ou não, é problema seu, porque, no final, se você perder o seu dinheiro, não vai fazer nenhuma diferença na minha vida. Mas eu acho super importante, antes de colocar um centavo que seja em qualquer ativo, entender como é que ele funciona na base. “Ah, é uma questão muito técnica, eu não sou técnico…” Cara, é uma questão de funcionamento. Você não aprendeu como é que funcionam os bancos, como é que se faz um Pix? É a mesma coisa, não existe uma lacuna tão grande de conhecimento entre essas duas áreas, tirando algumas terminologias, que você vai aprendendo ao longo do processo, mas que também não é nenhum bicho de sete cabeças.
O conteúdo desse post foi retirado do vídeo abaixo: