Hur hjälper DAO Smart Contract Audits till att stärka säkerheten? PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Hur hjälper DAO Smart Contract Audits till att stärka säkerheten?

Lästid: 6 minuter

Skapandet av DAO är unikt för web3, som utnyttjar blockchains kompetens för att styra protokollen utan att involvera centraliserade enheter.  

DAO är starkt centrerad kring två aspekter - kryptering och distribuerad lagring. Detta ger dem förmågan att köra baserat på det kollektiva beslutet från gemenskapsmedlemmarna.

Som med alla Web3-protokoll, hänger säkerhetsproblem också kring DAO-protokoll. 

Den här artikeln syftar till att ta fram den underliggande infrastrukturen för DAO och riktlinjer för att improvisera deras smarta kontraktssäkerhet för att uthärda attacker.   

Syftet med DAO

Ethereum har alltid äran för att vara den första programmerbara blockkedjan någonsin. Det har en oerhört stor roll i att skapa verklig decentralisering genom att tillåta utvecklare att leka med kod.

I det avseendet, DAO smarta kontrakt är utformade för att främja Styrning i kedjan

Styrning i kedjan är ett sätt genom vilket förändringar implementeras i blockkedjeprojekt. Reglerna är kodade i protokollen och utvecklare föreslår ändringar genom koduppdateringar. Den föreslagna förändringen verkställs baserat på communitymedlemmarnas/deltagarnas röster.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]">styrning i kedjan som motiverar det faktum att samhällen enbart driver blockkedjan. 

Precis som alla andra smarta kontrakt är DAO-kontrakt i grunden utformade för att automatisera processen och utföra åtgärder när de fördefinierade villkoren är uppfyllda. 

För att illustrera med ett exempel, överväg ett ERC-20-tokenkontrakt. Det är skapat baserat på ERC-20-standarder med information som kontraktsadress, tokenleverans, tokennamn, tokenöverföringsvillkor etc. 

Funktionen av token exekveras när de inställda reglerna är uppfyllda. På samma sätt är DAO-kontraktet kodat för att diktera organisationens arbete, såsom att besluta om fondfördelningen enligt medlemmarnas röstningsförslag. 

Till exempel har DAO inbyggda statskassor. Medlen från dessa används efter koncernens godkännande och ingen enskild myndighet har tillgång att genomföra någon plan. 

Omröstningsförslagen för att fatta kritiska beslut som rör projektet säkerställer att varje deltagares röst hörs, vilket leder till bättre förtroende och transparens i aktiviteter i kedjan. 

De styrande rättigheterna för organisationernas verksamhet varierar från protokoll till protokoll, och det är rent subjektivt hur DAO-kodning går till. Så det är viktigt att vara uppmärksam på de styrande rättigheterna användare har på protokollet innan de registrerar sig i några DAO:er. 

Steg involverade i att upprätta DAO smarta kontrakt

Mekaniken i Styrning i kedjan

Styrning i kedjan är ett sätt genom vilket förändringar implementeras i blockkedjeprojekt. Reglerna är kodade i protokollen och utvecklare föreslår ändringar genom koduppdateringar. Den föreslagna förändringen verkställs baserat på communitymedlemmarnas/deltagarnas röster.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]">styrning i kedjan utförs genom en uppsättning kontrakt – token, guvernör och tidslås . Låt oss ta reda på vilken roll var och en av dem har. 

Token: Tokens avgör röststyrkan för communitymedlemmarna att delta i Styrning i kedjan

Styrning i kedjan är ett sätt genom vilket förändringar implementeras i blockkedjeprojekt. Reglerna är kodade i protokollen och utvecklare föreslår ändringar genom koduppdateringar. Den föreslagna förändringen verkställs baserat på communitymedlemmarnas/deltagarnas röster.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>styrning i kedjan. Tokenkontraktet säkerställer att balansen verifieras för att hämta kraften och tillåta deltagarna att uttrycka sina val om styrningsförslag. 

