Le soluzioni per i difetti fatali

MasterChef ha alcuni difetti che possono essere corretti durante l'uso, ma solo se gli utenti ne sono consapevoli e cosa possono fare. Ecco la soluzione alternativa, secondo Gleb Zikov e Vlad Korovnikov di Hashex.

Scambi decentralizzati (DEX) erano piuttosto rari solo due anni fa, eppure oggi sembra che siano ovunque. Numerosi progetti con i propri DEX personali. Questo è successo perché, quando un progetto blockchain decide di lanciare un DEX, non lo fa completamente da zero. Invece, la base per il codice del DEX è spesso un fork di uno dei due principali DEX: Sushi Swap or Scambio di pancake.

Contratto intelligente Masterchef

Questi due scambi hanno praticamente rivoluzionato lo spazio DEX grazie a uno speciale contratto intelligente chiamato MasterChef. MasterChef appare in entrambi, e quindi appare anche in qualsiasi DEX creato come fork di uno di questi due. Ogni nuovo DEX condivide le stesse caratteristiche. Ma significa anche che condivide le carenze e le vulnerabilità di MasterChef. 

Diamo quindi un'occhiata a quali problemi possono incontrare utenti e sviluppatori quando hanno a che fare con MasterChef. A cosa dovrebbero prestare attenzione? E come dovrebbero essere affrontati?

Come funzionano i DEX?

La prima cosa da notare è che un contratto MasterChef è uno smart contract scritto in Solidity che controlla cosa può fare una fattoria e come può farlo. Nella maggior parte dei progetti, ci sono più contratti intelligenti che condividono la responsabilità e il lavoro. Ma quando si tratta di protocolli basati su MasterChef, è questo contratto unico che si occupa di tutto ciò che riguarda l'agricoltura.

Gli scambi decentralizzati ti consentono di scambiare criptovalute senza dover depositare denaro negli scambi portafoglio. Invece, depositi fondi su contratti intelligenti dal tuo portafoglio. Sei l'unica persona che lo controlla e può accedere ai tuoi fondi se i contratti non hanno backdoor o vulnerabilità.

Un'altra differenza sta nel fatto che i CEX utilizzano i libri degli ordini per l'acquisto e la vendita. Ciò significa che abbinano acquirenti e venditori, mentre i DEX utilizzano AMM (Automated Market Maker) protocolli di negoziazione, che calcola il prezzo degli asset in funzione di quanta liquidità viene investita.

La liquidità proviene dai pool di liquidità, che sono pool in cui gli utenti possono depositare fondi per coppie specifiche e rendere disponibili fondi per il protocollo. Quindi, quando qualcuno tenta di acquistare asset utilizzando quella coppia, il suo ordine viene immediatamente evaso utilizzando i fondi del pool. Nel frattempo, le persone che hanno depositato fondi nel pool di liquidità ottengono token LP per quel pool specifico. Ciò conferisce loro il diritto di condividere i premi.

E, se mai desiderano riavere i loro fondi, tutto ciò che devono fare è restituire i gettoni LP che hanno ricevuto.

Come forse saprai, ci sono diversi modi per generare i rendimenti da criptovalute. Le fattorie danno ricompense aggiuntive per la fornitura di liquidità. Gli utenti aggiungono liquidità ai DEX, ottengono token LP e li mettono in staking nelle fattorie.

MasterChef: Vulnerabilità e difetti

Abbiamo spiegato come funzionano i DEX e come funzionano i pool di liquidità. Quindi, diamo un'occhiata più da vicino a dove entrano in gioco le vulnerabilità di MasterChef, come influenzano il processo e quale approccio devi adottare per assicurarti che le cose vadano senza intoppi.

MasterChef è un singolo contratto intelligente utilizzato per la resa agricola fornendo liquidità in DEX. Sfortunatamente, ha alcuni difetti che possono essere corretti durante l'uso, ma solo se gli utenti ne sono consapevoli e cosa possono fare.

Account compromessi

Uno dei maggiori problemi a cui prestare attenzione ruota attorno alla compromissione degli account dei proprietari. Fondamentalmente, SushiSwap ha inventato un metodo che gli ha permesso di ottenere un vantaggio contro Uniswap. Questo metodo ruota attorno alla migrazione delle risorse da uno scambio all'altro. Questo viene gestito dal contratto utilizzando una funzione separata accessibile solo dal titolare del contratto.

Tuttavia, questa migrazione può finire per essere sintonizzata praticamente su qualsiasi contratto, senza alcun limite, il che si è rivelato una grave svista. Pertanto, se l'account del proprietario è compromesso, ciò può comportare un nuovo contratto di migrazione che invierebbe tutti i token LP di base in tutti i pool di allevamento a un indirizzo arbitrario. Ciò comporterebbe una massiccia perdita di asset investiti.

