Kas ir viedie līgumi?
Sākums
Raksti
Kas ir viedie līgumi?

Kas ir viedie līgumi?

Sarežģītākas tēmas
Publicēts Sep 16, 2019Atjaunināts Jun 9, 2023
9m

Ievads

Viedos līgumus pirmoreiz raksturoja Niks Sabo 20. gs. 90. gados. Tolaik viņš definēja viedos līgumus kā rīku, kas formalizē un aizsargā datortīklus, apvienojot protokolus un lietotāju saskarnes.

Sabo izklāstīja savu viedokli par viedo līgumu potenciālo lietojumu dažādās jomās, kas ietver līgumiskas vienošanās, – piemēram, kredītsistēmās, maksājumu apstrādē un satura tiesību pārvaldībā.

Kriptovalūtu jomā viedo līgumu var definēt kā lietojumprogrammu vai programmu, kas darbojas blokķēdē. Parasti tie darbojas kā digitāli līgumi, ko nodrošina konkrēts noteikumu kopums. Šos datorkoda iepriekš izveidotos noteikumus replicē un izpilda visi tīkla mezgli.

Izmantojot blokķēdes viedos līgumus, ir iespējams izveidot protokolus bez nepieciešamības uzticēties. Tas nozīmē, ka divas puses var uzņemties saistības blokķēdē, un tām nav obligāti jāpazīst vienai otru un savstarpēji jāuzticas. Tās var būt pārliecinātas, ka, nosacījumiem neiestājoties, līgums netiks izpildīts. Turklāt viedie līgumi novērš nepieciešamību pēc starpniekiem, tādējādi būtiski samazinot darbības izmaksas.

Lai arī Bitcoin protokols jau ilgus gadus atbalsta viedos līgumus, šos līgumus popularizēja Ethereum izveidotājs un līdzdibinātājs Vitālijs Buterins. Jāpiebilst gan, ka katrā blokķēdē var tikt izmantota atšķirīga viedo līgumu ieviešanas metode. 

Šajā rakstā pievērsīsimies viedajiem līgumiem, kuri darbojas uz Ethereum virtuālās mašīnas (EVM) bāzes, kas ir būtiska Ethereum blokķēdes sastāvdaļa.


Kā tie darbojas?

Vienkārši izsakoties, viedie līgumi darbojas kā deterministiska programma. Tie izpilda noteiktu uzdevumu, kad un ja izpildās noteikti nosacījumi. Tādējādi viedo līgumu sistēmā bieži vien tiek izmantots formāts "ja... – tad...". Tomēr, neraugoties uz populāro terminoloģiju, viedie līgumi faktiski nav nedz viedi, nedz juridiski līgumi. Tie ir vienkārši koda fragmenti, kas darbojas decentralizētā sistēmā (blokķēdē).

Ethereum tīklā viedie līgumi ir atbildīgi par to blokķēdes operāciju izpildi un pārvaldību, kas notiek lietotāju (adrešu) savstarpējā mijiedarbībā. Jebkuru adresi, kas nav viedais līgums, sauc par ārēji piederošu kontu (EOA). Tādējādi viedos līgumus kontrolē datorkods, bet EOA kontrolē lietotāji.

Būtībā Ethereum viedie līgumi sastāv no līguma koda un divām publiskajām atslēgām. Pirmo publisko atslēgu nodrošina līguma izveidotājs. Otrā atslēga apzīmē pašu līgumu un kalpo kā digitālais identifikators, kas katram viedajam līgumam ir unikāls.

Viedais līgums tiek izvietots ar blokķēdes darījuma starpniecību, un to var aktivizēt tikai tad, ja to izsauc EOA (vai citi viedie līgumi). Tomēr pirmo trigeri vienmēr izraisa EOA (lietotājs).


Galvenās funkcijas

Ethereum viedajiem līgumiem bieži vien ir šādas īpašības:

Decentralizācija. Viedos līgumus replicē un izplata visi Ethereum tīkla mezgli. Tā ir viena no būtiskākajām atšķirībām salīdzinājumā ar citiem risinājumiem, kas balstīti uz centralizētiem serveriem.

Determinisms. Viedie līgumi izpilda tikai tās funkcijas, kam tie ir paredzēti, ja vien tiek izpildīti konkrētie nosacījumi. Turklāt rezultāts vienmēr ir vienāds – neatkarīgi no tā, kurš tos izpilda.

