Абыходныя шляхі для фатальных недахопаў

У MasterChef ёсць пэўныя недахопы, якія можна выправіць падчас выкарыстання, але толькі ў тым выпадку, калі карыстальнікі ведаюць пра іх і што яны могуць зрабіць. Вось абыходны шлях, паводле Глеб Зыкаў і Улад Кароўнікаў HashEx.

Дэцэнтралізаваныя абмены (DEX) раней былі даволі рэдкімі толькі два кароткія гады таму, а сёння, здаецца, яны паўсюль. Шматлікія праекты, якія маюць свае асабістыя DEX. Гэта адбылося таму, што, калі праект blockchain вырашае запусціць DEX, яны не робяць гэта цалкам з нуля. Замест гэтага асновай кода DEX часта з'яўляецца форк аднаго з двух асноўных DEX - Замена сушы or Абмен блінамі.

Смарт-кантракт Masterchef

Гэтыя дзве біржы ў значнай ступені зрабілі рэвалюцыю ў прасторы DEX дзякуючы спецыяльнаму смарт-кантракту пад назвай MasterChef. MasterChef з'яўляецца ў абодвух, і таму ён таксама з'яўляецца ў любым DEX, які быў зроблены як відэлец аднаго з гэтых двух. Кожны новы DEX мае тыя ж функцыі. Але гэта таксама азначае, што ён падзяляе недахопы і ўразлівасці MasterChef. 

Такім чынам, давайце паглядзім, з якімі праблемамі могуць сутыкнуцца карыстальнікі і распрацоўшчыкі пры працы з MasterChef. На што ім варта звярнуць увагу? А як да іх трэба звяртацца?

Як працуюць DEX?

Першае, што варта адзначыць, гэта тое, што кантракт MasterChef - гэта разумны кантракт, напісаны на Solidity, які кантралюе, што можа рабіць ферма і як яна гэта можа рабіць. У большасці праектаў існуе некалькі смарт-кантрактаў, якія падзяляюць адказнасць і працу. Але калі справа даходзіць да пратаколаў на аснове MasterChef, гэта адзіны кантракт, які клапоціцца аб усім, што тычыцца сельскай гаспадаркі.

Дэцэнтралізаваныя біржы дазваляюць абменьваць криптовалюты без неабходнасці ўносіць грошы на біржы папернік. Замест гэтага вы ўносіце сродкі ў смарт-кантракты з уласнага кашалька. Вы адзіны чалавек, які кантралюе яго і можа атрымаць доступ да ўласных сродкаў, калі кантракты не маюць бэкдораў або ўразлівасцяў.

Яшчэ адно адрозненне заключаецца ў тым, што CEX выкарыстоўваюць кнігі заказаў для пакупкі і продажу. Гэта азначае, што яны супастаўляюць пакупнікоў з прадаўцамі, а DEX выкарыстоўваюць AMM (Automated Market Вытворца) пратаколы для гандлю, які разлічвае кошт актываў у залежнасці ад таго, колькі ліквіднасці ўкладзена.

Ліквіднасць паступае з пулаў ліквіднасці, якія ўяўляюць сабой пулы, у якія карыстальнікі могуць укладваць сродкі для пэўных пар і рабіць сродкі даступнымі для пратаколу. Затым, калі хтосьці спрабуе купіць актывы з дапамогай гэтай пары, яго заказ неадкладна выконваецца з дапамогай сродкаў з пула. Тым часам людзі, якія ўнеслі сродкі ў пул ліквіднасці, атрымліваюць токены LP для гэтага канкрэтнага пула. Гэта дае ім права дзяліцца ўзнагародамі.

І калі яны захочуць вярнуць свае сродкі, усё, што ім трэба зрабіць, гэта вярнуць токены LP, якія яны атрымалі.

Як вы ведаеце, існуе некалькі спосабаў генерацыі ўраджайнасць з крыптахолдынгаў. Фермерскія гаспадаркі даюць дадатковыя ўзнагароды за прадастаўленне ліквіднасці. Карыстальнікі дадаюць ліквіднасць у DEX, атрымліваюць токены LP і ставяць іх на фермы.

MasterChef: Уразлівасці і недахопы

Мы разгледзелі, як працуюць DEX і як працуюць пулы ліквіднасці. Такім чынам, давайце больш падрабязна разгледзім, дзе з'яўляюцца ўразлівасці MasterChef, як яны ўплываюць на працэс, а таксама які падыход вам трэба прыняць, каб усё было гладка.

MasterChef - гэта адзіны разумны кантракт, які выкарыстоўваецца для вырошчвання ўраджаю, забяспечваючы ліквіднасць у DEX. На жаль, ён мае пэўныя недахопы, якія можна выправіць падчас выкарыстання, але толькі ў тым выпадку, калі карыстальнікі ведаюць пра іх і што яны могуць зрабіць.

Узламаныя акаўнты

Адна з самых вялікіх праблем, на якую трэба звяртаць увагу, звязана з узломам уліковых запісаў уладальнікаў. У прынцыпе, SushiSwap вынайшаў метад, які дазволіў яму атрымаць перавагу супраць Uniswap. Гэты метад круціцца вакол пераносу актываў з адной біржы на іншую. Гэта апрацоўваецца кантрактам з дапамогай асобнай функцыі, якая даступная толькі ўладальніку кантракту.

Тым не менш, гэтая міграцыя можа ў канчатковым выніку быць настроена на любы кантракт, без якіх-небудзь абмежаванняў, што ў канчатковым выніку стала сур'ёзным недаглядам. Такім чынам, калі ўліковы запіс ўладальніка ўзламаны, гэта можа прывесці да новага кантракту на міграцыю, які будзе адпраўляць усе базавыя токены LP ва ўсіх фермерскіх пулах на адвольны адрас. Гэта прывядзе да масавай страты ўкладзеных актываў.

