Introducere

În anii 1990, Nick Szabo a propus pentru prima dată conceptul de contracte inteligente. La acea vreme, el a definit contractele inteligente ca instrumente care standardizează și asigură securitatea rețelelor de calculatoare prin combinarea protocoalelor și a interfețelor utilizator.

Szabo a discutat despre utilizarea potențială a contractelor inteligente în diferite domenii legate de acordurile contractuale, cum ar fi sistemele de creditare, procesele de plată și gestionarea drepturilor de conținut.

În domeniul criptomonedei, contractele inteligente pot fi definite ca aplicații sau programe care rulează pe blockchain. De obicei, ele funcționează ca un protocol digital impus de reguli specifice. Aceste reguli sunt predefinite de codul computerului și sunt replicate și executate de toate nodurile rețelei.

Contractele inteligente Blockchain sprijină crearea de protocoale fără încredere. Aceasta înseamnă că părțile la un contract își asumă un angajament prin intermediul blockchain-ului fără să se cunoască sau să aibă încredere una în cealaltă. Părțile au stabilit că, dacă nu ar fi îndeplinite condițiile, contractul nu va fi executat. În plus, utilizarea contractelor inteligente elimină nevoia de intermediari, reducând semnificativ costurile de operare.

Deși contractele inteligente au fost susținute de protocolul Bitcoin de mulți ani, acestea au devenit populare prin mâinile creatorului și co-fondatorului Ethereum, Vitalik Buterin. Este de remarcat faptul că fiecare blockchain implementează contractele inteligente în mod diferit.​

Acest articol se va concentra pe contractele inteligente care rulează în Ethereum Virtual Machine (EVM), o parte importantă a blockchain-ului Ethereum.


Cum funcționează contractele inteligente?

Mai simplu spus, un contract inteligent este un program determinist care îndeplinește sarcini specifice atunci când sunt îndeplinite anumite condiții. Prin urmare, sistemele de contracte inteligente urmează de obicei declarațiile condiționate „dacă... atunci...”. Deși conceptul de „smart contract” este bine cunoscut, nu este nici un contract legal, nici smart. Sunt doar o bucată de cod care rulează într-un sistem distribuit blockchain.

În rețeaua Ethereum, contractele inteligente sunt responsabile pentru executarea și gestionarea operațiunilor blockchain atunci când utilizatorii (adresele) interacționează între ei. Adresele din afara contractelor inteligente se numesc „Conturi externe (EOA)”. Prin urmare, contractele inteligente sunt controlate de codul computerului, în timp ce conturile externe (EOA) sunt controlate de utilizatori.

Contractele inteligente Ethereum constau practic din cod de contract și două chei publice. Prima cheie publică este furnizată de creatorul contractului, iar cealaltă cheie publică este contractul în sine și este folosită ca identificator digital unic pentru fiecare contract inteligent.

Toată implementarea contractului inteligent are loc prin tranzacții blockchain și este activată numai atunci când este apelat un cont extern (EOA) sau alt contract inteligent. Cu toate acestea, contractele inteligente sunt în general declanșate de un cont extern (EOA), adică utilizatorul pentru prima dată.


Caracteristici cheie

Contractele inteligente Ethereum au următoarele caracteristici comune:

distribuite. Contractele inteligente sunt replicate și distribuite în toate nodurile din rețeaua Ethereum. Acesta este foarte diferit de alte soluții centralizate bazate pe server.

Certitudine. Contractele inteligente efectuează acțiuni prestabilite numai atunci când cerințele sunt îndeplinite. Și, indiferent cine o face, rezultatele rămân consistente.

autonomie. În comparație cu programele „auto-executive”, contractele inteligente vor finaliza automat diverse sarcini. De cele mai multe ori, contractele inteligente nedeclanșate rămân în stare de „sleep” și nu efectuează nicio acțiune.

