Ievads

Niks Szabo pirmo reizi aprakstīja viedos līgumus 1990. gados. Tajā laikā viņš definēja viedo līgumu kā rīku, kas formalizē un nodrošina datoru tīklus, apvienojot protokolus un lietotāja saskarnes.

Szabo pieminēja potenciālo viedo līgumu izmantošanu dažādās jomās, kas saistītas ar līgumiskajiem nolīgumiem, piemēram, kredītu sistēmās, maksājumu apstrādē un tiesību pārvaldībā par saturu.

Kriptovalūtu pasaulē mēs varam definēt viedo līgumu kā lietotni vai programmu, kas darbojas uz blokķēdes. Parasti tie darbojas kā digitāls līgums, ko piemēro konkrētu noteikumu kopums. Šie noteikumi ir iepriekš definēti ar programmatūru, kas tiek atkārtoti un izpildīti visos tīkla mezglos.

Viedie līgumi blokķēdē ļauj izveidot uzticības bezprotokolus. Tas nozīmē, ka divas puses var veikt apņemšanās caur blokķēdi, nezinot viena otru vai neuzticoties. Viņi var būt droši, ka, ja nosacījumi netiks izpildīti, līgums netiks izpildīts. Turklāt viedo līgumu izmantošana var novērst nepieciešamību pēc starpniekiem, tādējādi ievērojami samazinot darbības izmaksas.

Lai gan Bitcoin protokols atbalsta viedos līgumus jau daudzus gadus, tos ir popularizējis Ethereum radītājs un līdzautors Vitaliks Buterins. Tomēr ir vērts atzīmēt, ka katrai blokķēdei var būt atšķirīgas metodes viedo līgumu ieviešanai.

Šis raksts koncentrējas uz viedajiem līgumiem, kas darbojas uz Ethereum virtuālās mašīnas (EVM), kas ir būtiska Ethereum blokķēdes daļa.


Tātad, kā tie darbojas?

Vienkāršoti sakot, viedais līgums darbojas kā deterministisks programma. Tas izpilda konkrētu uzdevumu, kad un ja noteikti nosacījumi ir izpildīti. Tādējādi viedo līgumu sistēma bieži seko funkcijām „ja... tad...”. Bet neskatoties uz terminoloģiju, viedie līgumi nav juridiski spēkā esoši un nav inteliģenti. Tie ir vienkārši kods, kas tiek izpildīts uz izplatītas sistēmas (blokķēdes).

Ethereum tīklā viedie līgumi ir atbildīgi par blokķēdes operāciju izpildi un pārvaldību, kas notiek, kad lietotāji (adreses) mijiedarbojas savā starpā. Jebkura adrese, kas nav vieds līgums, tiek saukta par ārēji turētu kontu (EOA). Tādējādi viedie līgumi tiek kontrolēti ar programmatūras kodu, un EOA kontrolē lietotāji.

Pamatā viedie līgumi Ethereum sastāv no līguma koda un divām publiskām atslēgām. Pirmā publiskā atslēga ir tā, ko sniedz līguma izveidotājs. Otrā atslēga pārstāv pašu līgumu, darbojoties kā unikāls digitālais identifikators katram viedajam līgumam.

Viedā līguma izvietošana tiek veikta, izmantojot blokķēdes darījumu. To var aktivizēt tikai tad, kad to izsauc EOA (vai citi viedie līgumi). Tomēr pirmais izsistējs vienmēr tiek radīts no EOA (lietotāja).


Galvenās īpašības

Viedais līgums Ethereum bieži ir ar šādām iezīmēm:

Izplatīts. Viedie līgumi tiek atkārtoti un izplatīti visos Ethereum tīkla mezglos. Tā ir viena no galvenajām atšķirībām salīdzinājumā ar citām risinājumiem, kas balstās uz centralizētiem serveriem.

Deterministisks. Viedie līgumi veic tikai tās darbības, kādām tie ir izstrādāti, ar nosacījumu, ka prasības ir izpildītas. Turklāt rezultāts vienmēr būs tāds pats, neatkarīgi no tā, kurš tos izpilda.

Autonomais. Viedie līgumi var automatizēt visdažādākos uzdevumus, darbojoties kā pašizpildāma programma. Tomēr lielākajā daļā gadījumu, ja viedais līgums netiek aktivizēts, tas paliks „miegā” un neveiks nekādas darbības.