Va notato che questa funzione è ora familiare agli sviluppatori e quindi finisce per essere rimossa immediatamente forchette. Tuttavia, se rimane presente, dovrebbe essere immediatamente presa come una bandiera rossa.

Un'altra cosa da notare è che, in alcuni fork MasterChef, il titolare del contratto può modificare il tasso di emissione senza alcun limite. Se l'account è compromesso, tuttavia, un utente malintenzionato potrebbe impostare un tasso di emissione molto elevato, che porterebbe alla svalutazione del token.

C'è un modo abbastanza semplice per risolvere questo problema semplicemente assicurando che tutte le funzionalità disponibili per il proprietario del contratto richiedano un'autorizzazione con più firme. In questo modo, se un singolo indirizzo è compromesso, i malintenzionati non sarebbero in grado di farci molto. Un'altra cosa da fare è aggiungere un blocco temporaneo (contratto Timelock) alla chiamata della funzione di migrazione. In questo modo, l'utente ha più tempo per prendere una decisione e lo scambio dovrebbe informarti della migrazione o di qualsiasi altra transazione sospetta.

Aggiunta di piscine agricole identiche

Un altro problema abbastanza ovvio ma trascurato emerge quando il contratto originale non tiene conto dell'elaborazione di pool di allevamento identici, il che significa che il contratto minaccia di calcolare in modo errato i premi di allevamento.

Questo non è un grosso problema se MasterChef viene utilizzato correttamente, poiché il proprietario non aggiungerebbe di proposito pool identici. Infatti, negli scambi che funzionano correttamente, queste cose vengono verificate ed è fortemente vietato creare un pool di duplicati. Quindi, se si avvia la creazione del pool e si è diretti verso la creazione di un duplicato del pool esistente, il sistema dovrebbe essere in grado di segnalare un errore. Oppure, suggerisci di aggiungere i tuoi fondi al pool esistente invece di crearne uno nuovo.

Non calcolando la quantità di gettoni depositati

Per qualche motivo, le persone tendono a dimenticare di considerare cosa potrebbe accadere se i token con commissioni sui trasferimenti o i token di rebase venissero aggiunti come pool al contratto MasterChef. Quello che succede è un'interruzione nel modo in cui vengono calcolati i premi, poiché il codice del contratto aggiunge risorse ai pool solo chiamando determinate funzioni. Ciò significa che l'aggiunta di token all'indirizzo li combinerà con gli asset già presenti nel pool. Ma i calcoli per i premi per tali token potrebbero essere interrotti, il che porta a vulnerabilità.

Le piattaforme correttamente operative dovrebbero calcolare separatamente la quantità di fondi trasferiti per l'agricoltura controllando l'importo effettivo trasferito che tenga conto delle commissioni. In questo modo, i calcoli della ricompensa vengono eseguiti correttamente.

MasterChef: Conclusione

MasterChef è un singolo contratto intelligente utilizzato per la resa agricola fornendo liquidità in DEX. Sfortunatamente, ha alcuni difetti che possono essere corretti durante l'uso, ma solo se gli utenti ne sono consapevoli e cosa possono fare. 

Sopra abbiamo trattato diverse cose che possono accadere e come questi problemi possono essere evitati. Ma va notato che ce ne sono di più, come la diluizione dei premi se i token vengono inviati direttamente all'indirizzo del contratto, problemi con le modifiche ai blocchi di avvio, ottimizzazioni del gas e altro ancora. 

In altre parole, ci sono vulnerabilità e problemi da tenere a mente e da tenere d'occhio. Ma nel complesso, MasterChef è un contratto rivoluzionario che ha praticamente consentito scambi decentralizzati. Quindi, finché continui a usarlo con attenzione e rimani consapevole dei suoi difetti e di come risolverli, dovresti stare bene.

Circa gli autori

Gleb Zikov

Gleb Zikov è il co-fondatore e CTO di a DeFi problemi di e società di analisi Hashex.

​​Vlad Korovnikov è il revisore e sviluppatore di Junior Smart Contract.

Ho qualchetcosa dire sulle soluzioni alternative di Masterchef o altro? Scrivici oppure partecipa alla discussione nel ns Canale Telegram. Puoi anche beccarci Tik Tok, Facebook, o Twitter.

Negazione di responsabilità

Tutte le informazioni contenute nel nostro sito web sono pubblicate in buona fede e solo a scopo di informazione generale. Qualsiasi azione intrapresa dal lettore sulle informazioni trovate sul nostro sito web è rigorosamente a proprio rischio.

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