Contractele smart și platformele acestora

az okos szerződések kriptopénz hírek mycryptoption

Contractele smart

Trăim în era contractelor smart, iar Bitcoin ne-a arătat că un sistem de plată poate exista într-un mediu descentralizat peer-to-peer. Odată cu apariția Ethereum, porțile contractelor smart s-au deschis larg. Ethereum a dat startul epocii blockchain-ului de a doua generație, iar lumea a descoperit adevăratul potențial al Dapps și al contractelor smart.

Contractele smart sunt contracte automate. Ele execută (în mod independent) instrucțiunile speciale programate în codul lor, la îndeplinirea condițiilor stabilite. Ce calități avantajoase am dori să includem în ele? Trebuie să avem în vedere că elementelele de pe blockchain trebuie să fie imuabile și capabile să ruleze prin mai multe noduri, fără a-i periclita integritatea. Ca urmare, funcționalitatea contractelor smart este dată de următoarele trei calități: determinism, finalitate, izolare.

Determinism

Un program este determinist dacă în urma introducerii unei valori date ne furnizează același rezultat de fiecare dată. De exemplu, dacă 3 + 1 = 4, atunci 3 + 1 va fi ÎNTOTDEAUNA 4. Astfel, atunci când în urma introducerii unui set inițial de date un program ne oferă același rezultat pe diverse calculatoare, acesta este numit determinist. Există însă situații în care un program nu va funcționa în mod determinist – de exemplu, dacă un programator introduce un algoritm nedeterminist sau date nedeterminate.

La fel, dacă un program obține date în timpul rulării, iar sursa lor nu poate fi determinată, acel program nu va fi determinist. Să presupunem că un program utilizează lista top 10 căutări de pe Google ca parte a unei interogări. Această listă se poate modifica continuu. Putem avea și cazuri de apeluri dinamice (dynamic calls). Dacă un program face apel la un alt program, acest lucru se numește apel dinamic. Deoarece scopul apelului este determinat doar în timpul executării (programului), va avea o natură nedeterministă.

Finalitate

În matematică, teoria calculabilității analizează o eroare pe care o numim „problema opririi”, atunci când un calculator nu știe dacă programul își poate executa funcția într-un termen stabilit. Alan Turing a dedus în 1936, folosindu-se de teoria mulțimilor elaborată de Georg Cantor, că nu există vreun mod ca să afle dacă un anumit program poate fi sau nu finalizat într-o limită de timp. Aceasta este și problema contractelor smart, fiindcă, prin definiție, contractele trebuie să fie capabile de a fi finalizate într-un termen stabilit. Există însă diferite măsuri pe care le putem lua în vederea terminării unui contract, ceea ce ne ajută să nu intrăm într-un ciclu nesfârșit care ne va epuiza resursele.

O astfel de măsură este aplicarea teoremei de incompletitudine a lui Turing – un blockchain incomplet Turing va avea funcționalitate limitată și nu va fi capabil de cicluri sau salturi; putem evita astfel să se formeze cicluri care nu se mai termină. Contorul de trepte și taxe – programul va putea urmări cu ușurință „pașii” efectuați (număr comenzilor executate), iar în cazul contabilizării unui număr stabilit, va termina contractul. Contorul de taxe este o altă soluție. Aici contractele sunt executate prin taxe plătite dinainte. Executarea fiecărei comenzi va necesita taxe diferite. Dacă valoarea sumei cheltuite depășește valoarea taxei plătite în avans, contractul va înceta. Temporizatorul – va fi utilizat un cronometru/temporizator prestabilit. Dacă executarea contractului depășește termenul, acesta va fi întrerupt din exterior.

Izolare

Oricine poate introduce un contract smart în blockchain. Chiar de aceea, contractele pot conține, voit sau întâmplător, viruși sau erori. Dacă nu este izolat, contractul poate perturba întreaga rețea. Astfel, este indispensabil ca, în vederea protejării ecosistemului de efectele negative, contractele să fie păstrate în mod izolat. După ce-am făcut cunoștință cu aceste caracteristici, să vedem cum sunt ele aplicate. În general, contractele smart sunt derulate printr-unul din cele două sisteme:

Mașini virtuale: Utilizate de Ethereum și Neo.

Docker: Utilizat de Fabric.

Mașinile virtuale asigură un mediu mai determinist, mai finalizabil și mai izolat pentru încheierea contractelor smart. Din moment ce știm ce sunt contractele smart și faptul că mașinile virtuale sunt o platformă mai bună pentru ele, să vedem ce necesită Dapps pentru a rula eficient.

Ce necesită Dapps?

contractele smart Képtalálat a következőre: „dapp”

