Hvordan hjelper DAO Smart Contract Audits med å forsterke sikkerheten? PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Hvordan hjelper DAO Smart Contract Audits med å forsterke sikkerheten?

Lesetid: 6 minutter

Opprettelsen av DAO er unik for web3, som utnytter kompetansen til blockchain til å styre protokollene uten å involvere sentraliserte enheter.  

DAO er sterkt sentrert rundt to fasetter - kryptering og distribuert lagring. Dette gir dem mulighetene til å kjøre basert på felles beslutninger fra fellesskapsmedlemmer.

Som med enhver Web3-protokoll, henger også sikkerhetsproblemer rundt DAO-protokoller. 

Denne artikkelen tar sikte på å få frem den underliggende infrastrukturen til DAO og retningslinjer for å improvisere deres smarte kontraktsikkerhet for å tåle angrep.   

Formålet med DAO

Ethereum har alltid æren for å være den første programmerbare blokkjeden noensinne. Det har en enorm rolle i å bringe ekte desentralisering ved å la utviklere leke med kode.

På den måten, DAO smarte kontrakter er laget for å fostre Styring i kjeden

On-chain governance er et middel for å implementere endringer i blokkjedeprosjekter. Reglene er kodet i protokollene, og utviklere foreslår endringer gjennom kodeoppdateringer. Den foreslåtte endringen gjennomføres basert på fellesskapets medlemmers/deltakernes stemmer.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]">styring i kjeden som rettferdiggjør det faktum at lokalsamfunn utelukkende driver blokkjeden. 

Akkurat som alle andre smarte kontrakter, er DAO-kontrakter i utgangspunktet designet for å automatisere prosessen og utføre handlinger når de forhåndsdefinerte betingelsene er oppfylt. 

For å illustrere med et eksempel, vurder en ERC-20 token-kontrakt. Den er laget basert på ERC-20-standarder med informasjon som kontraktsadresse, tokenforsyning, tokennavn, tokenoverføringsbetingelser, etc. 

Operasjonen av tokenet utføres når de angitte reglene er oppfylt. På samme måte er DAO-kontrakten kodet for å diktere organisasjonens arbeid, for eksempel å bestemme fondsfordelingen i henhold til stemmeforslagene til medlemmene. 

For eksempel har DAO innebygde skattkammer. Midlene fra disse brukes etter konsernets godkjenning, og ingen enkelt myndighet har tilgang til å gjennomføre noen plan. 

Stemmeforslagene for å ta kritiske beslutninger knyttet til prosjektet sikrer at alle deltakeres stemme blir hørt, noe som fører til bedre tillit og åpenhet i aktiviteter i kjeden. 

Styringsrettighetene på virksomheten til organisasjonene varierer fra protokoll til protokoll, og det er rent subjektivt hvordan DAO-koding gjøres. Så det er viktig å ta hensyn til de styrende rettighetene brukere har på protokollen før de registrerer seg i noen DAO-er. 

Trinn involvert i å sette opp DAO smarte kontrakter

Mekanikken til Styring i kjeden

On-chain governance er et middel for å implementere endringer i blokkjedeprosjekter. Reglene er kodet i protokollene, og utviklere foreslår endringer gjennom kodeoppdateringer. Den foreslåtte endringen gjennomføres basert på fellesskapets medlemmers/deltakernes stemmer.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]">styring i kjeden utføres gjennom et sett med kontrakter – token, guvernør og tidslås . La oss finne ut rollen til hver av dem. 

Token: Tokens bestemmer stemmestyrken til fellesskapets medlemmer å delta i Styring i kjeden

On-chain governance er et middel for å implementere endringer i blokkjedeprosjekter. Reglene er kodet i protokollene, og utviklere foreslår endringer gjennom kodeoppdateringer. Den foreslåtte endringen gjennomføres basert på fellesskapets medlemmers/deltakernes stemmer.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>styring i kjeden. Token-kontrakten sikrer at balansen er verifisert for å hente kraften og la deltakerne uttrykke sine valg om styringsforslag. 

