Hogyan segítik a DAO Smart Contract Audits a biztonság megerősítését? PlatoBlockchain adatintelligencia. Függőleges keresés. Ai.

Hogyan segítik a DAO Smart Contract Audits a biztonság megerősítését?

Olvasási idő: 6 jegyzőkönyv

A DAO létrehozása egyedülálló a web3 számára, amely kihasználja a blokklánc kompetenciáját a protokollok szabályozásában anélkül, hogy központosított entitásokat vonna be.  

A DAO nagymértékben két aspektusra összpontosít: a titkosításra és az elosztott tárolásra. Ez olyan képességekkel ruházza fel őket, hogy a közösség tagjainak kollektív döntése alapján működjenek.

Mint minden Web3-protokoll esetében, a DAO-protokollok körül is vannak biztonsági problémák. 

Ennek a cikknek a célja a DAO alapvető infrastruktúrájának bemutatása, valamint az intelligens szerződések biztonságának javítására vonatkozó irányelvek bemutatása a támadások elviseléséhez.   

A DAO célja

Az Ethereum mindig az első programozható blokklánc nevéhez fűződik. Óriási szerepe van a valódi decentralizáció megvalósításában, mivel lehetővé teszi a fejlesztők számára, hogy játsszanak a kóddal.

E tekintetben DAO intelligens szerződések elősegítésére tervezték Láncon belüli kormányzás

A láncon belüli irányítás olyan eszköz, amellyel a blokklánc-projektekben változtatásokat hajtanak végre. A szabályokat a protokollok kódolják, és a fejlesztők változtatásokat javasolnak a kód frissítésével. A javasolt változtatás a közösségi tagok/résztvevők szavazatai alapján valósul meg.

” data-gt-translate-attributes=”[{“attribútum”:”data-cmtooltip”, “format”:”html”}]”>on-chain irányítás igazolja azt a tényt, hogy a közösségek tisztán működtetik a blokkláncot. 

Csakúgy, mint bármely más intelligens szerződés, a DAO-szerződések alapvetően a folyamat automatizálására és a műveletek végrehajtására szolgálnak, ha az előre meghatározott feltételek teljesülnek. 

Egy példa szemléltetésére vegyünk egy ERC-20 token szerződést. Az ERC-20 szabványok alapján jön létre, olyan információkkal, mint a szerződés címe, a token szállítása, a token neve, a token átviteli feltételei stb. 

A token művelete akkor kerül végrehajtásra, ha a beállított szabályok teljesülnek. Hasonlóképpen, a DAO-szerződés kódolva határozza meg a szervezet működését, például a tagok szavazási javaslatai alapján az alapok elosztásáról való döntést. 

Például a DAO beépített kincstárral rendelkezik. Az ezekből származó pénzeszközöket a csoport jóváhagyása után költik el, és egyetlen hatóság sem fér hozzá semmilyen terv végrehajtásához. 

A projekttel kapcsolatos kritikus döntések meghozatalára vonatkozó szavazási javaslatok biztosítják, hogy minden résztvevő hangját meghallják, ami nagyobb bizalomhoz és átláthatósághoz vezet a láncon belüli tevékenységekben. 

A szervezetek tevékenységére vonatkozó irányadó jogok protokollról protokollra változnak, és pusztán szubjektív a DAO kódolás módjától. Ezért fontos, hogy a DAO-ba való beiratkozás előtt figyeljen a felhasználóknak a protokollra vonatkozó irányító jogaira. 

A DAO intelligens szerződések beállításának lépései

A mechanika Láncon belüli kormányzás

A láncon belüli irányítás olyan eszköz, amellyel a blokklánc-projektekben változtatásokat hajtanak végre. A szabályokat a protokollok kódolják, és a fejlesztők változtatásokat javasolnak a kód frissítésével. A javasolt változtatás a közösségi tagok/résztvevők szavazatai alapján valósul meg.

” data-gt-translate-attributes=”[{“attribútum”:”data-cmtooltip”, “format”:”html”}]”>a láncon belüli irányítás egy sor szerződésen keresztül történik – token, kormányzó és időzár . Nézzük meg mindegyik szerepét. 

Jelképes: A tokenek meghatározzák a közösség tagjainak szavazati jogát, hogy részt vegyenek benne Láncon belüli kormányzás

A láncon belüli irányítás olyan eszköz, amellyel a blokklánc-projektekben változtatásokat hajtanak végre. A szabályokat a protokollok kódolják, és a fejlesztők változtatásokat javasolnak a kód frissítésével. A javasolt változtatás a közösségi tagok/résztvevők szavazatai alapján valósul meg.

” data-gt-translate-attributes=”[{“attribútum”:”data-cmtooltip”, “format”:”html”}]”>láncon belüli irányítás. A jelképes szerződés biztosítja az egyensúly ellenőrzését a hatalom visszanyerése érdekében, és lehetővé teszi a résztvevők számára, hogy kifejezzék választásukat az irányítási javaslatokkal kapcsolatban. 