Mai precis, de ce are nevoie un Dapp pentru a avea succes și a intra în atenția publicului mainstream? Care sunt cerințele minime? Aplicația descentralizată trebuie să fie scalabilă, pentru a putea fi utilizată de milioane de utilizatori. Este adevărat mai ales în cazul celor care țintesc acceptarea la scară largă. Platformele trebuie să asigure dezvoltatorilor posibilitatea creerii Dapps ce pot fi folosite liber de către utilizatori. Ar fi important ca utilizatorul să nu fie nevoit să plătească platformei pentru a beneficia de avantajele Dapp.

Mai mult, platforma trebuie să ofere dezvoltatorilor libertatea actualizării aplicațiilor, oricând este nevoie. Totodată, dacă Dapp-ul este afectat de o eroare (un bug), dezvoltatorii va trebui s-o remedieze fără a influența platforma. Aplicația trebuie să ruleze cât mai lin și cu cea mai scăzută latență posibilă.

În vederea economisirii de timp și a distribuirii volumului de muncă, platforma trebuie să permită procesarea paralelă a Dapps. Dar, pe blockchain nu toate funcțiile trebuie executate în acest fel. Gândește-te la efectuarea tranzacțiilor – mai multe tranzacții nu pot fi procesate paralel, trebuie luate una câte una pentru a se putea evita erori precum double spending.

Ce platforme avem la dispoziție pentru crearea DAPP?

BitShares și Graphene au o bună rată de transfer, dar nu sunt potrivite pentru contractele smart. Ethereum este cea mai bună alegere de pe piață. Are calități excelente pentru implementarea contractelor smart, dar viteza mică de tranzacție este o problemă majoră. Pe deasupra, prețul GAS poate fi problematic. Pagina web a Ethereum precizează:

„Ethereum este o platformă descentralizată care rulează contracte smart: aplicații care funcționează exact așa cum sunt programate, fără orice posibilitate de oprire, cenzură, fraudă sau intervenția unei a treia părți. Aceste aplicații rulează pe un blockchain construit la comandă, o infrastructură distribuită globală cu o capacitate enormă, care poate deplasa valori și poate reprezenta dreptul de proprietate.”

În termeni mai simpli, Ethereum își propune să fie platforma software a viitorului. Dacă viitorul este descentralizat, iar Dapp devine un lucru obișnuit, Ethereum trebuie să fie în centrul acestora. EVM (Mașina Virtuală Ethereum) este acea platformă pe care funcționează toate contractele smart în Ethereum. Aceasta este o mașină virtuală Turing Complete de 256-bit simplă, dar puternică. Turing complete înseamnă că orice program executat în EVM poate rezolva orice problemă, dacă are la dispoziție suficiente resurse și memorie.

EOS

Scopul EOS este să devină un sistem de operare descentralizat care poate susține aplicațiile descentralizate la scară industrială. Sună foarte bine, însă atenția publicului a fost atrasă mai ales de cele două scopuri afirmate:

  • eliminarea completă a taxelor de tranzacții
  • capacitatea de a efectua milioane de tranzacții pe secundă

Acestea sunt cele două caracteristici pentru care dezvoltatorii Dapp au în vedere EOS, ce funcționează pe un model de proprietate unde utilizatorii au dreptul folosirii resurselor, proporțional cu participația lor, în loc să fie nevoiți să plătească pentru fiecare tranzacție. În esență, dacă dispui de N token-uri EOS, ai dreptul la N*k tranzacții. Practic, taxele de tranzacții sunt eliminate.

Stellar

Stellar a fost creat de Jed McCaleb și Joyce Kim în 2014, atunci când s-a rupt de protocolul Ripple. Conform paginii sale web, Stellar este „o platformă care leagă băncile, sistemele de plată și oamenii. Integrează deplasarea rapidă, sigură și aproape gratuită a banilor”. Cu ajutorul Stellar putem deplasa bani și peste frontiere. În opoziție cu Ethereum, Stellar Smart Contracts (SSC) nu sunt Turing Complete.

Cardano

Cardano este unul dintre cele mai interesante proiecte. Asemenea Ethereum, Cardano este o platformă de contracte smart; iar prin construcția sa stratificată, oferă scalabilitate și siguranță. Abordarea celor de la Cardano este unică în această industrie, bazându-se pe cercetări științifice recunoscute și pe filosofia științei. Scopul Cardano este creșterea scalabilității prin intermediul mecanismului său de consens. Codarea contractelor smart se efectuează prin limbajul de programare Plutus, iar cea a Cardano prin Haskell. În timp ce C++ și majoritatea limbajelor sunt limbaje de programare imperative, Plutus și Haskell sunt limbaje de programare imperative.

NEO

Neo era cunoscut mai demult sub numele Antshares, iar mulți l-au poreclit „Ethereum-ul chinez”. Conform paginii lor web, Neo este „un proiect blockchain non-profit condus de comunitate, care utilizează tehnologie blockchain și identitate digitală pentru digitalizarea instrumentelor, în vederea automatizării funcționării acestora prin contracte smart”.

Mai multe articole