Autonomija. Viedie līgumi var automatizēt visdažādākos uzdevumus un darbojas kā pašizpildes programma. Tomēr vairumā gadījumu, ja viedais līgums netiek aktivizēts, tas paliek pasīvā stāvoklī un neveic nekādas darbības.

Nemainīgums. Viedos līgumus pēc to izvietošanas nevar mainīt. Tos var "dzēst" tikai tad, ja konkrētā funkcija iepriekš ir paredzēta. Tādējādi varētu teikt, ka viedie līgumi var piedāvāt drošu kodu.

Pielāgojamība. Pirms viedo līgumu izvietošanas tos var dažādos veidos kodēt. Līdz ar to šos līgumus var izmantot dažādu veidu decentralizēto lietotņu (DApp) izveidei. Tas ir saistīts ar faktu, ka Ethereum ir skaitļošanas ziņā universāla blokķēde.

Bez nepieciešamības uzticēties. Divas vai vairākas pues var mijiedarboties, izmantojot viedos līgumus, viena otru nepazīstot un viena otrai neuzticoties. Turklāt blokķēdes tehnoloģija nodrošina datu precizitāti.

Pārskatāmība. Tā kā viedie līgumi ir balstīti publiskajā blokķēdē, to pirmkods ir ne vien nemainīgs, bet arī visiem redzams.


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

Pēc Ethereum viedā līguma izvietošanas tam nav iespējams pievienot jaunas funkcijas. Tomēr, ja līguma izveidotājs iestrādā kodā funkciju "SELFDESTRUCT", šādu viedo līgumu nākotnē var "izdzēst" un aizstāt ar jaunu. Savukārt, ja šāda funkcija nav iepriekš iekļauta kodā, līgumu izdzēst nebūs iespējams.

Tā sauktie uzlabojamie viedie līgumi nodrošina izstrādātājiem lielāku elastību attiecībā uz līgumu nemainīgumu. Šādus uzlabojamos līgumus var izveidot daudzos veidos – ar atšķirīgu sarežģītības pakāpi.

Vienkāršam piemēram iztēlosimies, ka viedais līgums ir sadalīts vairākos mazākos līgumos. Daži no tiem ir veidoti kā nemainīgi līgumi, bet citos ir iespējota "dzēšanas" funkcija. Tas nozīmē, ka daļu koda (viedo līgumu) var dzēst un aizstāt, pārējām funkcijām nemainoties.


Priekšrocības un izmantošanas iespējas

Kā programmējami kodi viedie līgumi ir ārkārtīgi pielāgojami, un tos var izstrādāt dažādos veidos, nodrošinot visdažādākos pakalpojumus un risinājumus.

Viedie līgumi kā decentralizētas pašizpildes programmas var nodrošināt lielāku pārskatāmību un mazākas darbības izmaksas. Atkarībā no ieviešanas tie var arī palielināt efektivitāti un samazināt birokrātiskās izmaksas.

Viedie līgumi ir īpaši noderīgi situācijās, kas ietver līdzekļu pārskaitīšanu vai apmaiņu starp divām vai vairākām pusēm.

Citiem vārdiem sakot, viedos līgumus ir iespējams pielāgot visdažādākajām izmantošanas iespējām. Tos var izmantot, piemēram, tokenizētu aktīvu izveidei, balsošanas sistēmās, kriptovalūtu makos, decentralizētajās biržās, spēlēs un mobilajās lietotnēs. Tos var izvietot kopā ar citiem blokķēdes risinājumiem tādās jomās kā veselības aprūpe, labdarība, piegāžu ķēdes, pārvaldība un decentralizētās finanses (DeFi).


ERC-20

Ethereum blokķēdē izdotie tokeni atbilst t.s. ERC-20 standartam. Šis standarts raksturo visu uz Ethereum balstīto tokenu pamata funkcijas. Tādēļ šos digitālos aktīvus bieži vien sauc par ERC-20 tokeniem, un tie veido lielu daļu no esošajām kriptovalūtām.
Daudzi blokķēdes uzņēmumi un jaunuzņēmumi ir izmantojuši viedos līgumus savu digitālo tokenu emisijai Ethereum tīklā. Pēc tokenu emisijas lielākā daļa šo uzņēmumu sadalīja savus ERC-20 tokenus sākotnējā kriptovalūtas piedāvājuma (ICO) pasākumu ietvaros. Vairumā gadījumu, izmantojot viedos līgumus, bija iespējams veikt līdzekļu apmaiņu un tokenu sadali – efektīvi un bez nepieciešamības uzticēties.