Imuabilitate. Contractele inteligente nu pot fi modificate după ce sunt implementate. Contractele inteligente pot fi „șterse” numai după ce anumite funcții au fost implementate. Așadar, am putea spune la fel de bine că contractele inteligente oferă cod inviolabil.

Personalizare. Înainte de implementare, contractele inteligente sunt codificate într-o varietate de moduri. Prin urmare, poate fi folosit pentru a crea o mare varietate de aplicații descentralizate (DApps). Acest lucru merge mână în mână cu faptul că Ethereum este un blockchain complet Turing.

De-încredere. Două sau mai multe părți pot interacționa prin contracte inteligente fără a fi nevoie să se cunoască sau să aibă încredere unul în celălalt. În plus, tehnologia blockchain va asigura acuratețea datelor.

Transparenţă. Baza contractelor inteligente este un blockchain public, astfel încât codul sursă nu este doar imuabil, ci și deschis și transparent pentru toată lumea.


Contractele inteligente pot fi modificate sau șterse?

Odată implementate, contractele inteligente Ethereum nu pot adăuga funcții noi. Cu toate acestea, atâta timp cât creatorul contractului își rezervă funcția „SELFDESTRUCT” în cod, această funcție poate „șterge” ulterior contractul inteligent și îl poate înlocui cu un nou contract. Dacă această funcție nu este rezervată în cod, contractul inteligent nu poate fi șters.

Este de remarcat faptul că, prin așa-numitele contracte inteligente actualizabile, dezvoltatorii pot opera mai flexibil asupra imuabilității contractului. Există multe modalități de a crea contracte inteligente actualizabile, fiecare cu diferite niveluri de complexitate.

Ca exemplu simplu, să presupunem că un contract inteligent este împărțit în mai multe contracte mai mici. Unele părți sunt concepute pentru a fi imuabile, în timp ce altele permit funcțiile de „ștergere”. Adică, părți ale codului (contractele inteligente) pot fi șterse și înlocuite, în timp ce alte funcționalități rămân neschimbate.


Beneficii și cazuri de utilizare

Ca coduri programabile, contractele inteligente sunt extrem de personalizabile, concepute în multe feluri și oferă o mare varietate de servicii și soluții.

Ca programe descentralizate și care se execută automat, contractele inteligente cresc transparența și reduc costurile de funcționare. În funcție de implementare, contractele inteligente pot îmbunătăți eficiența implementării și pot reduce costurile greoaie.

Contractele inteligente sunt deosebit de utile atunci când vine vorba de transferuri de fonduri sau tranzacții între două sau mai multe părți.

Cu alte cuvinte, contractele inteligente pot fi adaptate pentru o gamă largă de cazuri de utilizare, inclusiv crearea de active tokenizate, sisteme de vot, portofele de criptomonede, schimburi descentralizate, jocuri și aplicații mobile. Contractele inteligente pot fi implementate și cu alte soluții blockchain care acoperă domenii precum asistența medicală, caritatea, lanțul de aprovizionare, guvernanța și finanțele descentralizate (DeFi).


ERC-20

Tokenurile emise pe blockchain-ul Ethereum urmează standardul ERC-20. Acest standard specifică funcționalitatea de bază a tuturor jetoanelor Ethereum. Prin urmare, aceste active digitale sunt adesea numite „jetoane ERC-20” și reprezintă o mare parte din criptomonedele existente.

Multe companii blockchain și startup-uri au implementat contracte inteligente pentru a emite în mod autonom token-uri digitale în rețeaua Ethereum. După emiterea unui token, majoritatea companiilor își distribuie jetoanele ERC-20 printr-o ofertă inițială de monede (ICO). În cele mai multe cazuri, utilizarea contractelor inteligente poate realiza în mod eficient tranzacții de fonduri și distribuire de jetoane într-o manieră fără încredere.


limitări

