Vad Àr en sÀkerhetsrevision av ett smart kontrakt?
Hem
Artiklar
Vad Àr en sÀkerhetsrevision av ett smart kontrakt?

Vad Àr en sÀkerhetsrevision av ett smart kontrakt?

Avancerad
Publicerad Mar 1, 2022Uppdaterad Apr 27, 2023
8m

TL;DR

SÀkerhetsrevisioner av smarta kontrakt ger en detaljerad analys av ett projekts smarta kontrakt. Dessa Àr viktiga för att skydda tillgÄngar som investeras via dem. Eftersom alla transaktioner pÄ blockkedjan Àr slutgiltiga kan tillgÄngar inte hÀmtas om de skulle bli stulna. Vanligtvis kommer revisorer att undersöka koden för smarta kontrakt, skriva en rapport och tillhandahÄlla den till projektet sÄ att de kan arbeta med den. En slutrapport ges sedan ut, som beskriver eventuella utestÄende fel och det arbete som redan gjorts för att ÄtgÀrda prestanda- eller sÀkerhetsproblem.


Introduktion

SÀkerhetsrevisioner av smarta kontrakt Àr mycket vanliga i ekosystemet Decentraliserad finans (DEFi). Om du har investerat i ett blockkedjeprojekt kan ditt beslut delvis ha varit baserat pÄ resultaten av en sÀkerhetsrevision av smarta kontrakt.

Även om de flesta förstĂ„r vikten av revisioner för cybersĂ€kerhet, Ă€r det inte mĂ„nga som lĂ€ser koden. LĂ„t oss ta en titt pĂ„ de metoder, verktyg och resultat som vanligtvis finns i sĂ€kerhetsrevisioner av smarta kontrakt, sĂ„ att du kan fatta mer vĂ€lgrundade beslut.


Vad Àr en revision av smarta kontrakt?

SÀkerhetsrevisioner av smarta kontrakt undersöker och kommenterar ett projekts smarta kontraktskod. Vanligtvis Àr dessa kontrakt skrivna i programmeringssprÄket Solidity och tillhandahÄlls via GitHub. SÀkerhetsrevisioner Àr sÀrskilt vÀrdefulla för DeFi-projekt som förvÀntar sig att hantera blockkedjetransaktioner vÀrda miljontals dollar eller en enorm mÀngd anvÀndare. Revisionerna följer vanligtvis en process i fyra steg:

1. De smarta kontrakten tillhandahÄlls till revisionsteamet för inledande analys.

2. Revisionsgruppen presenterar sina resultat för projektet, sÄ att det kan agera efter detta.

3. Projektgruppen gör Àndringar baserat pÄ de problem som har hittats.

4. Revisionsgruppen slÀpper sin slutrapport, och tar hÀnsyn till eventuella nya Àndringar eller utestÄende fel.

För mÄnga kryptoanvÀndare Àr revisioner av smarta kontrakt avgörande nÀr man investerar i nya DeFi-projekt. Det har blivit standard för projekt som vill tas pÄ allvar. Vissa revisionsleverantörer ses ocksÄ som branschledare, vilket gör deras revisioner mer vÀrdefulla i investerarnas ögon.


Varför behöver vi revisioner av smarta kontrakt?

Med de enorma mÀngder med vÀrde i transaktioner via eller lÄsta i smarta kontrakt, blir de attraktiva mÄl för skadliga attacker frÄn hackare. SmÄ kodningsfel kan leda till att enorma summor pengar stjÀls. Som exempel tog DAO-hacket pÄ Ethereum-blockkedjan ETH till ett vÀrde av ungefÀr 60 miljoner dollar, och detta ledde till och med till en hÄrd gaffel av Ethereum-nÀtverket.

