Ievads

Gudos līgumus pirmo reizi deviņdesmitajos gados aprakstīja Niks Szabo. Viņš definēja viedo līgumu kā rīku, kas formalizē un nodrošina datortīklus, apvienojot protokolus ar lietotāja interfeisu.

Szabo ir apskatījis viedo līgumu izmantošanu dažādās jomās, piemēram, līgumos, kredītsistēmās, maksājumu apstrādē un satura īpašumtiesībās.

Kriptovalūtu pasaulē viedais līgums ir lietojumprogramma, kas darbojas blokķēdē. Tas darbojas kā digitāls līgums, ko nodrošina noteikumu kopums. Šos noteikumus nosaka datora kods, ko kopē un apstrādā visi tīkla mezgli.

Viedie līgumi ļauj izveidot protokolus, kuriem nav nepieciešama uzticēšanās. Tas nozīmē, ka abas puses var mijiedarboties, izmantojot blokķēdi, neuzticoties viena otrai. Procesa dalībnieki var būt pārliecināti, ka līguma noteikumu neievērošana novedīs pie tā atcelšanas. Tāpat viedo līgumu izmantošana novērš nepieciešamību pēc starpniekiem, būtiski samazinot darījumu izmaksas.

Lai gan Bitcoin protokols jau daudzus gadus ir atbalstījis viedos līgumus, tie par savu popularitāti ir parādā Ethereum radītājam un līdzdibinātājam Vitalikam Buterinam. Turklāt katra blokķēde var izmantot savu viedo līgumu ieviešanas veidu.

Šī raksta uzmanības centrā ir viedie līgumi, kas darbojas Ethereum virtuālajā mašīnā (EVM), kas ir būtiska Ethereum blokķēdes daļa.


Kā tas strādā?

Vienkāršiem vārdiem sakot, viedais līgums darbojas kā deterministiska programma. Tas veic noteiktas darbības, ja ir izpildīti noteikti nosacījumi. Pamatojoties uz to, viedo līgumu sistēma bieži izmanto izteicienus “ja... tad...”. Neskatoties uz vispārpieņemto terminoloģiju, viedie līgumi nav ne līgumi juridiskā nozīmē, ne “gudri”. Tie ir tikai koda fragmenti, kas darbojas sadalītā sistēmā (blokķēdē).

Ethereum tīklā viedie līgumi ir atbildīgi par darījumu veikšanu starp lietotājiem (adresēm). Jebkuru adresi, kas nav viedlīgums, sauc par individuālo kontu (EOA). Tādējādi viedos līgumus pārvalda programmas kods, bet personīgos kontus pārvalda lietotāji.

Būtībā Ethereum viedie līgumi sastāv no līguma koda (kas satur izpildes nosacījumus) un divām publiskajām atslēgām. Pirmo publisko atslēgu nodrošina līguma veidotājs. Otra atslēga apzīmē pašu līgumu, kas ir digitālais identifikators, kas ir unikāls katram viedajam līgumam.

Jebkurš viedlīgums tiek izpildīts blokķēdes darījuma laikā, un tos var aktivizēt, kad to ierosina personīgais konts (vai cits viedlīgums). Tomēr viedo līgumu secība vienmēr tiek palaista no personīgā konta (t.i., lietotāja).


Galvenās īpašības

Ethereum viedajam līgumam bieži ir šādas īpašības:

Izplatīšana. Viedie līgumi tiek replicēti un izplatīti visos Ethereum tīkla mezglos. Šī ir viena no galvenajām atšķirībām no citiem risinājumiem, kas izmanto centralizētus serverus.

Determinisms. Viedie līgumi veic darbības, kurām tie ir paredzēti, kad tiek izpildītas noteiktās prasības. Turklāt rezultāts vienmēr būs vienāds neatkarīgi no tā, kurš izpildīs prasības.

Autonomija. Viedie līgumi var automatizēt visu veidu uzdevumus, darbojoties kā pašizpildoša programma. Vairumā gadījumu, ja viedais līgums netiek uzsākts, tas ir “snaudošs” un neveic nekādas darbības.

Nemainība. Viedā līguma procesu nevar mainīt pēc tā izstrādes un aktivizēšanas. Izmaiņas var veikt tikai tad, ja izstrādātāji iepriekš ir ieviesuši konkrētu funkciju. Tādējādi mēs varam teikt, ka viedie līgumi var nodrošināt aizsardzību pret kodu uzlaušanu, izmantojot autentiskuma pierādījumu.