Guvernör: Guvernörskontraktet är kodat med villkor för att tilldela makt till tokeninnehavare, vilken typ av polletter som är acceptabla, räkna på antalet röster som krävs för forumet och så vidare. Utvecklare kan dock koda med funktionsspecifikationerna om hur de vill att kontrakten ska fungera. 

Dessutom inkluderar guvernörskontraktet också omröstningsfördröjning och omröstningsförslagsspecifikationer i koden. Det tjänar till att ge instruktioner om hur länge röstningsförslaget är öppet för deltagarna att rösta. 

Timelock: Timelock-aspekten involverar AcessControl-inställningen för den föreslagna rollen, utförarrollen och administratörsrollen. Att integrera timelock-komponenten med styrsystemen ger deltagarna friheten att gå därifrån om de inte håller med beslutet. 

Högnivåvy om säkerhetsdreads för DAOs. 

DAOs beroende av smarta kontrakt håller dem ansvariga för styrningsomröstning och finansförvaltning. Och vart och ett av dessa element har sina egna säkerhetsproblem; låt oss varva ner dem nedan. 

Säkerhetsproblem i smarta kontrakt

Låt oss spola tillbaka lite och minnas den välkända 'DAO-undergången'. Den dominerande orsaken var felet i DAO-koden. Hackaren kunde utnyttja sårbarheten och tappa pengar från kontraktet genom att göra Rekursiva samtal

Rekursivt anrop är ett tillstånd som kan hänvisa till sig självt och anropa dem igen och igen i en loop. Den rekursiva funktionen använder basfall (if) och induktionsfall (annat). Återinträdesattacker utförs genom att utnyttja rekursiva anrop i koden.

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

Kontraktet innehöll 12.7 miljoner Ether, varav hackaren stal 3.6 miljoner ETH genom att utnyttja kryphålet i kontraktet.

Denna incident visar tydligt behovet av mer erfarenhet och experiment med DAO-säkerhet. Även om DAO är mycket beröm för sin innovation, orsakade kvaliteten på koden större skada.

Dessutom bör kodningen av de smarta kontrakten vara helt transparent för att säkerställa att ingen funktion förvandlas till en bugg senare. 

Säkerhetsproblem vid styrning

Det finns flera sätt där hackare kan inkräkta på protokollets styrning. Till att börja med är decentraliserade meddelanden ett sätt där om en hackare kan blockera meddelanden, kan de införa skadliga förslag som går obemärkt förbi av andra DAO-medlemmar. 

Nästa är förslaget som kräver flersamtalstransaktioner. Om förslaget inte granskas eller granskas av DAO kan angriparen använda dem för att skapa komplexa resultat. 

Fel trösklar och olämpliga tidslås leder till risken för dåliga aktiviteter. Flashlån är ett annat bekymmer för förvaltningssäkerhet. Angripare kan låna en enorm summa tokens som ger dem majoritetens makt att driva igenom ett förslag. 

Förslagen med illvilliga avsikter väcker en allvarliga säkerhetsproblem över de ändringar som genomförts i protokollet. AAVE och Compound har drabbats av dessa typer av hack tidigare. 

Säkerhetsproblem vid utförande

MakerDAO, som lanserades i Ethereum-nätverket 2017, gick bra. Tills en marknadskrasch inträffade 2020 när priset på Ether sjönk så lågt som 50 %. Det var den viktigaste säkerheten som användes i MakerDAO, och priskraschen utlöste massiv likviditet.

MakerDAO var inte designad för att hantera en sådan enorm likvidation som resulterade i en större ekonomisk förlust. Även om kodningen var stark här låg felet i att likvidationsmekanismen utfördes. 

Sedan dess har exekveringen av DAO-mekanismen också lagts till listan över andra befintliga säkerhetsproblem. 

Checklista för DAO smarta kontraktsrevisioner

Säkerhet är den dominerande aspekten i Styrning i kedjan

