Kas ir viedā līguma drošības audits?
Sākums
Raksti
Kas ir viedā līguma drošības audits?

Kas ir viedā līguma drošības audits?

Sarežģītākas tēmas
Publicēts Mar 1, 2022Atjaunināts Apr 27, 2023
8m

Īsumā

Viedā līguma drošības audits ietver projekta viedo līgumu detalizētu analīzi. Tas ir nozīmīgs process, kas palīdz aizsargāt šajos līgumos ieguldītos līdzekļus. Visi blokķēdē veiktie darījumi ir galīgi, un zādzības gadījumā līdzekļus nevar atgūt. Parasti auditori pārbauda viedā līguma kodu, sastāda ziņojumu un iesniedz to projekta komandai turpmāku pasākumu veikšanai. Pēc tam tiek publicēts galīgais ziņojums, kurā norādītas neatrisinātās kļūdas un darbības, kas jāveic, lai novērstu veiktspējas un drošības problēmas.


Ievads

Viedo līgumu drošības auditi ir ļoti izplatīta prakse decentralizēto finanšu (DeFi) ekosistēmā. Ja esi kādreiz ieguldījis blokķēdes projektā, tavu lēmumu zināmā mērā varētu būt ietekmējuši viedā līguma koda analīzes rezultāti.

Daudzi apzinās kiberdrošības auditu nozīmīgumu, taču nebūt ne visi paši iedziļinās koda rindiņās. Apskatīsim tipiskākās viedo līgumu drošības audita metodes, rīkus un rezultātus, lai tu varētu pieņemt pārdomātākus lēmumus.


Kas ir viedā līguma audits?

Viedā līguma drošības auditā tiek vērtēts un komentēts projekta viedā līguma kods. Parasti šie līgumi ir rakstīti Solidity programmēšanas valodā un publicēti, izmantojot GitHub. Drošības auditi ir īpaši vērtīgi DeFi projektiem, kas plāno apstrādāt blokķēdes darījumus miljoniem dolāru vērtībā vai ļoti lielam dalībnieku skaitam. Šie auditi parasti ietver četrus posmus:

1. Viedie līgumi tiek iesniegti audita komandai sākotnējai analīzei.

2. Audita komanda prezentē projektam savus atklājumus, lai projekta komanda varētu tos risināt.

3. Projekta komanda veic nepieciešamās izmaiņas, ņemot vērā konstatētās problēmas.

4. Audita komanda iesniedz galīgo ziņojumu, kurā tiek ņemtas vērā pēdējās izmaiņas un vēl neatrisinātās problēmas.

Daudziem kriptovalūtu lietotājiem, veicot ieguldījumus jaunos DeFi projektos, viedo līgumu auditi ir ļoti svarīgi. Tie ir kļuvuši par standartu projektiem, kas vēlas tikt uztverti kā nopietni tirgus dalībnieki. Noteikti audita pakalpojumu sniedzēji tiek uzskatīti par tirgus līderiem, un to veiktajiem auditiem investori piešķir lielāku vērtību.


Kāpēc ir nepieciešami viedo līgumu auditi?

Ņemot vērā lielās summas, kas tiek iesaldētas viedajos līgumos vai izmantotas darījumos ar viedajiem līgumiem, tie nereti kļūst par mērķi hakeru veiktiem ļaunprātīgiem uzbrukumiem. Nelielu programmēšanas kļūdu rezultātā var tikt nozagtas lielas naudas summas. Piemēram, DAO uzlaušanas rezultātā Ethereum blokķēdē tika nozagti ETH aptuveni 60 miljonu dolāru vērtībā un pat bija jāveic Ethereum tīkla protokola uzlabojums.

Tā kā darījumi blokķēdē ir neatgriezeniski, ir svarīgi pārliecināties par projekta koda drošību. Blokķēdes tehnoloģijas augstā drošības līmeņa dēļ ir sarežģīti atgūt līdzekļus un atrisināt problēmas, kad tās ir jau radušās, tāpēc visiem iespējamajiem līdzekļiem ir jācenšas novērst jebkādas drošības nepilnības.