Personalizēšana. Viedos līgumus var kodēt vairākos veidos, piemēram, lai izveidotu dažāda veida decentralizētas lietojumprogrammas (DApps). Tas ir tāpēc, ka Ethereum tika izstrādāts tā, lai tas būtu pilnīgs Tjūrings.

Uzticības trūkums. Divas vai vairākas puses var mijiedarboties, izmantojot viedos līgumus, viena otrai nepazīstot vai neuzticoties. Turklāt blokķēdes tehnoloģija nodrošina, ka visi dati ir precīzi un uzskaitīti.

Caurspīdīgums. Tā kā viedie līgumi ir balstīti uz publisku blokķēdi, to pirmkods ir pieejams ikvienam.


Vai es varu mainīt vai dzēst viedo līgumu?

Ethereum lietotāji nevar pievienot jaunas funkcijas, kad viedais līgums ir aktivizēts. Tomēr, ja izstrādātājs līguma kodā iekļauj funkciju ar nosaukumu SELFDESTRUCT, viņš vēlāk var to noņemt un aizstāt ar jaunu. Bez šīs funkcijas viedo līgumu dzēst nebūs iespējams.

Jo īpaši tā sauktie jaunināmie viedie līgumi nodrošina izstrādātājiem piekļuvi koda izmaiņām, tādējādi nodrošinot lielāku elastību salīdzinājumā ar nemainīgiem līgumiem. Ir daudz veidu, kā izveidot šāda veida viedos līgumus ar dažādas sarežģītības pakāpes.

Apskatīsim to ar vienkāršu piemēru. Iedomāsimies, ka viedais līgums ir sadalīts vairākos mazos līgumos. Dažus no tiem nevar mainīt, bet citus var izdzēst, pateicoties iepriekš minētajai funkcijai. Tas nozīmē, ka daļu koda (noteiktu skaitu viedo līgumu) var noņemt un aizstāt ar citu, bet pārējā funkcionalitāte paliek nemainīga.


Ieguvumi un lietošanas gadījumi

Tā kā viedie līgumi ir programmējami kodi, tie ir ļoti pielāgojami, un tos var izstrādāt dažādos veidos, piedāvājot dažāda veida pakalpojumus un risinājumus.

Tā kā viedie līgumi ir decentralizēta un pašīstenojoša programma, tie var nodrošināt lielāku pārredzamību un zemākas darbības izmaksas. Atkarībā no darbības jomas tie var arī palielināt efektivitāti un samazināt birokrātiskās izmaksas.

Viedo līgumu priekšrocības ir īpaši acīmredzamas, ja runa ir par naudas pārskaitījumiem vai līdzekļu apmaiņu starp divām vai vairākām pusēm.

Citiem vārdiem sakot, viedos līgumus var izstrādāt tā, lai tie atbilstu dažādiem lietošanas gadījumiem, tostarp marķierizētu aktīvu, balsošanas sistēmu, kriptovalūtu maku, decentralizētu biržu, spēļu un mobilo lietojumprogrammu izveidei. Tos var arī izvietot kopā ar citiem blokķēdes risinājumiem veselības aprūpes, filantropijas, piegādes ķēdes, pārvaldības un decentralizētās finansēšanas (DeFi) jomās.


ERC-20

Ethereum blokķēdē izdotie marķieri atbilst ERC-20 standartam, kurā aprakstītas to galvenās funkcijas. Tos bieži sauc par ERC-20 marķieriem, un tie veido lielāko daļu esošo kriptovalūtu.

Daudzi uzņēmumi un jaunizveidotie uzņēmumi izstrādā viedos līgumus, lai Ethereum tīklā izdotu savus digitālos marķierus. Pēc izdošanas lielākā daļa no tiem izplata savus ERC-20 žetonus, izmantojot sākotnējo monētu piedāvājumu (ICO). Viedie līgumi ļauj droši un efektīvi apmainīties un sadalīt līdzekļus.


Trūkumi

Viedie līgumi sastāv no cilvēku rakstīta datora koda. Tas rada daudzus riskus, jo kods ir pakļauts ievainojamībām un kļūdām. Ideālā gadījumā izstrāde būtu jāveic pieredzējušiem programmētājiem, īpaši, ja ir iesaistīta konfidenciāla informācija vai lielas naudas summas.

