As soluções alternativas para as falhas fatais

O MasterChef tem certas falhas que podem ser corrigidas durante o uso, mas somente se os usuários estiverem cientes delas e do que podem fazer. Aqui está a solução alternativa, de acordo com Gleb Zykov e Vlad Korovnikov de HashEx.

Trocas descentralizadas (DEXes) costumavam ser bastante raros apenas dois anos atrás, e ainda hoje, parece que eles estão em toda parte. Numerosos projetos com seus próprios DEXes pessoais. Isso aconteceu porque, quando um projeto de blockchain decide lançar um DEX, eles não o fazem inteiramente do zero. Em vez disso, a base para o código do DEX geralmente é uma bifurcação de um dos dois principais DEXs — Sushiswap. or PancakeSwap.

Contrato Inteligente Masterchef

Essas duas exchanges praticamente revolucionaram o espaço DEX graças a um contrato inteligente especial chamado MasterChef. MasterChef aparece em ambos, e assim também aparece em qualquer DEX que foi feita como um fork de um desses dois. Cada nova DEX compartilha os mesmos recursos. Mas também significa que compartilha as deficiências e vulnerabilidades do MasterChef. 

Então, vamos dar uma olhada em quais problemas os usuários e desenvolvedores podem encontrar ao lidar com o MasterChef. O que eles devem prestar atenção? E como eles devem ser abordados?

Como funcionam os DEX?

A primeira coisa a notar é que um contrato MasterChef é um contrato inteligente escrito em Solidity que controla o que uma fazenda pode fazer e como ela pode fazê-lo. Na maioria dos projetos, existem vários contratos inteligentes compartilhando a responsabilidade e o trabalho. Mas quando se trata de protocolos baseados no MasterChef, é este único contrato que cuida de tudo relacionado à agricultura.

As exchanges descentralizadas permitem que você troque criptomoedas sem ter que depositar dinheiro nas exchanges wallet. Em vez disso, você deposita fundos em contratos inteligentes de sua própria carteira. Você é a única pessoa que o controla e pode acessar seus próprios fundos se os contratos não tiverem backdoors ou vulnerabilidades.

Outra diferença está no fato de que os CEXs utilizam livros de pedidos para compra e venda. Isso significa que eles combinam compradores com vendedores, enquanto os DEXs usam AMM (Automated Market Maker) protocolos de negociação, que calculam o preço dos ativos dependendo da quantidade de liquidez investida.

A liquidez vem de pools de liquidez, que são pools para os quais os usuários podem depositar fundos para pares específicos e disponibilizar fundos para o protocolo. Então, quando alguém tenta comprar ativos usando esse par, seu pedido é imediatamente atendido usando os fundos do pool. Enquanto isso, as pessoas que depositaram fundos no pool de liquidez obtêm tokens LP para esse pool específico. Isso lhes dá o direito de compartilhar recompensas.

E, se eles quiserem recuperar seus fundos, tudo o que precisam fazer é devolver os tokens LP que receberam.

Como você deve saber, existem várias maneiras de gerar rendimentos das participações em criptomoedas. As fazendas oferecem recompensas adicionais por fornecer liquidez. Os usuários adicionam liquidez aos DEXes, obtêm tokens LP e os apostam em fazendas.

MasterChef: Vulnerabilidades e falhas

Cobrimos como os DEXes funcionam e como funcionam os pools de liquidez. Então, vamos dar uma olhada mais de perto em onde as vulnerabilidades do MasterChef entram, como elas afetam o processo, bem como qual abordagem você precisa adotar para garantir que as coisas continuem indo bem.

MasterChef é um único contrato inteligente usado para o rendimento agrícola, fornecendo liquidez em DEXes. Infelizmente, ele possui algumas falhas que podem ser corrigidas durante o uso, mas somente se os usuários estiverem cientes delas e do que podem fazer.

Contas comprometidas

Um dos maiores problemas a serem observados gira em torno do comprometimento das contas do proprietário. Basicamente, o SushiSwap inventou um método que lhe permitiu ganhar vantagem contra o Uniswap. Esse método gira em torno da migração de ativos de uma exchange para outra. Isso é tratado pelo contrato usando uma função separada que só é acessível pelo proprietário do contrato.

No entanto, essa migração pode acabar sendo ajustada para basicamente qualquer contrato, sem limites, o que acabou sendo um grande descuido. Portanto, se a conta do proprietário for comprometida, isso pode resultar em um novo contrato de migração que enviaria todos os tokens LP básicos em todos os pools de farm para um endereço arbitrário. Isso levaria a uma perda maciça de ativos investidos.

