O BNB é realmente um token ERC-20?. Há uma questão que gostaria de trazer aqui. Esta questão foi trazida à luz pela equipe por trás do Futereum, que encontrou um grande bug com o token Binance (BNB) que já deveria ter sido corrigido.
Se você dirigir-se ao Etherscan e procurar o token Binance, poderá ver que ele lê [ERC-20], o que significa que deve obedecer ao padrão ERC-20 lançado pela equipe Open Zeppelin, disponível aqui.
Claro, nenhum padrão é livre de bugs - não importa o quão grande uma equipe é. Apenas no ano passado, foi relatado que havia 130 tokens ERC-20 afetados por um problema onde as funções de transferência de contratos de token não retornaram nada quando chamados. Em essência, como explicado por Lukas Cremer, o problema era:
“O contrato de chamada envia uma chamada externa para o [BadToken], que processa a chamada, faz a transferência e não retorna um valor de retorno booleano. O contrato de chamada agora procura o valor de retorno na memória, mas uma vez que o token não escreveu um valor de retorno, ele tomará o que encontrar nesta posição de memória como o valor de retorno da chamada externa. Isso já é muito ruim: pegar alguns dados que estão em um slot de memória como um valor de retorno não é uma boa idéia.”
Qual o risco?
Como descrito acima, o maior risco é que um contrato inteligente que está esperando uma interface ERC-20 não será capaz de interagir com o contrato do token mais antigo (se compilado com a versão Solidity ≥ 0.4.22). Isso pode significar que os tokens que são enviados para tal contrato ficarão presos lá para sempre, mesmo que o contrato tenha uma função para transferir tokens ERC-20.
O problema parece ser muito maior para a Binance simplesmente porque está construindo sua própria troca descentralizada (DEX) e ecossistema blockchain. Posso pensar em duas situações problemáticas:
Os tokens BNB não podem ser enviados para uma troca descentralizada que compilou um contrato com a versão Solidity ≥ 0.4.22.
Se a Binance usa a mesma lógica de contrato inteligente para criar o Binance DEX, nenhum token ERC-20 funcionaria lá. Claro, isso é puramente especulação, pois a qualidade de desenvolvimento do token BNB não dita a qualidade da Binance.
Possíveis soluções?
Curiosamente, a Binance quer tokens ERC-20 para migrar para sua própria cadeia de blocos, a Binance Chain, o que parece um pouco rebuscado para mim. Estritamente falando, eu não vejo uma boa razão para uma equipe não ir com um protocolo muito mais seguro como Ethereum ou Stellar. A única vantagem que vejo é que os projetos podem ser capazes de economizar alguns (milhões) dólares em taxas de listagem, além disso, eles talvez tenham uma palavra a dizer sobre o consenso blockchain, pois será baseado em DPOs.
Em uma entrevista recente, o fundador da Binance Changpeng 'CZ' Zhao disse:
“A Binance Coin irá migrar para a Cadeia Binance como uma moeda nativa. Também estamos incentivando outros tokens ERC-20 a migrar para Binance Chain. Há muitos benefícios para fazer isso. Binance Chain é uma cadeia mais rápida; é super fácil criar um token na Binance Chain. Não há contratos inteligentes para programar, é mais seguro, há menos espaço para bugs [...]”
Se o objetivo da tecnologia blockchain é aumentar a descentralização, esta parece a maneira errada de promovê-la. Ainda assim, como CZ nos lembrou durante uma entrevista em Ivan on Tech, Binance é uma empresa privada cujo objetivo é ganhar dinheiro (e aposto o máximo possível).
Devemos deixar o futuro das criptomoedas nas mãos de outra empresa privada?
A Binance criou um produto significativo que conecta milhões de usuários todos os dias. Eu mesmo tenho sido um usuário regular da Binance desde a sua criação, e posso dizer com segurança que tem uma das melhores interfaces de usuário lá fora.
Espero que a Binance DEX prove que estou errada e que todo o ecossistema será verdadeiramente descentralizado.
George Town, Grand Cayman, 22nd November 2024, Chainwire
Las Vegas, US, 1st November 2024, Chainwire
From digital art to real-estate assets, NFTs have become a significant attraction for investors who…
Singapore, Singapore, 21st October 2024, Chainwire
HO CHI MINH, Vietnam, 17th October 2024, Chainwire
London, UK, 16th October 2024, Chainwire