Contractele inteligente constau în cod de calculator scris de om. Codul va avea defecte și lacune, ceea ce va aduce multe riscuri. În mod ideal, contractele inteligente ar trebui scrise și implementate de programatori experimentați, mai ales atunci când sunt implicate informații sensibile și sume mari de bani.

În plus, unii oameni cred că sistemele centralizate pot oferi majoritatea soluțiilor și funcțiilor contractelor inteligente. Principala diferență este că contractele inteligente rulează într-o rețea P2P distribuită, mai degrabă decât într-un server centralizat. În plus, contractele inteligente se bazează pe sisteme blockchain și, prin urmare, adesea nu pot fi modificate sau dificil de schimbat.

Imuabilitatea contractelor inteligente are avantaje evidente, dar în unele cazuri poate fi contraproductivă. De exemplu, organizația autonomă descentralizată „The DAO” a fost piratată în 2016, iar milioane de monede Ethereum (ETH) au dispărut Motivul a fost că codul smart contract avea defecte.

Deoarece contractele inteligente sunt imuabile, dezvoltatorii nu pot repara codul. Acest lucru a condus în cele din urmă la o bifurcătură dură, din care s-a născut al doilea lanț Ethereum. Mai simplu spus, un lanț (parte a blockchain-ului actual Ethereum) este „restaurat” la felul în care era înainte de hack, returnând fonduri proprietarilor inițiali. Celălalt lanț, cunoscut acum sub numele de Ethereum Classic, a decis să nu intervină în hack, insistând că evenimentele care au loc în blockchain nu ar trebui să fie niciodată modificate.

Este important de reținut că această problemă nu este cauzată de blockchain-ul Ethereum, ci este cauzată de executarea incorectă a contractelor inteligente.

O altă limitare a contractelor inteligente este legată de efectele lor juridice neclare. Contractele inteligente se află într-o zonă gri în majoritatea țărilor și nu se aplică încă cadrelor legale actuale.

De exemplu, multe contracte impun ca ambele părți ale tranzacției să treacă autentificarea corespunzătoare cu numele real și să aibă peste 18 ani. Cu toate acestea, anonimatul tehnologiei blockchain și lipsa intermediarilor vor intra în conflict cu cerințele contractului. O soluție la această problemă poate apărea în viitor. Cu toate acestea, contractele inteligente rulează într-o rețea distribuită fără granițe, ceea ce face foarte dificilă aplicarea legii.


Dezavantaje

Unii pasionați de blockchain văd contractele inteligente ca soluții autonome care vor înlocui o mare parte din sistemele de afaceri și birocratice existente. Deși ideea s-ar putea să se concretizeze, mai este mult de parcurs până să devină norma.

Contractele inteligente sunt într-adevăr o tehnologie interesantă. Cu toate acestea, caracteristici precum distribuția, determinismul, transparența și imuabilitatea reduc uneori atractivitatea contractelor inteligente.

Dezavantajul esențial al contractelor inteligente este că nu pot rezolva bine multe probleme practice. De fapt, unele organizații folosesc în prezent soluții tradiționale de server ca soluție temporară.​

În comparație cu contractele inteligente, serverele centralizate sunt mai ușor și mai puțin costisitoare de întreținut și au adesea avantaje majore în ceea ce privește viteza și comunicarea între rețele (interoperabilitate).


Rezuma

Nu există nicio îndoială că contractele inteligente au avut un impact profund asupra domeniului criptomonedei și au adus într-adevăr schimbări majore în domeniul blockchain. Utilizatorii finali nu interacționează neapărat direct cu contractele inteligente. Dar, în viitorul apropiat, contractele inteligente vor fi utilizate mai pe scară largă, acoperind diverse domenii precum serviciile financiare și managementul lanțului de aprovizionare.

Împreună, contractele inteligente și blockchain-ul perturbă aproape fiecare domeniu al societății de astăzi. Dar numai timpul va spune dacă aceste tehnologii inovatoare pot trece peste obstacole și, în cele din urmă, pot ajunge la adoptarea în masă.