Eftersom blockkedjetransaktioner Àr oÄterkalleliga Àr det viktigt att se till att ett projekts kod Àr sÀker. Blockkedjeteknikens mycket sÀkra karaktÀr gör det svÄrt att hÀmta tillgÄngar och lösa problem i efterhand, sÄ det Àr bÀttre att förhindra sÄrbarheter till varje pris.


Hur fungerar revisioner av smarta kontrakt?

Processen för en revision av smarta kontrakt Ă€r ganska standard bland revisionsleverantörer. Även om varje revisors tillvĂ€gagĂ„ngssĂ€tt kan skilja sig nĂ„got, ser den typiska processen ut sĂ„ hĂ€r:

1. BestÀm revisionens omfattning. Det smarta kontraktet och projektspecifikationerna definieras av projektet (det avsedda syftet) och den övergripande arkitekturen. En specifikation hjÀlper revisionsteamet att förstÄ projektets mÄl nÀr de skriver och anvÀnder koden.

2. Ge en första offert, baserad pÄ mÀngden arbete som behövs.

3. Kör tester. Deras exakta tillvÀgagÄngssÀtt kommer att förÀndras beroende pÄ revisionsteamet, deras analysverktyg och deras metoder. Vanligtvis utförs bÄde manuella och automatiserade tester.

4. Skapa ett första utkast till rapporten med upptÀckta fel och ge det till projektteamet för feedback och uppföljande Àndringar.

5. Publicera slutrapporten och övervÀg eventuella ÄtgÀrder som vidtagits av teamet för att ta itu med frÄgor som uppstÄr.


Revisionsmetoder för smarta kontrakt

Gaseffektivitet 

Revisioner av smarta kontrakt fokuserar inte bara pÄ blockkedjesÀkerhet. De tittar ocksÄ pÄ effektiviteten och optimeringen. Vissa kontrakt gör en komplicerad serie transaktioner för att slutföra dess avsedda funktion. Eftersom gasavgifter pÄ nÀtverk som Ethereum Àr relativt dyra kan effektiva kontrakt spara mycket pÄ transaktionskostnader.

Att optimera deras prestanda Àr ocksÄ en indikator pÄ utvecklarens kunskap. Ineffektiva steg ger högre risk för misslyckanden och bör undvikas. NÀr gaskostnaderna Àr höga kan smarta kontrakt misslyckas, och i Ànnu högre grad nÀr en lÄg gasgrÀns anvÀnds.

KontraktssÄrbarheter

Det mesta av arbetet med revisionerna gĂ„r ut pĂ„ att kontrollera kontrakt för sĂ€kerhetsbrister. Även om vissa problem kan vara lĂ€tta att se, involverar mĂ„nga av dem utnyttjande avancerade tekniker och strategier för att tömma tillgĂ„ngar. Till exempel kan marknadsmanipulation anvĂ€ndas med svaga smarta kontrakt för att genomföra flashlĂ„nsattacker. För att hitta dessa problem startar revisorerna testningsprocessen för pauser och simulerar skadliga attacker pĂ„ det smarta kontraktet. Vanliga sĂ„rbarheter inkluderar:

1. ÅtertrĂ€desproblem: NĂ€r ett smart kontrakt gör ett externt samtal till ett annat externt kontrakt innan nĂ„gra effekter Ă€r lösta. Det externa kontraktet kan sedan rekursivt anropa det ursprungliga smarta kontraktet och interagera med det pĂ„ sĂ€tt som det inte borde kunna göra, eftersom det ursprungliga kontraktets balans Ă€nnu inte har uppdaterats.
2. Heltalsöver- och underflöden: NÀr ett smart kontrakt utför en aritmetisk operation, men utdata överstiger lagringskapaciteten (vanligtvis 18 decimaler). Detta kan leda till att felaktiga belopp berÀknas.
3. Möjligheter till tidig info: DÄligt strukturerad kod kan ge förvarning om marknadsköp eller försÀljning. Detta kan i sin tur tillÄta andra att anvÀnda informationen och handla med den för sin egen fördel.

