De oplossingen voor de fatale gebreken

MasterChef heeft bepaalde tekortkomingen die tijdens het gebruik kunnen worden verholpen, maar alleen als de gebruikers hiervan op de hoogte zijn en weten wat ze kunnen doen. Hier is de oplossing, volgens Gleb Zykov en Vlad Korovnikov van HashEx.

Decentrale uitwisselingen (DEX's) waren nog maar twee jaar geleden vrij zeldzaam, en toch lijkt het erop dat ze tegenwoordig overal zijn. Talrijke projecten met hun eigen persoonlijke DEXen. Dit gebeurde omdat, wanneer een blockchain-project besluit een DEX te lanceren, ze het niet helemaal vanaf nul maken. In plaats daarvan is de basis voor de DEX-code vaak een afsplitsing van een van de twee belangrijkste DEXen: SushiRuil or PannenkoekRuil.

Masterchef Smart-contract

Deze twee uitwisselingen zorgden voor een revolutie in de DEX-ruimte dankzij een speciaal slim contract genaamd MasterChef. MasterChef komt in beide voor, en dus ook in elke DEX die als vork van een van deze twee is gemaakt. Elke nieuwe DEX krijgt dezelfde functies. Maar het betekent ook dat het de tekortkomingen en kwetsbaarheden van MasterChef deelt. 

Laten we dus eens kijken welke problemen gebruikers en ontwikkelaars kunnen tegenkomen bij het omgaan met MasterChef. Waar moeten ze op letten? En hoe moeten ze benaderd worden?

Hoe werken DEXen?

Het eerste dat je moet opmerken is dat een MasterChef-contract een slim contract is, geschreven in Solidity, dat bepaalt wat een boerderij kan doen, en hoe het dat kan doen. In de meeste projecten zijn er meerdere slimme contracten die de verantwoordelijkheid en het werk delen. Maar als het gaat om op MasterChef gebaseerde protocollen, is het dit ene contract dat alles met betrekking tot de landbouw regelt.

Met gedecentraliseerde beurzen kunt u cryptocurrencies uitwisselen zonder dat u geld op de beurs hoeft te storten portemonnee. In plaats daarvan stort u geld op slimme contracten vanuit uw eigen portemonnee. U bent de enige persoon die er controle over heeft en toegang heeft tot uw eigen geld als de contracten geen achterdeurtjes of kwetsbaarheden bevatten.

Een ander verschil ligt in het feit dat CEX's orderboeken gebruiken voor kopen en verkopen. Dit betekent dat ze kopers met verkopers matchen, terwijl DEX's AMM (Automated Market Maker) handelsprotocollen, die de prijs van de activa berekenen, afhankelijk van hoeveel liquiditeit er wordt geïnvesteerd.

Liquiditeit komt uit liquiditeitspools, dit zijn pools waarin gebruikers geld kunnen storten voor specifieke paren en geld beschikbaar kunnen stellen voor het protocol. Wanneer iemand vervolgens activa probeert te kopen met dat paar, wordt zijn bestelling onmiddellijk uitgevoerd met het geld uit de pool. Ondertussen krijgen mensen die geld in de liquiditeitspool hebben gestort LP-tokens voor die specifieke pool. Dit geeft hen het recht om beloningen te delen.

En als ze ooit hun geld terug willen krijgen, hoeven ze alleen maar de LP-tokens terug te geven die ze hebben ontvangen.

Zoals u wellicht weet, zijn er meerdere manieren om te genereren opbrengsten uit crypto-bezit. Boerderijen geven extra beloningen voor het verstrekken van liquiditeit. Gebruikers voegen liquiditeit toe aan DEXen, krijgen LP-tokens en zetten deze in boerderijen.

MasterChef: Kwetsbaarheden en gebreken

We hebben besproken hoe DEXen werken en hoe liquiditeitspools werken. Laten we dus eens nader bekijken waar de MasterChef-kwetsbaarheden een rol spelen, hoe ze het proces beïnvloeden en welke aanpak u moet volgen om ervoor te zorgen dat alles soepel blijft verlopen.

MasterChef is een enkel slim contract dat wordt gebruikt voor landbouwopbrengsten door liquiditeit te bieden in DEX's. Helaas heeft het bepaalde gebreken die tijdens het gebruik kunnen worden verholpen, maar alleen als de gebruikers zich ervan bewust zijn en weten wat ze kunnen doen.

Gecompromitteerde accounts

Een van de grootste problemen waar u op moet letten, is dat de accounts van de eigenaren worden gecompromitteerd. Kortom, SushiSwap heeft een methode uitgevonden waarmee het een voorsprong kon krijgen op Uniswap. Die methode draait om het migreren van activa van de ene beurs naar de andere. Dit wordt door het contract afgehandeld met behulp van een aparte functie die alleen toegankelijk is voor de eigenaar van het contract.

Deze migratie kan echter uiteindelijk worden afgestemd op vrijwel elk contract, zonder enige beperking, wat uiteindelijk een grote vergissing werd. Dus als het eigenaarsaccount wordt gecompromitteerd, kan dit resulteren in een nieuw migratiecontract dat alle basis-LP-tokens in alle landbouwpools naar een willekeurig adres stuurt. Dit zou leiden tot een enorm verlies aan geïnvesteerd vermogen.

Opgemerkt moet worden dat deze functie nu bekend is bij ontwikkelaars, en daarom wordt deze meteen verwijderd vorken. Als het echter aanwezig blijft, moet dat onmiddellijk als een rode vlag worden opgevat.

Een ander ding om op te merken is dat bij sommige MasterChef-vorken de eigenaar van het contract de emissiesnelheid zonder enige beperking kan wijzigen. Als het account echter wordt gecompromitteerd, kan een aanvaller een zeer hoge emissiesnelheid instellen, wat zou leiden tot de devaluatie van het token.

Er is een vrij eenvoudige manier om dit op te lossen door er simpelweg voor te zorgen dat alle functies die beschikbaar zijn voor de eigenaar van het contract autorisatie met meerdere handtekeningen vereisen. Op die manier zouden slechte actoren er niet veel mee kunnen doen als een enkel adres in gevaar komt. Een ander ding dat u kunt doen, is een tijdelijk blok (Timelock-contract) toevoegen aan het aanroepen van de migratiefunctie. Op deze manier heeft de gebruiker meer tijd om een ​​beslissing te nemen en zou de centrale u op de hoogte moeten stellen van de migratie of een andere verdachte transactie.

Identieke landbouwpools toevoegen

Een ander voor de hand liggend maar over het hoofd gezien probleem komt naar voren wanneer het oorspronkelijke contract geen rekening houdt met de verwerking van identieke landbouwpools, wat betekent dat het contract de landbouwbeloningen verkeerd dreigt te berekenen.

Dit is geen groot probleem als de MasterChef correct wordt gebruikt, omdat de eigenaar niet met opzet identieke pools zou toevoegen. In feite worden deze dingen bij goed functionerende uitwisselingen geverifieerd en is het creëren van een dubbele pool ten strengste verboden. Dus als u begint met het maken van de pool en u op weg bent naar het maken van een duplicaat van de bestaande pool, zou het systeem een ​​fout moeten kunnen rapporteren. Of stel voor dat u uw geld aan de bestaande pool toevoegt in plaats van een nieuwe aan te maken.

Het aantal gestorte tokens wordt niet berekend

Om de een of andere reden hebben mensen de neiging om te vergeten na te denken over wat er zou kunnen gebeuren als tokens met commissies op overdrachten of rebase-tokens als pools aan het MasterChef-contract worden toegevoegd. Wat er wel gebeurt, is een storing in de manier waarop de beloningen worden berekend, omdat de contractcode alleen activa aan pools toevoegt door bepaalde functies aan te roepen. Dit betekent dat het toevoegen van tokens aan het adres deze zal combineren met de activa die al in de pool zitten. Maar de berekeningen voor beloningen voor dergelijke tokens kunnen worden verbroken, wat tot kwetsbaarheden leidt.

Goed opererende platforms moeten de hoeveelheid geld die voor de landbouw wordt overgedragen afzonderlijk berekenen door het daadwerkelijk overgedragen bedrag te controleren, waarbij rekening wordt gehouden met commissies. Op deze manier worden de beloningsberekeningen correct uitgevoerd.

MasterChef: Conclusie

MasterChef is een enkel slim contract dat wordt gebruikt voor landbouwopbrengsten door liquiditeit te bieden in DEX's. Helaas heeft het bepaalde gebreken die tijdens het gebruik kunnen worden verholpen, maar alleen als de gebruikers zich ervan bewust zijn en weten wat ze kunnen doen. 

Hierboven hebben we verschillende dingen besproken die kunnen gebeuren en hoe deze problemen kunnen worden vermeden. Maar er moet worden opgemerkt dat er meer van zijn, zoals verwatering van beloningen als tokens rechtstreeks naar het contractadres worden verzonden, problemen met startblokwijzigingen, gasoptimalisaties en meer. 

Met andere woorden: er zijn kwetsbaarheden en problemen waarmee u rekening moet houden en die u in de gaten moet houden. Maar over het algemeen is MasterChef een revolutionair contract dat vrijwel gedecentraliseerde uitwisselingen mogelijk heeft gemaakt. Dus zolang je het zorgvuldig blijft gebruiken en je bewust blijft van de tekortkomingen en hoe je deze kunt oplossen, komt alles goed.

Over de auteurs

Gleb Zykov

Gleb Zykov is mede-oprichter en CTO bij a Defi veiligheid en analysebedrijf HashEx.

â € <â € <Vlad Korovnikov is de Junior Smart Contract auditor en ontwikkelaar.

Ik heb wattWat te zeggen over Masterchef-oplossingen of iets anders? Neem contact met ons op of discussieer mee in onze Telegram-kanaal. Je kunt ons ook pakken op Kruis aan Tok, Facebookof Twitter.

Disclaimer

Alle informatie op onze website wordt te goeder trouw en uitsluitend voor algemene informatiedoeleinden gepubliceerd. Elke actie die de lezer onderneemt naar aanleiding van de informatie op onze website, is strikt op eigen risico.

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