Rešitve za usodne pomanjkljivosti

MasterChef ima določene pomanjkljivosti, ki jih je mogoče odpraviti med uporabo, vendar le, če se uporabniki zavedajo, kaj lahko storijo. Tukaj je rešitev, glede na Gleb Zykov in Vlad Korovnikov iz HashEx.

Decentralizirane izmenjave (DEX) so bili le pred dvema letoma precej redki, danes pa se zdi, da so povsod. Številni projekti imajo svoje osebne DEX-e. To se je zgodilo, ker ko se projekt blockchain odloči za začetek DEX, tega ne naredi povsem iz nič. Namesto tega je osnova za kodo DEX pogosto razcep enega od dveh glavnih DEX-ov - Zamenjava sušija or Zamenjava palačink.

Pametna pogodba Masterchef

Ti dve izmenjavi sta precej revolucionirali prostor DEX zahvaljujoč posebni pametni pogodbi, imenovani MasterChef. MasterChef se pojavlja v obeh in tako se pojavlja tudi v katerem koli DEX-u, ki je bil narejen kot vilica enega od teh dveh. Vsak novi DEX ima enake funkcije. Pomeni pa tudi, da ima skupne pomanjkljivosti in ranljivosti MasterChefa. 

Poglejmo si torej, s kakšnimi težavami se lahko uporabniki in razvijalci srečajo pri delu z MasterChefom. Na kaj naj bodo pozorni? In kako se jim je treba obrniti?

Kako delujejo DEX-i?

Prva stvar, ki jo je treba omeniti, je, da je pogodba MasterChef pametna pogodba, napisana v Solidityju, ki nadzoruje, kaj lahko kmetija naredi in kako lahko to stori. V večini projektov obstaja več pametnih pogodb, ki si delijo odgovornost in delo. Ko pa gre za protokole, ki temeljijo na MasterChef-u, je ta ena sama pogodba tista, ki poskrbi za vse v zvezi s kmetijstvom.

Decentralizirane borze vam omogočajo izmenjavo kriptovalut, ne da bi morali v borzo vložiti denar denarnica. Namesto tega sredstva na pametne pogodbe položite iz lastne denarnice. Vi ste edina oseba, ki jo nadzira in lahko dostopate do lastnih sredstev, če pogodbe nimajo backdoor ali ranljivosti.

Druga razlika je v tem, da CEX-ji za nakup in prodajo uporabljajo knjige naročil. To pomeni, da povezujejo kupce s prodajalci, medtem ko DEX uporabljajo AMM (Automated Market Ustvarjalec) protokoli za trgovanje, ki izračunajo ceno sredstev glede na to, koliko likvidnosti je vložena.

Likvidnost prihaja iz likvidnostnih skupin, ki so združbe, v katere lahko uporabniki položijo sredstva za določene pare in dajo sredstva na voljo za protokol. Potem, ko nekdo poskuša kupiti sredstva s tem parom, se njegovo naročilo takoj izpolni s sredstvi iz združenja. Medtem ljudje, ki so naložili sredstva v likvidnostni bazen, prejmejo žetone LP za to določeno skupino. To jim daje pravico do delitve nagrad.

In če bodo kdaj želeli vrniti svoja sredstva, morajo le vrniti žetone LP, ki so jih prejeli.

Kot morda veste, obstaja več načinov za ustvarjanje donosov iz kriptovalute. Kmetije dajejo dodatne nagrade za zagotavljanje likvidnosti. Uporabniki dodajajo likvidnost DEX-jem, dobijo žetone LP in jih dajo v kmetije.

MasterChef: Ranljivosti in pomanjkljivosti

Pokrili smo, kako delujejo DEX-ji in kako delujejo likvidnostni bazeni. Oglejmo si torej podrobneje, kje se pojavljajo ranljivosti MasterChef-a, kako vplivajo na proces, pa tudi kakšen pristop morate sprejeti, da zagotovite, da bodo stvari potekale gladko.

MasterChef je ena sama pametna pogodba, ki se uporablja za kmetovanje pridelka z zagotavljanjem likvidnosti v DEX-jih. Žal ima določene pomanjkljivosti, ki jih je mogoče odpraviti med uporabo, vendar le, če se jih uporabniki zavedajo in kaj lahko storijo.

Ogroženi računi

Ena največjih težav, na katere morate biti pozorni, se vrti okoli ogroženosti računov lastnikov. V bistvu je SushiSwap izumil metodo, ki mu je omogočila prednost pred Uniswapom. Ta metoda se vrti okoli selitve sredstev iz ene borze v drugo. To ureja pogodba z uporabo ločene funkcije, ki je dostopna samo lastniku pogodbe.

