Kako revizije pametnih pogodb DAO pomagajo pri krepitvi varnosti? Podatkovna inteligenca PlatoBlockchain. Navpično iskanje. Ai.

Kako revizije pametnih pogodb DAO pomagajo pri krepitvi varnosti?

Čas branja: 6 min

Ustvarjanje DAO je edinstveno za web3, ki izkorišča kompetenco verige blokov pri upravljanju protokolov brez vključevanja centraliziranih subjektov.  

DAO je močno osredotočen na dva vidika - šifriranje in porazdeljeno shranjevanje. To jim daje zmožnosti, da delujejo na podlagi skupne odločitve članov skupnosti.

Kot pri vsakem protokolu Web3 se tudi pri protokolih DAO pojavljajo varnostni pomisleki. 

Namen tega članka je razkriti temeljno infrastrukturo DAO in smernice za izboljšanje varnosti njihove pametne pogodbe, da prenese napade.   

Namen DAO

Ethereum ima vedno zasluge za prvo programabilno verigo blokov. Ima izjemno vlogo pri uvajanju prave decentralizacije, saj razvijalcem omogoča, da se igrajo s kodo.

V tem pogledu DAO pametne pogodbe so namenjeni spodbujanju Upravljanje na verigi

Upravljanje v verigi je sredstvo, s katerim se izvajajo spremembe v projektih blockchain. Pravila so kodirana v protokolih, razvijalci pa predlagajo spremembe s posodobitvami kode. Predlagana sprememba se izvede na podlagi glasov članov/udeležencev skupnosti.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>upravljanje v verigi, ki upravičuje dejstvo, da skupnosti upravljajo izključno verigo blokov. 

Tako kot vse druge pametne pogodbe so pogodbe DAO v osnovi zasnovane za avtomatizacijo postopka in izvajanje dejanj, ko so izpolnjeni vnaprej določeni pogoji. 

Za ponazoritev s primerom razmislite o pogodbi o žetonu ERC-20. Ustvarjen je na podlagi standardov ERC-20 z informacijami, kot so naslov pogodbe, dobava žetona, ime žetona, pogoji prenosa žetona itd. 

Delovanje žetona se izvede, ko so izpolnjena nastavljena pravila. Podobno je pogodba DAO kodirana tako, da narekuje delovanje organizacije, kot je odločanje o razdelitvi sredstev glede na predloge glasovanja članov. 

DAO ima na primer vgrajene zakladnice. Sredstva iz teh se porabijo po odobritvi skupine in noben organ nima dostopa do izvedbe katerega koli načrta. 

Predlogi glasovanja za sprejemanje kritičnih odločitev v zvezi s projektom zagotavljajo, da se sliši glas vsakega udeleženca, kar vodi k boljšemu zaupanju in preglednosti v dejavnostih v verigi. 

Pravice upravljanja dejavnosti organizacij se razlikujejo od protokola do protokola in povsem subjektivno je, kako poteka kodiranje DAO. Zato je pomembno, da ste pozorni na upravljavske pravice, ki jih imajo uporabniki na protokolu, preden se vpišete v kateri koli DAO. 

Koraki pri vzpostavitvi pametnih pogodb DAO

Mehanika Upravljanje na verigi

Upravljanje v verigi je sredstvo, s katerim se izvajajo spremembe v projektih blockchain. Pravila so kodirana v protokolih, razvijalci pa predlagajo spremembe s posodobitvami kode. Predlagana sprememba se izvede na podlagi glasov članov/udeležencev skupnosti.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>upravljanje v verigi se izvaja prek niza pogodb – žeton, guverner in časovna zapora . Ugotovimo vlogo vsakega od njih. 

Token: Žetoni določajo glasovalno moč članov skupnosti, v kateri sodelujejo Upravljanje na verigi

Upravljanje v verigi je sredstvo, s katerim se izvajajo spremembe v projektih blockchain. Pravila so kodirana v protokolih, razvijalci pa predlagajo spremembe s posodobitvami kode. Predlagana sprememba se izvede na podlagi glasov članov/udeležencev skupnosti.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>upravljanje v verigi. Žetonska pogodba zagotavlja, da je ravnovesje preverjeno za pridobitev moči in omogoča udeležencem, da izrazijo svojo izbiro glede predlogov upravljanja. 