Ierobežojumi

Viedie līgumi sastāv no cilvēku sarakstīta datorkoda. Tas rada daudzus riskus, jo kods nav pasargāts no ievainojamībām un kļūdām. Ideālajā variantā tos vajadzētu rakstīt un izvietot pieredzējušiem programmētājiem – īpaši tad, ja līgumi ietver sensitīvus datus vai lielas naudas summas.

Daži uzskata, ka centralizētas sistēmas var nodrošināt lielāko daļu risinājumu un funkciju, ko piedāvā viedie līgumi. Galvenā atšķirība ir tāda, ka viedie līgumi darbojas decentralizētā P2P tīklā, nevis centralizētā serverī. Turklāt, tā kā tie ir balstīti blokķēdes sistēmā, viedos līgumus ir ļoti grūti vai pat neiespējami mainīt.

Nemainīgums ne vienmēr ir pozitīva īpašība. Piemēram, 2016. gadā notika uzbrukums decentralizētajai autonomajai organizācijai (DAO) "The DAO", un viedā līguma koda nepilnību dēļ tika nozagti vairāki miljoni Ether (ETH).

Tā kā šis viedais līgums bija nemainīgs, izstrādātāji nevarēja labot kodu. Rezultātā tika veikta stingrā šķelšana un tika izveidota otra Ethereum ķēde. Vienkārši izsakoties – viena ķēde "atcēla" uzbrukumu un atgrieza līdzekļus to likumīgajiem īpašniekiem (tā ir pašreizējās Ethereum blokķēdes daļa). Otra ķēde nolēma neiejaukties uzbrukumā, pieņemot, ka blokķēdē notiekošo nekad nedrīkst mainīt (šo ķēdi šobrīd sauc Ethereum Classic).

Ir svarīgi piebilst, ka šī problēma neradās Ethereum blokķēdes dēļ. To radīja kļūdaina viedā līguma ieviešana.

Vēl viens viedo līgumu trūkums ir saistīts ar to neskaidro juridisko statusu. Tie ne vien atrodas "pelēkajā zonā" vairumā valstu, bet arī neatbilst pašreizējam tiesiskajam regulējumam.

Piemēram, daudziem līgumiem ir nepieciešams, lai abas puses tiktu atbilstoši identificētas un būtu vecākas par 18 gadiem. Blokķēdes tehnoloģijas nodrošinātā pseidonimitāte apvienojumā ar starpnieku trūkumu var nenodrošināt šo prasību izpildi. Lai arī šai problēmai pastāv dažādi risinājumi, ir grūti nodrošināt viedo līgumu izpildāmību – īpaši attiecībā uz starptautiskiem, decentralizētiem tīkliem.


Kritika

Daži blokķēdes entuziasti uzskata viedos līgumus par risinājumu, kas drīzumā aizstās vai automatizēs lielu daļu mūsu komerciālo un birokrātisko sistēmu. Lai arī tāda iespēja pastāv, tā, visticamāk, tik drīz nekļūs par normu.

Viedie līgumi ir visnotaļ interesanta tehnoloģija. Taču kā decentralizēts, deterministisks, pārskatāms un visai nemainīgs risinājums tie dažkārt var nešķist īpaši piemēroti.

Kritika pamatā ir balstīta uz faktu, ka viedie līgumi nav piemēroti daudzu reālās pasaules problēmu risināšanai. Patiesībā dažām organizācijām ir izdevīgāk izmantot tradicionālos servera risinājumus. 

Salīdzīnājumā ar viedajiem līgumiem centralizētos serverus ir vieglāk un lētāk uzturēt, un tie parasti nodrošina lielāku efektivitāti attiecībā uz ātrumu un starptīklu komunikāciju (sadarbspēju).


Noslēgumā

Nav šaubu, ka viedie līgumi ir radījuši ievērojamu ietekmi kriptovalūtu pasaulē un revolūciju blokķēžu telpā. Lai gan gala lietotāji parasti tieši neveic mijiedarbību ar viedajiem līgumiem, šie līgumi nākotnē var tikt izmantoti visdažādāko lietotņu darbināšanai – no finanšu pakalpojumiem līdz piegāžu ķēdes pārvaldībai.

Viedie līgumi apvienojumā ar blokķēdi var radīt apvērsumu gandrīz visās mūsu sabiedrības jomās. Taču laiks rādīts, vai šīs revolucionārās tehnoloģijas spēs pārvarēt šķēršļus, ko paredz to ieviešana plašā mērogā.