SÀkerhetsbrister pÄ plattformen

De flesta granskningar inkluderar att titta pÄ nÀtverket som Àr vÀrd för kontrakten och till och med API:et som anvÀnds för att interagera med DApp. Ett projekt kan vara sÄrbart för en DDoS-attack eller att dess webbplats UI hackas, vilket innebÀr att anvÀndare faktiskt kommer att ansluta sina plÄnböcker till skadliga blockkedjeapplikationer.


Vad Àr en revisionsrapport?

Revisionsrapporten tillhandahÄlls i slutet av revisionsprocessen. För transparens förvÀntas projekten dela sina resultat med communityn. De flesta rapporter kategoriserar problem efter svÄrighetsgrad, sÄsom kritiska, större, mindre, osv. Rapporten listar ocksÄ problemets status, sÄ att projekten fÄr tid att lösa dessa innan slutrapporten slÀpps.

Förutom en sammanfattning innehÄller en standardrapport rekommendationer, exempel pÄ onödig kod och en fullstÀndig uppdelning av var kodningsfel finns. Projektet fÄr sedan tid pÄ sig för att agera utefter rapportens resultat innan den slutliga versionen slÀpps.


Var kan jag hitta en revision av smarta kontrakt?

Ett antal revisionstjÀnster för smarta kontrakt har blivit vÀlkÀnda för sina tjÀnster. TvÄ Àr sÀrskilt populÀra och att fÄ en revision frÄn dem krÀver en första offert och överlÀmnande av information.

CertiK

CertiK Àr branschledande nÀr det gÀller revisioner av smarta kontrakt. Hundratals projekt har granskat sina smarta kontrakt hos dem. PancakeSwap, som Àr BSC:s största Automated Market Maker (AMM) Àr ett exempel. Nedan Àr ett avsnitt av Certiks revision av PancakeSwap.


Dessutom har de allra flesta projekt som stöds av Binance Labs granskat sina kontrakt med CertiK. CertiK slÀpper en topplista med granskade projekt, som lÄter dig jÀmföra var och en, tillsammans med en sÀkerhetspoÀng. Observera att förutom Ethereum sÄ tÀcker CertiK Àven BSC- och Polygon-projekt.


ConsenSys Diligence

ConsenSys, som drivs av en av Ethereums grundare Joseph Lubin, Àr ett av kryptovalutabranschens största namn inom blockkedjeutveckling. Som ConsenSys Diligence erbjuder företaget Ethereum revisioner av smarta kontrakt. De tillhandahÄller ocksÄ en automatiserad tjÀnst som kontrollerar Ethereum Virtual Machine (EVM)-kontrakt för vanliga misstag.


Hur mycket kostar en revision av smarta kontrakt?

Den exakta kostnaden för en revision beror pÄ antalet smarta kontrakt som ska kollas upp. Vanligtvis kostar en revision tusentals dollar. Ett extra stort projekt kan lÀtt kosta över 10 000 USD. Revisionsföretaget som sköter din revision och dess rykte pÄverkar ocksÄ hur mycket du betalar för den.


Sammanfattningsvis

Lyckligtvis för investerare och anvĂ€ndare har revisioner av smarta kontrakt blivit en gyllene standard. Men nĂ€r varje projekt har en sĂ„dan Ă€r det inte lĂ€ngre en enkel vĂ€rdeindikator. Det Ă€r dĂ€rför det Ă€r otroligt viktigt att lĂ€sa revisionen sjĂ€lv. Även om du inte har den tekniska kunskapen Ă€r det bra att ta en titt pĂ„ kommentarerna och hur allvarliga potentiella problem Ă€r.

NÀr du gÄr igenom en revision bör du nu Ätminstone ha en del förstÄelse för dess innehÄll. Se som alltid till att alla investeringsbeslut innefattar ett helhetsperspektiv och tar hÀnsyn till all information.