Nemainīgs. Viedos līgumus nevar mainīt pēc to izvietošanas. Tie var tikt „izdzēsti” tikai tad, ja iepriekš ir īstenota konkrēta funkcija. Tādējādi mēs varam teikt, ka viedie līgumi var nodrošināt neapstrīdamu kodu.

Pielāgojams. Pirms to izvietošanas viedie līgumi var tikt kodēti dažādos veidos. Tādējādi tos var izmantot, lai radītu daudzus decentralizētu lietojumprogrammu (DApps) veidus. Tas ir tāpēc, ka Ethereum ir Turinga pilnīga blokķēde.

Bez uzticības. Divas vai vairāk puses var mijiedarboties caur viedajiem līgumiem, nezinot viena otru un neuzticoties. Turklāt blokķēdes tehnoloģija garantē datu precizitāti.

Caurredzamība. Tā kā viedie līgumi balstās uz publiskas blokķēdes, to avota kods ir ne tikai nemainīgs, bet arī redzams visiem.


Vai es varu mainīt vai izdzēst viedu līgumu?

Nav iespējams pievienot jaunas funkcijas viedajam līgumam Ethereum pēc tā izvietošanas. Tomēr, ja tā izveidotājs iekļauj kodā funkciju, ko sauc par SELFDESTRUCT, viņš var nākotnē „izdzēst” viedo līgumu un aizstāt to ar jaunu. Savukārt, ja funkcija iepriekš nav iekļauta kodā, to nevar izdzēst.

Ievērojami, ka elastīgie viedie līgumi ļauj izstrādātājiem iegūt lielāku elastību attiecībā uz līgumu nemainību. Ir daudz veidu, kā izveidot elastīgus viedos līgumus ar dažādām sarežģītības pakāpēm.

Vienkāršotā piemērā iedomāsimies, ka viedais līgums ir sadalīts vairākos mazos līgumos. Daži no tiem ir izstrādāti, lai būtu nemainīgi, bet citiem ir aktivizēta funkcija „Izdzēst”. Tas nozīmē, ka daļa koda (viedie līgumi) var tikt izdzēsta un aizstāta, kamēr citas funkcijas paliek neskartas.


Priekšrocības un lietošanas gadījumi

Kā programmējams kods, viedie līgumi ir augsti pielāgojami un var tikt izstrādāti dažādos veidos, piedāvājot tādējādi daudzus pakalpojumu un risinājumu veidus.

Kā decentralizēti un pašizpildāmi programmi, viedie līgumi var nodrošināt lielāku caurredzamību un samazināt darbības izmaksas. Atkarībā no to ieviešanas tie var arī palielināt efektivitāti un samazināt administratīvās izmaksas.

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

Citiem vārdiem sakot, viedie līgumi var tikt izstrādāti dažādiem lietošanas gadījumiem. Starp piemēriem ir tokenizētu aktīvu radīšana, balsošanas sistēmas, kriptovalūtu maki, decentralizēti apmaiņas punkti, spēles un mobilās lietotnes. Tie var arī tikt izvietoti kopā ar citām blokķēdes risinājumiem, kas attiecas uz veselības aprūpi, labdarību, piegādes ķēdēm, pārvaldības un decentralizētās finanses (DeFi).


ERC-20

Tokeni, kas izdoti uz Ethereum blokķēdes, seko standartam, kas pazīstams kā ERC-20. Standarts apraksta pamata funkcijas visiem Ethereum balstītiem tokeniem. Tāpēc šie digitālie aktīvi bieži tiek dēvēti par ERC-20 tokeniem un veido lielu daļu no esošajām kriptovalūtām.

Daudzas blokķēdes uzņēmumi un jaunizveidoti uzņēmumi ir izvietojuši viedos līgumus, lai izdotu savus digitālos tokenus Ethereum tīklā. Pēc izdošanas lielākā daļa šo uzņēmumu ir izplatījuši savus ERC-20 tokenus, izmantojot sākotnējās monētu piedāvājumus (ICO). Lielākajā daļā gadījumu viedo līgumu izmantošana ir ļāvusi droši un efektīvi apmainīt līdzekļus un izplatīt tokenus.


Ierobežojumi

Viedie līgumi sastāv no programmēšanas koda, ko raksta cilvēki. Tas rada daudzus riskus, jo kods ir pakļauts ievainojamībām un kļūdām. Ideālā gadījumā tos vajadzētu rakstīt un izvietot pieredzējušiem programmētājiem, it īpaši, ja tie ietver jutīgu informāciju vai lielas naudas summas.