Guvernør: Guvernørkontrakten er kodet med betingelser om tildeling av makt til token-innehavere, hvilken type tokens som kan aksepteres, telle på antall stemmer som kreves for forumet og så videre. Utviklere kan imidlertid kode med funksjonsspesifikasjonene om hvordan de vil at kontraktene skal fungere. 

Dessuten inkluderer guvernørkontrakten også stemmeforsinkelse og spesifikasjoner for stemmeforslag i koden. Det tjener det formål å gi instruksjoner om hvor lenge stemmeforslaget er åpent for deltakerne å stemme. 

Timelock: Timelock-aspektet involverer AcessControl-oppsettet for den foreslåtte rollen, utførerrollen og administratorrollen. Å integrere timelock-komponenten med styringssystemene gir deltakerne frihet til å gå bort i tilfelle uenighet med avgjørelsen. 

Høynivåvisning på sikkerhetsdreads for DAO-er. 

DAOs avhengighet av smarte kontrakter holder dem ansvarlige for styringsstemmegivning og vedlikehold av statskassen. Og hvert av disse elementene har sine egne sikkerhetsproblemer; la oss slappe av dem nedenfor. 

Sikkerhetsproblemer i smart kontrakt

La oss spole litt tilbake og minnes den velkjente 'DAO-undergangen'. Den dominerende årsaken var feilen i DAO-koden. Hackeren var i stand til å utnytte sårbarheten og tappe penger fra kontrakten ved å gjøre Rekursive samtaler

Rekursivt anrop er en tilstand som kan referere til seg selv og kalle dem opp igjen og igjen i en loop. Den rekursive funksjonen bruker grunntilfelle (hvis) og induksjonstilfelle (annet). Re-entrancy-angrep utføres ved å utnytte rekursive anrop i koden.

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

Kontrakten inneholdt 12.7 millioner Ether, hvorav hackeren stjal 3.6 millioner ETH ved å utnytte smutthullet i kontrakten.

Denne hendelsen viser tydelig behovet for mer erfaring og eksperimentering med DAO-sikkerhet. Selv om DAO får stor ros for sin innovasjon, forårsaket kvaliteten på koden større skade.

Videre bør kodingen av de smarte kontraktene være helt gjennomsiktig for å sikre at ingen funksjoner blir til en feil senere. 

Sikkerhetsbekymringer for styring

Det er flere måter hackere kan trenge inn i protokollens styring. Til å begynne med er desentraliserte varsler en måte der hvis en hacker kan blokkere varsler, kan de introdusere ondsinnede forslag som går ubemerket hen av andre DAO-medlemmer. 

Neste er forslaget som krever multicall-transaksjoner. Hvis forslaget ikke blir gjennomgått eller revidert av DAO, kan angriperen bruke dem til å produsere komplekse utfall. 

Feil terskler og upassende tidslåser fører til muligheten for dårlige aktiviteter. Flash-lån er en annen bekymring for styringssikkerhet. Angripere kan låne en enorm sum av tokens som gir dem majoritetsmakt til å presse gjennom et forslag. 

Forslagene med ondsinnede hensikter reiser en alvorlig sikkerhetsproblem over endringene implementert i protokollen. AAVE og Compound har lidd av denne typen hacks tidligere. 

Sikkerhetsbekymringer ved utførelse

MakerDAO, lansert i Ethereum-nettverket i 2017, gikk bra. Inntil et markedskrasj traff i 2020 da prisen på Ether gikk så lavt som 50 % ned. Det var den viktigste sikkerheten som ble brukt i MakerDAO, og priskrakket utløste massiv likviditet.

MakerDAO var ikke designet for å håndtere en så stor avvikling som resulterte i et større økonomisk tap. Selv om kodingen var sterk her, var feilen i utførelse av likvidasjonsmekanismen. 

Fra da ble utførelsen av DAO-mekanismen også lagt til listen over andre eksisterende sikkerhetsproblemer. 

Sjekkliste for DAO smart kontraktrevisjoner

Sikkerhet er det dominerende aspektet i Styring i kjeden

