Заобиколните решения за фаталните недостатъци

MasterChef има определени недостатъци, които могат да бъдат отстранени по време на употреба, но само ако потребителите са наясно с тях и какво могат да направят. Ето решението, според Глеб Зиков и Влад Коровников от HashEx.

Децентрализирани обмени (DEX) са били доста редки само преди две кратки години, но днес изглежда, че са навсякъде. Множество проекти, които имат свои лични DEX. Това се случи, защото, когато блокчейн проект реши да стартира DEX, те не го правят изцяло от нулата. Вместо това, основата за кода на DEX често е разклонение на един от двата основни DEX - Смяна на суши or Размяна на палачинки.

Интелигентен договор на Masterchef

Тези два борса до голяма степен революционизираха DEX пространството благодарение на специален интелигентен договор, наречен MasterChef. MasterChef се появява и в двете, и така се появява и във всеки DEX, който е направен като вилица на един от тези два. Всеки нов DEX може да споделя същите функции. Но това също така означава, че споделя недостатъците и уязвимостите на MasterChef. 

Така че нека да разгледаме какви проблеми могат да срещнат потребителите и разработчиците, когато работят с MasterChef. На какво трябва да обърнат внимание? И как трябва да се подходи към тях?

Как работят DEX?

Първото нещо, което трябва да се отбележи, е, че договорът MasterChef е интелигентен договор, написан на Solidity, който контролира какво може да прави една ферма и как може да го направи. В повечето проекти има множество интелигентни договори, които споделят отговорността и работата. Но когато става въпрос за базирани на MasterChef протоколи, този единствен договор се грижи за всичко, свързано със земеделието.

Децентрализираните борси ви позволяват да обменяте криптовалути, без да се налага да депозирате пари в борсата портфейл. Вместо това депозирате средства в интелигентни договори от собствения си портфейл. Вие сте единственият човек, който го контролира и може да получите достъп до собствените си средства, ако договорите нямат задни врати или уязвимости.

Друга разлика се крие във факта, че CEXs използват книги за поръчки за покупка и продажба. Това означава, че те съпоставят купувачи с продавачи, докато DEX използват AMM (Автоматичен пазар Производител) протоколи за търговия, който изчислява цената на активите в зависимост от това колко ликвидност е инвестирана.

Ликвидността идва от пулове за ликвидност, които са пулове, в които потребителите могат да депозират средства за конкретни двойки и да предоставят средства за протокола. След това, когато някой се опита да закупи активи с помощта на тази двойка, поръчката му се изпълнява незабавно, като се използват средствата от пула. Междувременно хората, които са депозирали средства в ликвидния пул, получават LP токени за този конкретен пул. Това им дава право да споделят награди.

И ако някога пожелаят да си върнат средствата, всичко, което трябва да направят, е да върнат LP жетоните, които са получили.

Както може би знаете, има няколко начина за генериране добиви от крипто холдинги. Фермите дават допълнителни възнаграждения за осигуряване на ликвидност. Потребителите добавят ликвидност към DEX, получават LP токени и ги залагат във ферми.

MasterChef: Уязвимости и недостатъци

Разгледахме как работят DEX и как работят пуловете за ликвидност. И така, нека да разгледаме по-отблизо къде идват уязвимостите на MasterChef, как те влияят на процеса, както и какъв подход трябва да предприемете, за да гарантирате, че нещата ще вървят гладко.

MasterChef е единен интелигентен договор, използван за отглеждане на добив чрез предоставяне на ликвидност в DEX. За съжаление, той има определени недостатъци, които могат да бъдат отстранени по време на употреба, но само ако потребителите са наясно с тях и какво могат да направят.

Компрометирани акаунти

Един от най-големите проблеми, за които трябва да внимавате, се върти около компрометирането на акаунти на собственика. По принцип SushiSwap изобрети метод, който му позволи да спечели предимство срещу Uniswap. Този метод се върти около мигриране на активи от една борса на друга. Това се обработва от договора с помощта на отделна функция, която е достъпна само от собственика на договора.

Въпреки това, тази миграция може в крайна сметка да бъде настроена към всеки договор, без никакви ограничения, което в крайна сметка е сериозен пропуск. Така че, ако акаунтът на собственика е компрометиран, това може да доведе до нов договор за миграция, който ще изпрати всички основни LP токени във всички селскостопански пулове на произволен адрес. Това би довело до огромна загуба на инвестирани активи.