Vendar se lahko ta migracija na koncu prilagodi skoraj vsaki pogodbi, brez kakršnih koli omejitev, kar je na koncu predstavljalo velik spregleda. Torej, če je račun lastnika ogrožen, lahko to povzroči novo pogodbo o selitvi, ki bi vse osnovne žetone LP v vseh kmetijskih bazenih poslala na poljuben naslov. To bi povzročilo veliko izgubo vloženih sredstev.

Treba je opozoriti, da je ta funkcija zdaj poznana razvijalcem, zato je na koncu takoj odstranjena vilice. Če pa ostane prisoten, je treba to takoj obravnavati kot rdečo zastavo.

Druga stvar, ki jo je treba omeniti, je, da lahko v nekaterih vilicah MasterChef lastnik pogodbe spremeni stopnjo emisij brez kakršnih koli omejitev. Če pa je račun ogrožen, lahko napadalec nastavi zelo veliko stopnjo emisij, kar bi povzročilo razvrednotenje žetona.

To je dokaj preprost način za rešitev tega problema, tako da zagotovite, da vse funkcije, ki so na voljo lastniku pogodbe, zahtevajo pooblastilo z več podpisi. Na ta način, če je en sam naslov ogrožen, slabi akterji z njim ne bi mogli veliko narediti. Druga stvar, ki jo morate storiti, je dodati začasni blok (pogodba Timelock) za klic funkcije selitve. Tako ima uporabnik več časa za odločitev, borza pa bi vas morala obvestiti o selitvi ali kateri koli drugi sumljivi transakciji.

Dodajanje enakih kmetijskih bazenov

Druga dokaj očitna, a spregledana težava se pojavi, ko prvotna pogodba ne upošteva obdelave identičnih kmetijskih združenj, kar pomeni, da pogodba grozi, da bo napačno izračunala kmetijske nagrade.

To ni velika težava, če se MasterChef pravilno uporablja, saj lastnik ne bi namerno dodajal enakih bazenov. Pravzaprav se v pravilno delujočih borzah te stvari preverjajo in ustvarjanje podvojenega bazena je strogo prepovedano. Torej, če začnete ustvarjati področje in se usmerite po poti ustvarjanja dvojnika obstoječega področja, bi moral sistem imeti možnost poročati o napaki. Ali pa predlagajte, da dodate sredstva v obstoječi bazen, namesto da ustvarite novega.

Ne izračuna se količine deponiranih žetonov

Iz neznanega razloga ljudje ponavadi pozabijo razmisliti, kaj bi se lahko zgodilo, če se žetoni s provizijami za prenose ali žetoni za ponovno osnovo dodajo kot skupine v pogodbo MasterChef. Kar se zgodi, je razčlenitev načina izračunavanja nagrad, saj pogodbena koda dodaja sredstva v skupine samo s klicem določenih funkcij. To pomeni, da jih boste z dodajanjem žetonov na naslov združili s sredstvi, ki so že v skupini. Toda izračuni za nagrade za takšne žetone se lahko pokvarijo, kar vodi do ranljivosti.

Pravilno delujoče platforme bi morale ločeno izračunati količino prenesenih sredstev za kmetovanje s preverjanjem dejanskega prenesenega zneska, ki upošteva provizije. Na ta način so izračuni nagrade opravljeni pravilno.

MasterChef: Zaključek

MasterChef je ena sama pametna pogodba, ki se uporablja za kmetovanje pridelka z zagotavljanjem likvidnosti v DEX-jih. Žal ima določene pomanjkljivosti, ki jih je mogoče odpraviti med uporabo, vendar le, če se jih uporabniki zavedajo in kaj lahko storijo. 

Zgoraj smo obravnavali več stvari, ki se lahko zgodijo in kako se tem težavam izogniti. Vendar je treba opozoriti, da jih je več, kot so redčenje nagrad, če so žetoni poslani neposredno na naslov pogodbe, težave s spremembami začetnega bloka, optimizacije plina in drugo. 

Z drugimi besedami, obstajajo ranljivosti in težave, ki jih je treba upoštevati in paziti. Toda na splošno je MasterChef revolucionarna pogodba, ki je precej omogočila decentralizirane izmenjave. Torej, dokler ga še naprej uporabljate previdno in se zavedate njegovih pomanjkljivosti in kako jih odpraviti, bi morali biti v redu.

O avtorjih

Gleb Zykov

Gleb Zykov je soustanovitelj in tehnični direktor pri a Defi varnost in analitičnega podjetja HashEx.

​​Vlad Korovnikov je Junior Smart Contract revizor in razvijalec.

Imam nekajtali želite povedati o rešitvah Masterchefa ali kaj drugega? Pišite nam ali se pridružite razpravi v naši Telegram kanal. Lahko nas tudi ujamete Tik tok, Facebook ali Twitter.

Zavrnitev odgovornosti

Vse informacije na našem spletnem mestu so objavljene v dobri veri in zgolj za splošne informacije. Vsako dejanje, ki ga bralec izvede na podlagi informacij na naši spletni strani, je izključno na lastno odgovornost.

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