Варта адзначыць, што гэтая функцыя цяпер знаёмая распрацоўшчыкам, і таму яна адразу ж выдаляецца відэльцы. Аднак, калі ён застаецца прысутным, гэта трэба неадкладна ўспрымаць як чырвоны сцяг.

Яшчэ варта адзначыць, што ў некаторых відэльцах MasterChef уладальнік кантракту можа змяняць хуткасць выкідаў без якіх-небудзь абмежаванняў. Аднак калі ўліковы запіс узламаны, зламыснік можа ўсталяваць вельмі вялікую хуткасць эмісіі, што прывядзе да дэвальвацыі токена.

Існуе даволі просты спосаб вырашыць гэтую праблему, проста пераканаўшыся, што ўсе функцыі, даступныя ўладальніку кантракту, патрабуюць аўтарызацыі некалькіх подпісаў. Такім чынам, калі адзін адрас будзе скампраметаваны, дрэнныя акцёры не змогуць з ім зрабіць шмат. Іншая рэч, якую трэба зрабіць, гэта дадаць часовы блок (кантракт Timelock) для выкліку функцыі міграцыі. Такім чынам, у карыстальніка будзе больш часу для прыняцця рашэння, і біржа павінна будзе паведаміць вам аб міграцыі або любой іншай падазронай транзакцыі.

Даданне аднолькавых фермерскіх пулаў

Яшчэ адна даволі відавочная, але ігнаруемая праблема ўзнікае, калі першапачатковы кантракт не ўлічвае апрацоўку аднолькавых сельскагаспадарчых пулаў, а гэта азначае, што кантракт пагражае няправільным разлікам сельскагаспадарчых узнагарод.

Гэта не вялікая праблема, калі MasterChef выкарыстоўваецца правільна, так як уладальнік не будзе дадаваць аднолькавыя пулы наўмысна. Фактычна, на біржах, якія працуюць належным чынам, гэтыя рэчы правяраюцца, і стварэнне дублікатаў катэгарычна забаронена. Такім чынам, калі вы пачынаеце стварэнне пула і ідзяце па шляху стварэння дубліката існуючага пула, сістэма павінна мець магчымасць паведаміць пра памылку. Або прапануйце вам дадаць свае сродкі ў існуючы пул, а не ствараць новы.

Не падлічваецца колькасць унесеных токенаў

Чамусьці людзі схільныя забываць пра тое, што можа адбыцца, калі токены з камісіямі на пераводы або токены перабазоўкі дадаюцца ў кантракт MasterChef у якасці пулаў. Тое, што адбываецца, - гэта парушэнне спосабу разліку ўзнагароджання, паколькі код кантракту дадае актывы ў пулы толькі шляхам выкліку пэўных функцый. Гэта азначае, што даданне токенаў да адрасу аб'яднае іх з актывамі, якія ўжо знаходзяцца ў пуле. Але разлікі па ўзнагароджанні за такія токены могуць быць парушаныя, што прыводзіць да ўразлівасці.

Правільна працуючыя платформы павінны разлічваць колькасць сродкаў, пералічаных для фермерства, асобна, правяраючы фактычную суму пералічэння з улікам камісій. Такім чынам, разлік ўзнагароджання выконваецца правільна.

МайстарШэф: Заключэнне

MasterChef - гэта адзіны разумны кантракт, які выкарыстоўваецца для вырошчвання ўраджаю, забяспечваючы ліквіднасць у DEX. На жаль, ён мае пэўныя недахопы, якія можна выправіць падчас выкарыстання, але толькі ў тым выпадку, калі карыстальнікі ведаюць пра іх і што яны могуць зрабіць. 

Вышэй мы разгледзелі некалькі рэчаў, якія могуць адбыцца і як гэтых праблем можна пазбегнуць. Але варта заўважыць, што іх больш, напрыклад, паслабленне ўзнагароджання пры адпраўцы токенаў непасрэдна на адрас кантракту, праблемы са зменамі стартавых блокаў, аптымізацыя газу і іншае. 

Іншымі словамі, ёсць уразлівасці і праблемы, пра якія трэба памятаць і сачыць. Але ў цэлым MasterChef - гэта рэвалюцыйны кантракт, які ў значнай ступені дае магчымасць дэцэнтралізаваных абменаў. Такім чынам, пакуль вы працягваеце выкарыстоўваць яго асцярожна і будзеце ведаць аб яго недахопах і спосабах іх ліквідацыі, у вас усё будзе ў парадку.

Аб аўтарах

Глеб Зыкаў

Глеб Зыкаў з'яўляецца сузаснавальнікам і тэхнічным дырэктарам кампаніі a Defi бяспеку і аналітычная кампанія HashEx.

​​Улад Кароўнікаў з'яўляецца малодшым аўдытарам і распрацоўшчыкам смарт-кантрактаў.

Атрымаў некаторыяtці можна сказаць пра абыходныя шляхі Masterchef ці што-небудзь яшчэ? напісаць нам або далучайцеся да абмеркавання ў нашай Telegram канал. Вы таксама можаце злавіць нас Цік Ток, Facebookабо Twitter.

адмова

Уся інфармацыя, размешчаная на нашым сайце, публікуецца добрасумленна і мае толькі агульны інфармацыйны характар. Любыя дзеянні, якія чытач ужывае з інфармацыяй, размешчанай на нашым сайце, строга на свой страх і рызыка.

Крыніца: https://beincrypto.com/masterchef-smart-contracts-the-workarounds-for-the-fatal-flaws/