Трябва да се отбележи, че тази функция вече е позната на разработчиците и затова в крайна сметка се премахва веднага вилици. Въпреки това, ако остане, това трябва незабавно да се приеме като червен флаг.

Друго нещо, което трябва да се отбележи, е, че в някои форкове на MasterChef собственикът на договора може да промени скоростта на емисии без ограничения. Ако сметката е компрометирана обаче, нападателят може да зададе много голям процент на емисии, което би довело до обезценяване на токена.

Има доста лесен начин да се реши това, просто като се гарантира, че всички функции, достъпни за собственика на договора, изискват оторизация с множество подписи. По този начин, ако един адрес е компрометиран, лошите актьори няма да могат да направят много с него. Друго нещо, което трябва да направите, е да добавите временен блок (договор Timelock) при извикване на функцията за миграция. По този начин потребителят има повече време да вземе решение и борсата ще трябва да ви уведоми за миграцията или всяка друга подозрителна транзакция.

Добавяне на идентични земеделски пулове

Друг доста очевиден, но пренебрегван проблем се появява, когато първоначалният договор не отчита обработката на идентични земеделски пулове, което означава, че договорът заплашва да изчисли погрешно наградите за земеделие.

Това не е голям проблем, ако MasterChef се използва правилно, тъй като собственикът не би добавил идентични пулове нарочно. Всъщност в правилно работещите борси тези неща се проверяват и създаването на дублиран пул е строго забранено. Така че, ако започнете създаването на пул и се насочите по пътя на създаване на дубликат на съществуващия пул, системата трябва да може да докладва грешка. Или предлагайте да добавите средствата си към съществуващия пул, вместо да създавате нов.

Не се изчислява количеството депозирани токени

По някаква причина хората са склонни да забравят да обмислят какво може да се случи, ако токени с комисионни за трансфери или токени за повторно базиране се добавят като пулове към договора на MasterChef. Това, което се случва, е разбивка в начина, по който се изчисляват наградите, тъй като кодът на договора добавя активи към пулове само чрез извикване на определени функции. Това означава, че добавянето на токени към адреса ще ги комбинира с активите, които вече са в пула. Но изчисленията за награди за такива токени могат да бъдат нарушени, което води до уязвимости.

Правилно работещите платформи трябва да изчисляват отделно количеството средства, прехвърлени за земеделие, като проверяват действително преведената сума, която отчита комисионни. По този начин изчисленията на наградата се извършват правилно.

MasterChef: Заключение

MasterChef е единен интелигентен договор, използван за отглеждане на добив чрез предоставяне на ликвидност в DEX. За съжаление, той има определени недостатъци, които могат да бъдат отстранени по време на употреба, но само ако потребителите са наясно с тях и какво могат да направят. 

По-горе разгледахме няколко неща, които могат да се случат и как тези проблеми могат да бъдат избегнати. Но трябва да се отбележи, че има повече от тях, като например разводняване на наградите, ако токените се изпращат директно до адреса на договора, проблеми с промени в стартовия блок, оптимизации на газ и др. 

С други думи, има уязвимости и проблеми, които трябва да имате предвид и да следите. Но като цяло MasterChef е революционен договор, който в голяма степен е позволил децентрализирани обмени. Така че, стига да продължите да го използвате внимателно и да сте наясно с неговите недостатъци и как да ги поправите, трябва да сте добре.

За авторите

Глеб Зиков

Глеб Зиков е съосновател и технически директор в a Актив сигурност и аналитична компания HashEx.

â € <â € <Влад Коровников е младши одитор и разработчик на смарт договор.

Имам някоиtИскате ли да кажете за заобикалящите решения на Masterchef или нещо друго? Пишете ни или се присъединете към дискусията в нашата Телеграм канал. Можете също да ни хванете Tik Tok, Facebook или Twitter.

Отказ от отговорност

Цялата информация, съдържаща се на нашия уебсайт, се публикува добросъвестно и само за обща информация. Всяко действие, което читателят предприема спрямо информацията, намираща се на нашия уебсайт, е на свой собствен риск.

Източник: https://beincrypto.com/masterchef-smart-contracts-the-workarounds-for-the-fatal-flaws/