On-chain governance er et middel for å implementere endringer i blokkjedeprosjekter. Reglene er kodet i protokollene, og utviklere foreslår endringer gjennom kodeoppdateringer. Den foreslåtte endringen gjennomføres basert på fellesskapets medlemmers/deltakernes stemmer.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]">styring i kjeden for å beskytte makten mot å falle i dårlige hender. Så, fra et sikkerhetssynspunkt, la oss finne retningslinjene for å utvikle robuste DAO-kontrakter.

Anrop på lavt nivå: Anrop til vilkårlige kontrakter som henter vilkårlige data må håndteres nøye. 

Det er vanskelig å håndtere samtaler på lavt nivå fordi det kan åpne for sjansen for gjeninntredende angrepsvektorer. Så det er alltid god praksis å verifisere suksesstilstanden til samtalene og deretter håndtere de returnerte dataene. 

ETH beholdning: Basert på revisjonsfunnene har det vært mange tilfeller der ETH ikke håndteres forsvarlig i styringsrelaterte kontrakter. Så det foreslås å sikre måten å sende ETH på når styringskontraktene krever håndtering av ETH.

En annen forholdsregel å observere er når du bruker msg.value som tillater batch-anrop. Sjansen er stor for at dette mønsteret kan gå galt. 

Avstå fra utnyttelse av Flash-lån: Flash-lån er avhengige av utnyttere som ønsker å påvirke styringsbeslutningene og sette i gang et angrep. De tar flashlån og sikrer styringsstemmene gjennom tokenbeholdninger for å manipulere en styringsbeslutning. 

Derfor kan du unngå å måle stemmestyrke ved gjeldende blokk, da flashlånet som tas for å få styringsmakt setter systemet i fare. 

Vanlige oppdateringer: Selv om det ikke nødvendigvis er noen feil i kontrakten, bør du alltid sjekke markedet for styringssymboler og justere terskelen deretter. Ellers ville det tillate ondsinnede aktører å ta over avgjørelsene.

Sørg for at du tar hensyn til spesifikke ting mens du migrerer og oppgraderer styringssystemet. Det har vært tilfeller som det som skjedde med Uniswap. Migrasjonen til guvernør Bravo initialiserte en kontraktsfeil som midlertidig stoppet styringsbeslutninger. 

Inkluder forsinkelser ved bruk av timelock-kontrakt: Tidsforsinkede handlinger gjør det mulig for fellesskapet å gjennomgå endringene i protokollen før de trer i kraft. Disse tidsforsinkelsene kan implementeres via Timelock-kontrakter. 

Protokollrelaterte sårbarheter: Programvaren som brukes til å kode en protokoll, fungerer på spesifikk forretningslogikk som kan variere fra hverandre. Det samme gjør problemene som oppstår når du utfører endringer i det systemet. 

Faktisk fikk Compound-protokollen et problem på grunn av godkjenningen av et manipulerende fellesskapsforslag. Derfor er det alltid greit å ha en grundig gjennomgang av koden av fagfeller og uavhengige parter for å sikre styrken og forsvarligheten til kontrakten.

QuillAudits Eminence In DAO Smart Contract Auditing

I dagens tid, for at et system skal være rent selvfungerende, er mange prosjekter i ferd med å finne ut Styring i kjeden

On-chain governance er et middel for å implementere endringer i blokkjedeprosjekter. Reglene er kodet i protokollene, og utviklere foreslår endringer gjennom kodeoppdateringer. Den foreslåtte endringen gjennomføres basert på fellesskapets medlemmers/deltakernes stemmer.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>styring i kjeden. Så feltet utvikler seg raskt og blomstrer i henhold til samfunnets behov. 

Angrepene blir også kompliserte, noe som både er utfordrende og koster tungt. Derfor er det nødvendig å sikre at prosessene er på plass og at koden følges nøye. QuillAudits utfører omfattende studier og reviderer koden for å utelukke potensielle fallgruver og sikre prosjektet fra ondsinnede aktiviteter.

16 Visninger

Tidstempel:

Mer fra Quillhash