Kormányzó: A kormányzói szerződés kódolva van a tokenek birtokosai közötti hatalomelosztás feltételeivel, az elfogadható tokenek típusával, a fórumhoz szükséges szavazatok számával és így tovább. A fejlesztők azonban kódolhatják a szolgáltatás sajátosságait, hogy hogyan akarják a szerződéseket teljesíteni. 

Emellett a kormányzói szerződés a szavazás késleltetését és a szavazási javaslat sajátosságait is tartalmazza a kódexben. Azt a célt szolgálja, hogy útmutatást adjon arról, hogy a szavazási javaslat mennyi ideig van nyitva a résztvevők számára. 

Időzár: A Timelock szempont magában foglalja az AcessControl beállítását a javasolt szerepkörhöz, végrehajtói szerepkörhöz és rendszergazdai szerepkörhöz. Az időzár komponens integrálása az irányítási rendszerekkel lehetővé teszi a résztvevők számára, hogy távozzanak, ha nem értenek egyet a döntéssel. 

Magas szintű nézet a DAO-k biztonsági félelmeiről. 

Az intelligens szerződésekre támaszkodó DAO-k felelősségre vonják őket az irányítási szavazásért és a pénztári karbantartásért. Ezen elemek mindegyikének megvannak a maga biztonsági aggályai; lazítsuk le őket lent. 

Biztonsági aggályok az intelligens szerződésekben

Tekerjünk vissza egy kicsit, és emlékezzünk vissza a jól ismert „DAO bukásra”. A fő ok a DAO kód hibája volt. A hackernek sikerült kihasználnia a sérülékenységet, és azáltal, hogy a szerződésből pénzt vonhatott el Rekurzív hívások

A rekurzív hívás olyan feltétel, amely önmagára hivatkozhat, és újra és újra újra és újra hívhatja őket egy hurokban. A rekurzív függvény alapesetet (if) és indukciós esetet (else) használ. Az újrabelépési támadásokat a kódban található rekurzív hívások kihasználásával hajtják végre.

” data-gt-translate-attributes=”[{“attribútum”:”data-cmtooltip”, “format”:”html”}]”>rekurzív hívások. 

A szerződés 12.7 millió étert tartalmazott, amelyből a hacker 3.6 millió ETH-t lopott a szerződésben lévő kiskapu kihasználásával.

Ez az incidens egyértelműen azt mutatja, hogy több tapasztalatra és kísérletezésre van szükség a DAO biztonsággal kapcsolatban. Bár a DAO-t nagyon dicsérik az innovációért, a kód minősége nagyobb károkat okozott.

Ezenkívül az intelligens szerződések kódolásának teljesen átláthatónak kell lennie, hogy később egyetlen funkció se váljon hibává. 

Biztonsági aggályok a kormányzással kapcsolatban

A hackerek többféle módon is behatolhatnak a protokoll irányításába. Először is, a decentralizált értesítések az egyik módja annak, hogy ha egy hacker blokkolja az értesítéseket, akkor olyan rosszindulatú javaslatokat hozzon létre, amelyeket a DAO többi tagja nem vesz észre. 

A következő a többhívásos tranzakciókat előíró javaslat. Ha a javaslatot a DAO nem tekinti át vagy auditálja, a támadó felhasználhatja azokat összetett eredmények eléréséhez. 

A rossz küszöbök és a nem megfelelő időzárak rossz tevékenységek lehetőségéhez vezetnek. A gyorskölcsönök egy másik gondot jelentenek az irányítás biztonsága szempontjából. A támadók hatalmas összegű tokeneket kölcsönözhetnek, amelyek többségi jogkörrel ruházzák fel őket, hogy áttegyenek egy javaslatot. 

A rosszindulatú javaslatok felvetik a komoly biztonsági aggály a protokollban végrehajtott változtatások felett. Az AAVE és a Compound a múltban szenvedett ilyen típusú feltörésektől. 

Biztonsági aggályok a végrehajtással kapcsolatban

A 2017-ben az Ethereum hálózatban elindított MakerDAO jól teljesített. Egészen 2020-ban egy piaci összeomlásig, amikor az Ether ára 50%-ot is esett. Ez volt a MakerDAO-ban használt legfontosabb fedezet, és az árzuhanás hatalmas likviditást váltott ki.

A MakerDAO-t nem arra tervezték, hogy kezeljen egy ilyen hatalmas felszámolást, amely nagyobb pénzügyi veszteséget eredményezett. Bár a kódolás itt erős volt, a hiba a felszámolási mechanizmus végrehajtásában volt. 

Ettől kezdve a DAO mechanizmus végrehajtása is felkerült az egyéb meglévő biztonsági aggályok listájára. 

Ellenőrzőlista a DAO intelligens szerződések ellenőrzéséhez

A biztonság az uralkodó szempont Láncon belüli kormányzás

