
Blockchain tehnoloģija ir izraisījusi uzņēmumu interesi visā pasaulē. Tā priekšrocības, tostarp nemainīgums un caurspīdīgums, ir likušas mantotajiem uzņēmumiem ārpus finanšu jomas, piemēram, BMW un Bosch, eksperimentēt ar viedajiem līgumiem, lai izveidotu efektīvākas piegādes ķēdes un ražotu viedākus inženiertehniskos produktus.
Viedie līgumi, kas būtībā ir programmatūra, kas iekodēta noteiktā blokķēdē, formalizē un izpilda līgumus starp vairākām pusēm, novēršot nepieciešamību pēc uzticama trešās puses starpnieka, ietaupot laiku un ļaujot veikt vairāku pušu vienprātīgu apstiprinājumu. Tos var izmantot dažādām darbībām, piemēram, testamentiem, šaha spēlēm un pat aktu pārsūtīšanai.
Taču, neraugoties uz visu traucējošo potenciālu un ļoti reklamētajām iespējām, ko sola blokķēdes, aplaupījumu skaits, kuru mērķis ir viedie līgumi, pēdējo divu gadu laikā ir pieaudzis vairāk nekā 12 reizes. Ja viņi ir tik gudri, kāpēc mēs redzam tik milzīgu aplaupījumu pieaugumu?
Lai labāk izprastu, noskaidrosim attiecības starp blokķēdi un viedajiem līgumiem.
Decentralizācija
Padomājiet par blokķēdes tīklu, piemēram, Amazon AWS platformu un katru no tā viedajiem līgumiem kā serveri. Izmantojot blokķēdi, nav neviena centralizēta servera, ko hakeri varētu izmantot, tādējādi kibernoziedzniekiem ir grūtāk izmantot tradicionālās uzlaušanas metodes, piemēram, Trojas zirgus, fiziskus uzbrukumus un izpirkuma programmatūru. Blockchain tos novērš, novēršot vienu tīkla atteices punktu.
Lai gan blokķēdes tīklu nevar precīzi uzlauzt, daudzas izplatītas lietotnes un viedie līgumi, ko veicina blokķēde, var.
Pateicoties pakāpeniski pieaugošajiem panākumiem un decentralizētās finanšu (DeFi) ietekmei, lielas vērtības summas tiek novirzītas, izmantojot viedos līgumus, padarot tos pievilcīgus hakeriem. Un šis drauds, visticamāk, tikai pieaugs, jo vairāk aktīvu pārvietosies ķēdē, palielinoties tokenizētajiem reālās pasaules aktīviem. Datorurķēšana rada nopietnus draudus šai plaukstošajai blokķēdes nozarei, jo no viedajiem līgumiem atņemtos īpašumus ir ārkārtīgi grūti atgūt.
Viedo līgumu draudi
Tāpat kā visi kodi, viedie līgumi ir pakļauti cilvēka kļūdām. Šīs kļūdas var būt drukas kļūdas, nepareizas specifikācijas vai nopietnākas kļūdas, ko var izmantot, lai uzlauztu vai “apmānītu” viedo līgumu. Atšķirībā no blokķēdes, nav garantijas, ka līgumi ir salīdzinoši pārskatīti vai apstiprināti.
Lai gan ar viedo līgumu auditu var izvairīties no kļūdainas kodēšanas, citi draudi ir sarežģītāki. Piemēram, noklusējuma redzamības ievainojamība ir izplatīta kļūda, kas rodas, ja funkciju redzamība nav norādīta un noteiktas funkcijas tiek atstātas publiskas. Piemēram, hakeri varētu piekļūt kaltuves funkcijai un izveidot miljardiem atbilstošu žetonu. Par laimi, šo ievainojamību var novērst, veicot auditu, kas nodrošina, ka visas funkcijas pēc noklusējuma ir iestatītas kā privātas.
Vēl viens sarežģītāks un nopietnāks drauds, ko izraisa kodēšanas kļūdas, ir atkārtotas ievadīšanas uzbrukums. Tas notiek, kad uzbrucējs izmanto viedā līguma ārējās funkcijas zvanu priekšrocības un izvieto ļaunprātīgu viedo līgumu, lai mijiedarbotos ar personu, kurai ir līdzekļi.
2016. gadā DAO incidents, kas notika Ethereum sākuma dienās, parādīja, cik bīstams var būt šāda veida uzbrukums, un galu galā tas noveda pie Ethereum Classic izveides. Atkārtotas iekļūšanas uzbrukumu novēršana nav vienkārša, taču ir sistēmas un protokoli, kas var mazināt bojājumus, tostarp CEI (pārbaude, efekti un mijiedarbība), atkārtotas ienākšanas aizsargi un daudz kas cits.
Ja esat kompetents viedā līguma kodā, paša koda lasīšana vienmēr ir milzīga priekšrocība. Tāpat kā līguma lasīšana pirms pārcelšanās uz jaunu dzīvokli pasargā jūs no pārsteigumiem, arī viedā līguma koda nolasīšana var atklāt trūkumus, ļaunprātīgas funkcijas vai funkcijas, kas nedarbojas vai nav jēgpilnas.
Tomēr, ja esat galalietotājs, kurš nav īpaši lietpratīgs tehnoloģiju jomā, izmantojiet tikai viedos līgumus ar publiski pieejamu kodu, kas tiek plaši izmantots. Šī, atšķirībā no apkopotajiem viedajiem līgumiem, kur kods ir paslēpts un cilvēki nevar to pārskatīt, ir vēlamā iespēja.
Viedo līgumu ievainojamību novēršana
Neaizmirsīsim, ka lielākā daļa viedo līgumu administratoru atstāj sev dažas administratora privilēģijas, parasti, lai veiktu izmaiņas pēc palaišanas. Lai piekļūtu šīm privilēģijām, administratoriem ir jāizmanto savas privātās atslēgas. Šīs privātās atslēgas ir vēl viena ievainojamība, un, ja tās netiek pareizi glabātas (t.i., bezsaistes aukstajā glabātuvē), hakeri, kas kaut kādā veidā iegūst piekļuvi, var veikt izmaiņas viedajā līgumā un novirzīt līdzekļus, kur vien vēlas.
Pēdējā laikā Eiropas Parlaments ir pilnvarojis izmantot iznīcināšanas slēdža mehānismu, lai mazinātu kaitējumu gadījumā, ja tiek apdraudēts viedais līgums. Lai gan regulatoru nolūks bija nodrošināt cilvēkiem lielāku aizsardzību pret viņu personas datiem, likums Web3 kopienā ir radījis bažas.
Ja tas netiek ieviests pareizi, iznīcināšanas slēdzis var iznīcināt visu viedo līgumu un jebkuru tajā saglabāto vērtību. Labāka ieviešana būtu pauzes funkcijas aktivizēšana, kas drošības apdraudējuma gadījumā varētu iesaldēt viedo līgumu un atkārtoti aktivizēt to, tiklīdz problēma ir atrisināta.