Guverner: Guvernerska pogodba je kodirana s pogoji o dodeljevanju moči imetnikom žetonov, vrsti sprejemljivih žetonov, štetju števila glasov, potrebnih za forum in tako naprej. Vendar pa lahko razvijalci kodirajo s posebnostmi funkcij o tem, kako želijo, da se pogodbe izvajajo. 

Poleg tega pogodba guvernerja vključuje tudi odlog glasovanja in posebnosti predloga glasovanja v kodeksu. Služi namenu podajanja navodil o tem, kako dolgo je predlog glasovanja odprt za glasovanje udeležencev. 

Časovna zapora: Vidik Timelock vključuje nastavitev AcessControl za predlagano vlogo, vlogo izvršitelja in vlogo skrbnika. Integracija komponente časovne zapore s sistemi upravljanja daje udeležencem svobodo, da odidejo v primeru nestrinjanja z odločitvijo. 

Pogled na visoki ravni o varnostnih strahovih za DAO. 

Zaradi odvisnosti DAO od pametnih pogodb so odgovorni za glasovanje o upravljanju in vzdrževanje zakladnice. In vsak od teh elementov ima svoje varnostne pomisleke; odvijmo jih spodaj. 

Varnostni pomisleki v pametni pogodbi

Previjmo malo nazaj in se spomnimo znanega 'DAO padca'. Glavni vzrok je bila napaka v kodi DAO. Heker je lahko izkoristil ranljivost in črpal sredstva iz pogodbe z izdelavo Rekurzivni klici

Rekurzivni klic je pogoj, ki se lahko sklicuje sam nase in jih znova in znova prikliče v zanki. Rekurzivna funkcija uporablja osnovni primer (če) in indukcijski primer (drugo). Napadi ponovnega vstopa se izvajajo z izkoriščanjem rekurzivnih klicev v kodi.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>rekurzivni klici. 

Pogodba je vsebovala 12.7 milijona etrov, od katerih je heker ukradel 3.6 milijona ETH z izkoriščanjem vrzeli v pogodbi.

Ta incident jasno prikazuje potrebo po več izkušnjah in eksperimentiranju z varnostjo DAO. Čeprav je DAO zelo hvaljen zaradi svoje inovativnosti, je kakovost kode povzročila večjo škodo.

Poleg tega mora biti kodiranje pametnih pogodb popolnoma pregledno, da se nobena funkcija kasneje ne spremeni v napako. 

Varnostni pomisleki glede upravljanja

Obstaja več načinov, kako lahko hekerji vdrejo v upravljanje protokola. Za začetek so decentralizirana obvestila eden od načinov, kjer lahko heker, če lahko blokira obvestila, uvede zlonamerne predloge, ki jih drugi člani DAO ne opazijo. 

Sledi predlog, ki zahteva večklicne transakcije. Če predloga ne pregleda ali revidira DAO, jih lahko napadalec uporabi za ustvarjanje zapletenih rezultatov. 

Napačni pragovi in ​​neustrezne časovne zapore vodijo v možnost slabih dejavnosti. Hitra posojila so še ena skrb za varnost upravljanja. Napadalci si lahko izposodijo ogromno vsoto žetonov, ki jim dajejo večinsko moč, da uveljavijo predlog. 

Zlonamerni predlogi vzbujajo a resen varnostni pomislek nad spremembami, izvedenimi v protokolu. AAVE in Compound sta v preteklosti trpela zaradi tovrstnih vdorov. 

Varnostni pomisleki pri izvedbi

MakerDAO, ki je bil v omrežju Ethereum uveden leta 2017, je posloval dobro. Dokler leta 2020 ni prišlo do zloma trga, ko je cena etra padla vse do 50 %. To je bilo najpomembnejše zavarovanje, uporabljeno v MakerDAO, in padec cen je sprožil ogromno likvidnosti.

MakerDAO ni bil zasnovan za tako veliko likvidacijo, ki je povzročila večjo finančno izgubo. Čeprav je bilo kodiranje tukaj močno, je bila napaka v izvajanju mehanizma likvidacije. 

Od takrat je bilo izvajanje mehanizma DAO dodano tudi na seznam drugih obstoječih varnostnih vprašanj. 

Kontrolni seznam za revizije pametnih pogodb DAO

Varnost je prevladujoč vidik v Upravljanje na verigi