Deve-se notar que esta função agora é familiar para os desenvolvedores, e por isso acaba sendo removida imediatamente no forks. No entanto, se permanecer presente, isso deve ser considerado instantaneamente como uma bandeira vermelha.

Outra coisa a notar é que, em alguns garfos MasterChef, o dono do contrato pode alterar a taxa de emissão sem limites. Se a conta for comprometida, no entanto, um invasor pode definir uma taxa de emissão muito grande, o que levaria à desvalorização do token.

Existe uma maneira bastante fácil de resolver isso simplesmente garantindo que todos os recursos disponíveis para o proprietário do contrato exijam autorização de várias assinaturas. Dessa forma, se um único endereço for comprometido, os maus atores não poderão fazer muito com ele. Outra coisa a fazer é adicionar um bloco temporário (contrato Timelock) ao chamar a função de migração. Dessa forma, o usuário tem mais tempo para tomar uma decisão, e a exchange teria que notificá-lo sobre a migração ou qualquer outra transação suspeita.

Adicionando pools agrícolas idênticos

Outra questão bastante óbvia, mas negligenciada, surge quando o contrato original não leva em conta o processamento de pools agrícolas idênticos, o que significa que o contrato ameaça calcular erroneamente as recompensas agrícolas.

Este não é um grande problema se o MasterChef for usado corretamente, pois o proprietário não adicionaria pools idênticos de propósito. Na verdade, em trocas que funcionam corretamente, essas coisas são verificadas e a criação de um pool duplicado é fortemente proibida. Portanto, se você iniciar a criação do pool e estiver seguindo o caminho de criar uma duplicata do pool existente, o sistema poderá relatar um erro. Ou sugira que você adicione seus fundos ao pool existente em vez de fazer um novo.

Não calcular a quantidade de tokens depositados

Por alguma razão, as pessoas tendem a esquecer de considerar o que pode acontecer se tokens com comissões sobre transferências ou tokens de rebase forem adicionados como pools ao contrato MasterChef. O que acontece é um detalhamento na forma como as recompensas são calculadas, já que o código do contrato adiciona ativos aos pools apenas chamando determinadas funções. Isso significa que adicionar tokens ao endereço os combinará com os ativos já no pool. Mas os cálculos de recompensas para esses tokens podem ser quebrados, o que leva a vulnerabilidades.

Plataformas em operação adequada devem calcular a quantidade de recursos transferidos para a agricultura separadamente, verificando o valor real transferido que considera comissões. Dessa forma, os cálculos de recompensa são feitos corretamente.

MasterChef: Conclusão

MasterChef é um único contrato inteligente usado para o rendimento agrícola, fornecendo liquidez em DEXes. Infelizmente, ele possui algumas falhas que podem ser corrigidas durante o uso, mas somente se os usuários estiverem cientes delas e do que podem fazer. 

Acima, abordamos várias coisas que podem acontecer e como esses problemas podem ser evitados. Mas deve-se notar que há mais deles, como diluição de recompensas se os tokens forem enviados diretamente para o endereço do contrato, problemas com alterações do bloco inicial, otimizações de gás e muito mais. 

Em outras palavras, há vulnerabilidades e problemas para se ter em mente e ficar de olho. Mas, no geral, o MasterChef é um contrato revolucionário que praticamente permitiu trocas descentralizadas. Portanto, contanto que você continue usando-o com cuidado e esteja ciente de suas falhas e de como corrigi-las, você deve ficar bem.

Sobre os autores

Gleb Zykov

Gleb Zykov é o cofundador e CTO de uma DeFi segurança e empresa de análise HashEx.

⠀ <⠀ <Vlad Korovnikov é o auditor e desenvolvedor do Smart Contract Junior.

Tenho algunstO que dizer sobre soluções alternativas do Masterchef ou qualquer outra coisa? Escreva para nós ou participe da discussão em nosso Canal de telegrama. Você também pode nos pegar Tik Tok, Facebookou Twitter.

Aviso Legal

Todas as informações contidas em nosso site são publicadas de boa fé e apenas para fins de informação geral. Qualquer ação que o leitor tome com base nas informações contidas em nosso site é por sua própria conta e risco.

Fonte: https://beincrypto.com/masterchef-smart-contracts-the-workarounds-for-the-fatal-flaws/