Řešení pro fatální chyby

MasterChef má určité nedostatky, které lze během používání opravit, ale pouze pokud si je uživatelé uvědomují a co mohou dělat. Zde je řešení, podle Gleb Zykov a Vlada Korovnikova HashEx.

Decentralizované burzy (DEXes) bývaly poměrně vzácné teprve před dvěma lety, a přesto se dnes zdá, že jsou všude. Četné projekty mají své vlastní osobní DEXy. Stalo se to proto, že když se blockchainový projekt rozhodne spustit DEX, neudělá to úplně od nuly. Místo toho je základem kódu DEX často větev jednoho ze dvou hlavních DEX – Výměna sushi or palačinka swap.

Inteligentní smlouva Masterchef

Tyto dvě burzy způsobily velkou revoluci v prostoru DEX díky speciální chytré smlouvě zvané MasterChef. MasterChef se objevuje v obou z nich, a tak se také objevuje v každém DEX, který byl vyroben jako fork jednoho z těchto dvou. Každý nový DEX sdílí stejné funkce. Znamená to ale také, že sdílí nedostatky a zranitelnosti MasterChefa. 

Pojďme se tedy podívat na to, jaké problémy mohou uživatelé a vývojáři při jednání s MasterChefem potkat. Na co by si měli dát pozor? A jak by se k nim mělo přistupovat?

Jak DEXy fungují?

První věc, kterou je třeba poznamenat, je, že smlouva MasterChef je inteligentní smlouva napsaná v Solidity, která řídí, co může farma dělat a jak to může dělat. Ve většině projektů existuje několik inteligentních smluv, které sdílejí odpovědnost a práci. Ale pokud jde o protokoly založené na MasterChef, je to tato jediná smlouva, která se stará o vše týkající se zemědělství.

Decentralizované směnárny vám umožňují směňovat kryptoměny, aniž byste museli vkládat peníze na směnárnu peněženka. Místo toho vkládáte prostředky na chytré smlouvy z vlastní peněženky. Jste jedinou osobou, která to ovládá a máte přístup ke svým vlastním prostředkům, pokud smlouvy nemají zadní vrátka nebo zranitelnosti.

Další rozdíl spočívá v tom, že CEXy používají k nákupu a prodeji knihy objednávek. To znamená, že spojují kupující s prodávajícími, zatímco DEX používají AMM (Automated Market Výrobce) protokoly pro obchodování, které vypočítávají cenu aktiv v závislosti na tom, kolik likvidity je investováno.

Likvidita pochází z fondů likvidity, což jsou fondy, do kterých mohou uživatelé vkládat prostředky pro konkrétní páry a zpřístupňovat prostředky pro protokol. Když se pak někdo pokusí koupit aktiva pomocí tohoto páru, jeho příkaz je okamžitě splněn pomocí prostředků z fondu. Mezitím lidé, kteří vložili prostředky do fondu likvidity, získají LP tokeny pro tento konkrétní fond. To jim poskytuje právo sdílet odměny.

A pokud si někdy přejí získat své prostředky zpět, vše, co musí udělat, je vrátit LP tokeny, které obdrželi.

Jak možná víte, existuje několik způsobů generování výnosů z držby kryptoměn. Farmy poskytují další odměny za poskytování likvidity. Uživatelé přidávají likviditu do DEX, získávají LP tokeny a vkládají je na farmy.

MasterChef: Slabiny a chyby

Popsali jsme, jak fungují DEXy a jak fungují pooly likvidity. Pojďme se tedy blíže podívat na to, kde se zranitelnosti MasterChef objevují, jak ovlivňují proces a také jaký přístup musíte zvolit, abyste zajistili hladký průběh.

MasterChef je jediná chytrá smlouva používaná pro výnosy ze zemědělství poskytováním likvidity v DEXech. Bohužel má určité nedostatky, které lze během používání opravit, ale pouze pokud si je uživatelé uvědomují a co mohou dělat.

Prolomené účty

Jeden z největších problémů, na který je třeba si dávat pozor, se točí kolem kompromitace účtů vlastníků. SushiSwap v podstatě vynalezl metodu, která mu umožnila získat výhodu proti Uniswap. Tato metoda se točí kolem migrace aktiv z jedné burzy na druhou. Toto řeší smlouva pomocí samostatné funkce, která je přístupná pouze vlastníkovi smlouvy.

Tato migrace však může skončit vyladěním v podstatě na jakoukoli smlouvu, bez jakýchkoli limitů, což skončilo velkým nedopatřením. Pokud je tedy kompromitován účet vlastníka, může to mít za následek novou smlouvu o migraci, která odešle všechny základní tokeny LP ve všech zemědělských fondech na libovolnou adresu. To by vedlo k masivní ztrátě investovaného majetku.