Upravljanje v verigi je sredstvo, s katerim se izvajajo spremembe v projektih blockchain. Pravila so kodirana v protokolih, razvijalci pa predlagajo spremembe s posodobitvami kode. Predlagana sprememba se izvede na podlagi glasov članov/udeležencev skupnosti.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>upravljanje v verigi, da se moč zaščiti pred tem, da bi padla v slabe roke. Torej, z vidika varnosti, poiščimo smernice za razvoj robustnih pogodb DAO.

Klici nizke ravni: S klici poljubnih pogodb, ki pridobivajo poljubne podatke, je treba ravnati previdno. 

Ravnanje s klici na nizki ravni je težavno, ker lahko odpre možnost za vektorje napadov ponovnega vstopa. Zato je vedno dobra praksa, da preverite pogoj za uspešnost klicev in nato obravnavate vrnjene podatke. 

imetja ETH: Na podlagi ugotovitev revizije je bilo veliko primerov, ko se ETH v pogodbah, povezanih z upravljanjem, ne obravnava pravilno. Zato je predlagano, da se zagotovi način pošiljanja ETH, kadar pogodbe o upravljanju zahtevajo ravnanje z ETH.

Še en previdnostni ukrep, ki ga morate upoštevati, je med uporabo msg.value, ki omogoča paketne klice. Obstaja velika verjetnost, da gre ta vzorec narobe. 

Vzdržite se izkoriščanja Flash-posojila: Na bliskovita posojila se zanašajo izkoriščevalci, ki želijo vplivati ​​na odločitve upravljanja in izvesti napad. Jemljejo hitra posojila in zagotavljajo glasove upravljanja z imetji žetonov, da manipulirajo z odločitvijo upravljanja. 

Zato se lahko izognete merjenju glasovalne moči v trenutnem bloku, saj hitro posojilo, vzeto za pridobitev upravljavske moči, ogroža sistem. 

Redne posodobitve: Tudi če v pogodbi ni nujno, da so pomanjkljivosti, morate vedno preveriti trg žetonov upravljanja in ustrezno prilagoditi prag. V nasprotnem primeru bi zlonamernim akterjem omogočili prevzem odločitev.

Prepričajte se, da ste med selitvijo in nadgradnjo sistema upravljanja pozorni na posebnosti. Bili so primeri, kot je tisti, ki se je zgodil z Uniswapom. Njegova selitev na guvernerja Bravo je sprožila napako v pogodbi, ki je začasno ustavila odločitve o upravljanju. 

Vključite zamude s pogodbo o časovnem zaklepu: Ukrepi s časovnim zamikom omogočajo skupnosti, da pregleda spremembe protokola, preden začnejo veljati. Te časovne zamike je mogoče izvesti prek pogodb Timelock. 

Ranljivosti, povezane s protokolom: Programska oprema, ki se uporablja za kodiranje protokola, deluje na določeni poslovni logiki, ki se lahko med seboj razlikuje. Prav tako tudi težave, ki se pojavijo pri izvajanju sprememb v tem sistemu. 

Pravzaprav je protokol Compound utrpel težavo zaradi odobritve manipulativnega predloga skupnosti. Zato je vedno dobro, da kodeks temeljito pregledajo kolegi in neodvisne stranke, da se zagotovi trdnost in trdnost pogodbe.

Eminentnost QuillAudits pri revidiranju pametnih pogodb DAO

V današnjem času si številni projekti prizadevajo, da bi bil sistem popolnoma samodelujoč Upravljanje na verigi

Upravljanje v verigi je sredstvo, s katerim se izvajajo spremembe v projektih blockchain. Pravila so kodirana v protokolih, razvijalci pa predlagajo spremembe s posodobitvami kode. Predlagana sprememba se izvede na podlagi glasov članov/udeležencev skupnosti.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>upravljanje v verigi. Torej se področje hitro razvija in cveti glede na potrebe njihove skupnosti. 

Tudi napadi se zapletajo, kar je hkrati zahtevno in drago. Zato je treba zagotoviti, da so procesi vzpostavljeni in da se koda natančno upošteva. QuillAudits izvaja obsežno študijo in revizijo kode, da izključi morebitne pasti in zaščiti projekt pred zlonamernimi dejavnostmi.

16 Ogledov

Časovni žig:

Več od Quillhash