A láncon belüli irányítás olyan eszköz, amellyel a blokklánc-projektekben változtatásokat hajtanak végre. A szabályokat a protokollok kódolják, és a fejlesztők változtatásokat javasolnak a kód frissítésével. A javasolt változtatás a közösségi tagok/résztvevők szavazatai alapján valósul meg.

” data-gt-translate-attributes=”[{“attribútum”:”data-cmtooltip”, “format”:”html”}]”>on-chain kormányzás, hogy megóvjuk a hatalom rossz kezekbe kerülésétől. Tehát biztonsági szempontból nézzük meg a robusztus DAO-szerződések kidolgozásának irányelveit.

Alacsony szintű hívások: Óvatosan kell kezelni azokat az önkényes szerződésekre vonatkozó felhívásokat, amelyek tetszőleges adatokat kérnek le. 

Az alacsony szintű hívások kezelése trükkös, mert megnyílik az esélye a visszatérési támadási vektoroknak. Ezért mindig célszerű ellenőrizni a hívások sikerességét, majd kezelni a visszaküldött adatokat. 

ETH részesedés: Az ellenőrzés megállapításai alapján számos olyan eset volt, amikor az ETH-t nem megfelelően kezelik az irányítással kapcsolatos szerződésekben. Javasoljuk tehát, hogy biztosítsák az ETH küldésének módját, ha az irányítási szerződések megkövetelik az ETH kezelését.

Egy másik óvintézkedés az msg.value használatakor, amely lehetővé teszi a kötegelt hívásokat. Valószínű, hogy ez a minta elromolhat. 

Tartózkodjon a gyorskölcsön-kizsákmányolástól: A gyorskölcsönökre a kizsákmányolók támaszkodnak, akik befolyásolni akarják az irányítási döntéseket és támadást indítanak. Gyorskölcsönöket vesznek fel, és jelképes birtokokkal biztosítják az irányítási szavazatokat, hogy manipuláljanak egy irányítási döntést. 

Így elkerülhető a szavazaterő mérése az aktuális blokkon, mivel az irányítási hatalom megszerzésére felvett gyorskölcsön a rendszert veszélyezteti. 

Rendszeres frissítések: Még ha nem is feltétlenül vannak hibák a szerződésben, mindig ellenőrizze az irányítási tokenek piacát, és ennek megfelelően állítsa be a küszöböt. Ellenkező esetben lehetővé tenné a rosszindulatú szereplők számára, hogy átvegyék a döntéseket.

Az irányítási rendszer áttelepítése és frissítése során ügyeljen a sajátosságokra. Voltak olyan esetek, mint például az Uniswap esetében. A Bravo kormányzóhoz való áttérés egy szerződéshibát okozott, amely átmenetileg leállította a kormányzási döntéseket. 

Késések szerepeltetése az időzár-szerződés használatával: Az időkésleltetett műveletek lehetővé teszik a közösség számára, hogy felülvizsgálja a protokoll módosításait, mielőtt azok hatályba lépnének. Ezeket az időkéséseket Timelock szerződésekkel lehet megvalósítani. 

Protokollhoz kapcsolódó sebezhetőségek: A protokoll kódolására használt szoftver meghatározott üzleti logikán működik, amelyek eltérőek lehetnek egymástól. Így járnak el azok a problémák is, amelyek a rendszerben történő változtatások végrehajtása során merülnek fel. 

Ami azt illeti, a Compound protokoll problémát szenvedett egy manipulatív közösségi javaslat jóváhagyása miatt. Ezért mindig érdemes alaposan átnézni a kódexet társak és független felek által, hogy biztosítsák a szerződés erősségét és megbízhatóságát.

QuillAudits Eminence a DAO intelligens szerződések auditálásában

Napjainkban ahhoz, hogy egy rendszer tisztán önműködő legyen, sok projekt kitalálja a beágyazódás módját. Láncon belüli kormányzás

A láncon belüli irányítás olyan eszköz, amellyel a blokklánc-projektekben változtatásokat hajtanak végre. A szabályokat a protokollok kódolják, és a fejlesztők változtatásokat javasolnak a kód frissítésével. A javasolt változtatás a közösségi tagok/résztvevők szavazatai alapján valósul meg.

” data-gt-translate-attributes=”[{“attribútum”:”data-cmtooltip”, “format”:”html”}]”>láncon belüli irányítás. Tehát a terület gyorsan fejlődik és virágzik közösségi igényeik szerint. 

A támadások is egyre bonyolultabbak, ami egyszerre jelent kihívást és sokba kerül. Ezért gondoskodni kell arról, hogy a folyamatok a helyükön legyenek, és a kódot szigorúan betartsák. QuillAudits kiterjedt tanulmányozást végez és auditálja a kódot, hogy kizárja az esetleges buktatókat, és megvédje a projektet a rosszindulatú tevékenységektől.

16 Nézetek

Időbélyeg:

Még több Quillhash