Je třeba poznamenat, že tato funkce je nyní vývojářům známá, a proto je okamžitě odstraněna vidlice. Pokud však zůstane přítomen, mělo by to být okamžitě bráno jako červená vlajka.

Další věc, kterou je třeba poznamenat, je, že v některých vidlích MasterChef může vlastník smlouvy měnit emisní rychlost bez jakýchkoli omezení. Pokud je však účet kompromitován, útočník může nastavit velmi vysokou emisní rychlost, což by vedlo ke znehodnocení tokenu.

Existuje poměrně snadný způsob, jak to vyřešit jednoduše tím, že zajistíte, aby všechny funkce dostupné vlastníkovi smlouvy vyžadovaly autorizaci více podpisy. Tímto způsobem, pokud dojde ke kompromitaci jediné adresy, špatní herci by s tím moc nezmohli. Další věc, kterou musíte udělat, je přidat dočasný blok (smlouva Timelock) pro volání funkce migrace. Uživatel tak má více času na rozhodnutí a burza by vás musela upozornit na migraci nebo jinou podezřelou transakci.

Přidání identických zemědělských bazénů

Další poměrně zřejmý, ale přehlížený problém se objeví, když původní smlouva nepočítá se zpracováním stejných farmářských fondů, což znamená, že smlouva hrozí nesprávným vypočítáním farmářských odměn.

To není velký problém, pokud je MasterChef používán správně, protože vlastník by záměrně nepřidal stejné fondy. Ve správně fungujících burzách se tyto věci ověřují a vytváření duplicitních fondů je přísně zakázáno. Pokud tedy zahájíte vytváření fondu a vydáte se cestou vytvoření duplikátu existujícího fondu, systém by měl být schopen ohlásit chybu. Nebo navrhněte, abyste přidali své prostředky do stávajícího fondu namísto vytváření nového.

Nepočítá se množství vložených tokenů

Z nějakého důvodu mají lidé tendenci zapomínat uvažovat o tom, co by se mohlo stát, kdyby byly tokeny s provizemi za převody nebo rebase tokeny přidány jako fondy do smlouvy MasterChef. Co se stane, je zhroucení způsobu výpočtu odměn, protože kód smlouvy přidává aktiva do fondů pouze voláním určitých funkcí. To znamená, že přidání tokenů na adresu je zkombinuje s aktivy, které jsou již ve fondu. Výpočty odměn za takové tokeny však mohou být narušeny, což vede ke zranitelnosti.

Správně fungující platformy by měly vypočítat množství finančních prostředků převedených na zemědělství odděleně kontrolou skutečné převedené částky s ohledem na provize. Tímto způsobem jsou výpočty odměn provedeny správně.

MasterChef: Závěr

MasterChef je jediná chytrá smlouva používaná pro výnosy ze zemědělství poskytováním likvidity v DEXech. Bohužel má určité nedostatky, které lze během používání opravit, ale pouze pokud si je uživatelé uvědomují a co mohou dělat. 

Výše jsme popsali několik věcí, které se mohou stát, a jak se těmto problémům lze vyhnout. Nutno ale podotknout, že je jich více, například ředění odměn, pokud jsou tokeny zasílány přímo na smluvní adresu, problémy se změnami startovacího bloku, optimalizace plynu a další. 

Jinými slovy, existují zranitelnosti a problémy, které je třeba mít na paměti a sledovat je. Celkově je však MasterChef revoluční smlouvou, která do značné míry umožnila decentralizované směny. Takže pokud jej budete používat opatrně a budete si vědomi jeho nedostatků a toho, jak je opravit, měli byste být v pořádku.

O autorech

Gleb Zykov

Gleb Zykov je spoluzakladatelem a CTO ve společnosti a DeFi zabezpečení a analytická společnost HashEx.

â € <â € <Vlad Korovnikov je auditor a developer Junior Smart Contract.

Něco máštco říci o řešeních Masterchef nebo cokoli jiného? Napište nám nebo se zapojte do naší diskuze Telegramový kanál. Můžete nás také zastihnout Tik Tok, facebooknebo X.

Odmítnutí odpovědnosti

Veškeré informace obsažené na našich webových stránkách jsou publikovány v dobré víře a pouze pro obecné informační účely. Jakákoli akce, kterou čtenář provede na základě informací nalezených na našich webových stránkách, je výhradně na jeho vlastní riziko.

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