Kā tiek veikti viedo līgumu auditi?

Viedo līgumu audita procedūra auditoru vidū ir visai standartizēta. Lai arī katra auditora pieeja var būt nedaudz atšķirīga, parasti process ir šāds:

1. Noteikt revīzijas tvērumu. Projekts definē viedā līguma un projekta specifikācijas (paredzamo lietojumu) un vispārējo arhitektūru. Izmantojot specifikāciju, audita komanda var saprast projekta mērķus tā koda rakstīšanas un izmantošanas procesā.

2. Sagatavot sākotnējo piedāvājumu, ņemot vērā nepieciešamā darba apjomu.

3. Veikt pārbaudes. To nianses ir atkarīgas no revīzijas komandas, analīzē izmantotajiem rīkiem un metodēm. Parasti tiek veiktas gan manuālas, gan automatizētas pārbaudes.

4. Sagatavot pirmo ziņojuma melnrakstu, kurā norādītas konstatētās kļūdas, un iesniegt to projekta komandai atgriezeniskās saiknes sniegšanai un labojumu veikšanai.

5. Publicēt galīgo ziņojumu, kurā ņemtas vērā komandas veiktās darbības, lai risinātu konstatētās problēmas.


Viedo līgumu audita metodes

Gāzes resursu efektīvs izlietojums 

Viedā līguma auditā uzmanība tiek pievērsta ne tikai blokķēdes drošībai. Tiek vērtēta arī efektivitāte un optimizācija. Daži līgumi savas funkcijas izpildīšanai veic sarežģītas darījumu virknes. Ņemot vērā augstās gāzes komisijas maksas tādos tīklos kā Ethereum, efektīvi līgumi var ievērojami samazināt darījumu izmaksas.

Viedā līguma darbības optimizēšana liecina arī par izstrādātāja kompentenci. Neefektīvas darbības rezultātā veidojas lielāks iespējamo kļūdu skaits, un no tā ir jācenšas izvairīties. Ja gāzes komisijas maksa ir augsta, viedā līguma izpilde ir apdraudēta – īpaši tad, ja tiek izmantots zems gāzes ierobežojums.

Līguma ievainojamība

Lielākā daļa revīzijas darba ir saistīta ar līguma drošības risku pārbaudi. Daļa problēmu ir viegli saskatāma, taču daudzos gadījumos līdzekļu izkrāpšanai tiek izmantoti sarežģīti paņēmieni un stratēģijas. Piemēram, vājiem viedajiem līgumiem var izmantot tirgus manipulācijas, lai veiktu ātro kredītu uzbrukumus. Lai konstatētu šādas problēmas, auditoriem jāveic sistēmas drošības pārbaude un jāsimulē ļaunprātīgi uzbrukumi viedajam līgumam. Populārākās ievainojamības problēmas:

1. Atkārtotas piekļuves problēmas: kad viedais līgums veic ārēju pieprasījumu citam ārējam līgumam pirms kāda procesa pabeigšanas. Rezultātā šis ārējais līgums var veikt pretēju pieprasījumu pirmajam viedajam līgumam un mijiedarboties ar to neatļautos veidos, jo pirmā līguma atlikums vēl nav atjaunināts.
2. Veselu skaitļu pārpilde un izzude: kad viedais līgums veic aritmētisku darbību, taču rezultāts pārsniedz krātuves ietilpību (parasti – 18 zīmes aiz komata). Tā rezultātā var tikt aprēķināti nepareizi skaitļi.
3. Apsteigšanas iespējas: nekvalitatīvi sastādīts kods var izraisīt pāragrus paziņojumus par tirgū veiktajiem pirkšanas vai pārdošanas darījumiem. Citi savukārt var izmantot šo informāciju tirdzniecībā savtīgos nolūkos.

Platformas drošības trūkumi