Turklāt daži apgalvo, ka centralizētie sistēmas var piedāvāt lielāko daļu risinājumu un funkcionalitātes, ko sniedz viedie līgumi. Galvenā atšķirība ir tā, ka viedie līgumi tiek izpildīti uz P2P izplatīta tīkla, nevis uz centralizēta servera. Un, tā kā tie balstās uz blokķēdes sistēmu, tie ir tendēti būt nemainīgi vai ļoti grūti maināmi.

Būt nemainīgam var būt lieliski dažās situācijās, bet ļoti slikti citās. Piemēram, kad decentralizēta autonomā organizācija (DAO), kas saucās „DAO”, tika uzlauzta 2016. gadā, tika nozagti miljoniem ēteru (ETH) nepilnību dēļ to viedo līgumu kodā.

Tā kā viņu viedais līgums bija nemainīgs, izstrādātāji nespēja labot kodu. Tas galu galā noveda pie hard fork, radot otro Ethereum ķēdi. Vienkārši sakot, viena ķēde ir „atcēlusi” uzlaušanu un atgriezusi līdzekļus likumīgajiem īpašniekiem (tas ir daļa no pašreizējās Ethereum blokķēdes). Otrā ķēde nolēma neiejaukties uzlaušanā, apgalvojot, ka lietas, kas notiek uz blokķēdes, nedrīkst nekad tikt mainītas (šī ķēde tagad tiek saukta par Ethereum Classic).

Ir svarīgi atzīmēt, ka problēma neizriet no Ethereum blokķēdes. Tā vietā tā tika izraisīta ar nepareizu viedā līguma ieviešanu.

Vēl viens viedo līgumu ierobežojums ir saistīts ar to neskaidro juridisko statusu. Ne tikai tāpēc, ka tas ir pelēkā zona lielākajā daļā valstu, bet arī tāpēc, ka viedie līgumi nav piemēroti pašreizējai juridiskajai sistēmai.

Piemēram, daudzi līgumi prasa, lai abas puses būtu pareizi identificētas un vecākas par 18 gadiem. Pseudonimitāte, ko nodrošina blokķēdes tehnoloģija, apvienojumā ar starpnieku trūkumu, var apdraudēt šīs prasības. Lai gan pastāv potenciāli risinājumi šai problēmai, viedo līgumu juridiskā piemērojamība ir patiesi izaicinājums, īpaši, kad runa ir par izplatītiem tīkliem bez robežām.


Kritika

Daži blokķēdes entuziasti uzskata, ka viedie līgumi ir risinājums, kas drīz aizvietos un automatizēs lielāko daļu mūsu biznesa un administratīvo sistēmu. Lai gan tas ir iespējams, tas, iespējams, ir tālu no normas.

Viedie līgumi noteikti ir interesanta tehnoloģija. Bet tas, ka tie ir izplatīti, deterministiski, caurredzami un kaut kādā ziņā nemainīgi, var padarīt tos mazāk pievilcīgus dažās situācijās.

Kritika galvenokārt balstās uz to, ka viedie līgumi nav piemērots risinājums daudziem reālās pasaules problēmām. Patiesībā dažām organizācijām ir izdevīgi izmantot klasiskus risinājumus, kas balstīti uz serveriem.

Salīdzinājumā ar viedajiem līgumiem centralizētie serveri ir vieglāk un lētāk uzturami un tiem ir tendence piedāvāt lielāku efektivitāti attiecībā uz ātrumu un starp tīklu komunikāciju (interoperabilitāti).


Lai pabeigtu

Nav šaubu, ka viedie līgumi ir būtiski ietekmējuši kriptovalūtu pasauli un noteikti ir revolucionējuši blokķēdes telpu. Pat ja gala lietotāji tieši nesadarbojas ar viedajiem līgumiem, tie, visticamāk, nākotnē veidos plašu lietojumprogrammu klāstu, sākot no finanšu pakalpojumiem līdz piegādes ķēdes pārvaldībai.

Kopā viedie līgumi un blokķēde var būtiski ietekmēt gandrīz visus mūsu sabiedrības jomas. Bet tikai laiks rādīs, vai šīs revolūcijas tehnoloģijas spēs pārvarēt daudzos šķēršļus to plašai pieņemšanai.