Tiek uzskatīts, ka centralizētās sistēmas var nodrošināt lielāko daļu viedo līgumu risinājumu un funkciju. Galvenā atšķirība ir tā, ka viedie līgumi tiek izpildīti sadalītā vienādranga P2P tīklā, nevis centralizētā serverī. Tā kā viedie līgumi ir balstīti uz blokķēdi, tie parasti ir nemainīgi vai pārāk sarežģīti, lai veiktu izmaiņas.

Dažkārt nemainība ir noderīga, bet ne vienmēr. Piemēram, 2016. gadā hakeri uzlauza decentralizēto autonomo organizāciju The DAO un nozaga miljoniem dolāru ētera (ETH), izmantojot viedā līguma koda ievainojamības.

Tā kā DAO viedais līgums bija negrozāms, izstrādātāji nevarēja labot kodu. Tas galu galā noveda pie cietas dakšas un otrās Ethereum ķēdes rašanās. Vienkārši sakot, viena ķēde apvērsa uzlaušanu un atdeva līdzekļus likumīgajiem īpašniekiem (šī ķēde ir daļa no pašreizējās Ethereum blokķēdes), bet otra nereaģēja uz uzlaušanu, vadoties no tā, ka notikumi blokķēdē nekad nedrīkst būt mainīts (šo ķēdi tagad sauc par Ethereum Classic).

Jāpiebilst, ka problēma neradās Ethereum blokķēdes darbības dēļ. Tā vietā kļūdu izraisīja nepareiza viedā līguma ieviešana.

Vēl viens viedo līgumu trūkums ir saistīts ar to nenoteikto juridisko statusu. Tas ir saistīts ne tikai ar to, ka lielākajā daļā valstu šī tehnoloģija atrodas “pelēkajā zonā”, bet arī tāpēc, ka viedie līgumi neatbilst to pašreizējam normatīvajam regulējumam.

Piemēram, daudzu līgumu un līgumu galvenā prasība ir stingra dalībnieku identifikācija un 18 gadu vecums. Blokķēdes tehnoloģijas nodrošinātā anonimitāte kopā ar starpnieku neesamību var būt šķērslis šādu prasību izpildei. Lai gan šai problēmai ir iespējami risinājumi, viedo līgumu juridiskie aspekti rada lielas bažas, jo īpaši, ja runa ir par globālu mērogu un izplatītiem tīkliem.


Kritika

Daži blokķēdes entuziasti viedos līgumus uzskata par risinājumu, kas var aizstāt un automatizēt lielu daļu no esošajām komerciālajām un birokrātiskajām sistēmām. Lai gan tas ir sasniedzams, viedie līgumi ne tuvu nav norma šajā jomā.

Viedie līgumi noteikti ir interesanta tehnoloģija. Taču tā sadalītais un deterministiskais raksturs, kā arī caurspīdīgums un daļēja nemainīgums padara to mazāk pievilcīgu lietošanai dažās situācijās.

Būtībā visa kritika ir balstīta uz faktu, ka viedie līgumi nav piemērots risinājums daudzām reālās pasaules problēmām. Un patiesībā dažām organizācijām ir vieglāk un labāk izmantot parastos alternatīvos serverus.

Salīdzinot ar viedajiem līgumiem, centralizētos serverus ir vieglāk un lētāk uzturēt. Turklāt tie var arī nodrošināt lielāku efektivitāti ātruma un savietojamības ziņā ar citiem tīkliem.


Kopsavilkums

Bez šaubām, viedajiem līgumiem ir bijusi liela ietekme uz kriptovalūtu pasauli un tie noteikti ir mainījuši blokķēdes tehnoloģiju jomu. Tā kā galalietotāji nevar tieši mijiedarboties ar viedajiem līgumiem, tie nākotnē var kalpot par pamatu plašam lietojumu klāstam, sākot no finanšu pakalpojumiem līdz piegādes ķēdes pārvaldībai.

Viedo līgumu un blokķēdes apvienotais potenciāls var būtiski ietekmēt gandrīz visas sabiedrības jomas. Bet tikai laiks rādīs, vai šīs novatoriskās tehnoloģijas var pārvarēt šķēršļus plašai ieviešanai.