Vairumā auditu tiek vērtēts tīkls, kurā darbojas attiecīgie līgumi, un pat API, ko izmanto mijiedarbībai ar decentralizēto lietotni. Projektam var pastāvēt dalītā pakalpojumatteices uzbrukuma (DDoS) risks vai var būt apdraudēta vietnes lietotāja saskarne, kā rezultātā lietotāji faktiski pievienotu savus makus ļaunprātīgām blokķēdes lietotnēm.


Kas ir revīzijas ziņojums?

Revīzijas ziņojums tiek iesniegts audita noslēgumā. Atklātības nolūkā projektiem ir jāziņo savai kopienai par audita atklājumiem. Šajos ziņojumos parasti problēmas tiek grupētas pēc nozīmīguma – kritiskas, būtiskas, nebūtiskas u. tml. Šajā ziņojumā tiek norādīts arī problēmas statuss, jo projektiem pirms galīgā ziņojuma publicēšanas tiek dots laiks problēmu novēršanai.

Līdz ar audita kopsavilkumu standarta ziņojumā parasti ir ietvertas rekomendācijas, pārpalicīga koda piemēri un pilns pārskats par konstatētajām programmēšanas kļūdām. Projektam tiek dots laiks, lai risinātu ziņojumā iekļautās problēmas pirms galīgā revīzijas pārskata publicēšanas.


Kur var pasūtīt viedā līguma auditu?

Vairāki viedo līgumu audita pakalpojumu sniedzēji ir kļuvuši plaši pazīstami. Ir divi populārākie audita pakalpojumu sniedzēji – izvēloties tos audita veikšanai, tiks sagatavots sākotnējais piedāvājums un būs jānodod viņu rīcībā informācija.

CertiK

CertiK ir nozares līderis viedo līgumu audita jomā. Uzņēmums ir revidējis simtiem dažādu projektu viedos līgumus. Kā piemēru var minēt BSC lielāko automatizēto tirgus veidotāju (AMM) – PancakeSwap. Tālāk norādīts fragments no CertiK veiktā PancakeSwap audita.


Arī vairums Binance Labs atbalstīto projektu ir veikuši savu līgumu auditu, izmantojot CertiK. CertiK publicē revidēto projektu līderu sarakstu, kas sniedz iespēju salīdzināt projektus un to drošības rādītājus. Papildus Ethereum CertiK revidē arī BSC un Polygon blokķēdes projektus.


ConsenSys Diligence

Ethereum līdzdibinātāja Džozefa Lubina vadītais "ConsenSys" ir viens no kriptovalūtu nozarē zināmākajiem nosaukumiem saistībā ar blokķēžu istrādi. Ar nosaukumu "ConsenSys Diligence" šis uzņēmums nodrošina Ethereum viedo līgumu audita pakalpojumus. Tas piedāvā arī automatizētu pakalpojumu, kas pārbauda izplatītāko kļūdu klātesamību Ethereum virtuālās mašīnas (EVM) līgumos.


Cik maksā viedā līguma audits?

Precīzas audita izmaksas ir atkarīgas no pārbaudāmo viedo līgumu skaita. Parasti audita cena ir mērāma tūkstošos dolāru. Īpaši liela projekta audits var izmaksāt vairāk nekā 10 000 $. Audita cenu ietekmē arī audita kompānija, kas veic auditu, un tās reputācija.


Noslēgumā

Par laimi investoriem un lietotājiem, viedo līgumu auditi ir kļuvuši par industrijas standartu. Tomēr, tā kā auditi tiek veikti visiem projektiem, audita esamība vairs nav uzskatāma par vērtības rādītāju. Tāpēc ir ļoti svarīgi patstāvīgi iepazīties ar revīzijas pārskatu. Pat tad, ja tev nav tehnisko zināšanu, ir vērts pārskatīt komentāru sadaļu un konstatēto problēmu nozīmīgumu.

Tagad, saskaroties ar revīzijas pārskatu, tev varētu būt nedaudz vieglāk saprast tā saturu. Kā vienmēr – taviem investīciju lēmumiem ir jābūt balstītiem visaptverošā apstākļu un informācijas izvērtējumā.