Styrning i kedjan är ett sätt genom vilket förändringar implementeras i blockkedjeprojekt. Reglerna är kodade i protokollen och utvecklare föreslår ändringar genom koduppdateringar. Den föreslagna förändringen verkställs baserat på communitymedlemmarnas/deltagarnas röster.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]">styrning i kedjan för att skydda makten från att hamna i dåliga händer. Så ur säkerhetssynpunkt, låt oss hitta riktlinjerna för att utveckla robusta DAO-kontrakt.

Lågnivåsamtal: Uppmaningar till godtyckliga kontrakt som hämtar godtyckliga data måste hanteras försiktigt. 

Att hantera lågnivåsamtal är knepigt eftersom det kan öppna upp chansen för återinträdesattackvektorer. Så det är alltid god praxis att verifiera framgångsvillkoret för samtalen och sedan hantera de returnerade data. 

ETH innehav: Baserat på granskningsresultaten har det förekommit många fall där ETH inte hanteras korrekt i förvaltningsrelaterade kontrakt. Så det föreslås att man säkerställer sättet att skicka ETH när förvaltningskontrakten kräver hantering av ETH.

En annan försiktighetsåtgärd att observera är när du använder msg.value som tillåter gruppsamtal. Chansen är stor att detta mönster kan gå fel. 

Avstå från utnyttjande av Flash-lån: Flash-lån förlitas på av exploatörer som vill påverka styrelsebesluten och inleda en attack. De tar snabblån och säkrar styrelserösterna genom tokeninnehav för att manipulera ett styrelsebeslut. 

Därför kan du undvika att mäta röststyrka vid det aktuella blocket, eftersom flashlånet som tas för att få ledningsmakt sätter systemet på spel. 

Regelbundna uppdateringar: Även om det inte nödvändigtvis finns några brister i kontraktet, bör du alltid kolla på marknaden för styrningstokens och justera tröskeln därefter. Annars skulle det tillåta illvilliga aktörer att ta över besluten.

Se till att du är uppmärksam på detaljerna när du migrerar och uppgraderar styrsystemet. Det har förekommit fall som det som hände med Uniswap. Dess migrering till guvernör Bravo initierade ett kontraktsfel som tillfälligt stoppade styrelsebeslut. 

Inkludera förseningar med timelock-kontrakt: Tidsfördröjda åtgärder gör det möjligt för gemenskapen att granska ändringarna i protokollet innan de träder i kraft. Dessa tidsfördröjningar kan implementeras via Timelock-kontrakt. 

Protokollrelaterade sårbarheter: Programvaran som används för att koda ett protokoll fungerar på specifik affärslogik som kan variera från varandra. Det gör även de problem som uppstår när man utför ändringar i det systemet. 

I själva verket drabbades Compound-protokollet av ett problem på grund av godkännandet av ett manipulativt gemenskapsförslag. Därför är det alltid bra att ha en noggrann genomgång av koden av kollegor och oberoende parter för att säkerställa avtalets styrka och sundhet.

QuillAudits Eminence In DAO Smart Contract Auditing

I dagens tid, för att ett system ska vara rent självfungerande, håller många projekt på att hitta ut hur de Styrning i kedjan

Styrning i kedjan är ett sätt genom vilket förändringar implementeras i blockkedjeprojekt. Reglerna är kodade i protokollen och utvecklare föreslår ändringar genom koduppdateringar. Den föreslagna förändringen verkställs baserat på communitymedlemmarnas/deltagarnas röster.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>styrning i kedjan. Så fältet utvecklas snabbt och blomstrar enligt deras samhällsbehov. 

Attackerna blir också komplicerade, vilket både är utmanande och kostar tungt. Därför är det nödvändigt att se till att processerna är på plats och att koden följs noga. QuillAudits utför omfattande studier och granskar koden för att utesluta eventuella fallgropar och skydda projektet från skadliga aktiviteter.

16 Visningar

Tidsstämpel:

Mer från Pilbåt