Un contract inteligent este un contract digital scris utilizând codul de computer condiționat If-Then pentru a defini un acord între două sau mai multe părți, cu anumite reguli și penalități, înregistrate pe blockchain. Părțile contractante sunt anonime, dar contractul în sine este difuzat pe registrul public. Un eveniment declanșator, cum ar fi atingerea unui preț de așteptare sau atingerea unei date de expirare, aprinde executarea contractului conform termenilor acordului codificați în contractul inteligent.
Contractele inteligente sunt mijloace pentru schimbul de bani, acțiuni, proprietăți sau orice formă de active într-un mod transparent, sigur, fără conflicte, omițând în același timp necesitatea intermedierii de către un intermediar.
De-a lungul acestui articol, vom analiza cele mai utilizate platforme de contracte inteligente care s-au dovedit a fi eficiente și fiabile în diferite aplicații de afaceri. Dacă vrei aflați despre contractele inteligente și modul în care funcționează, avem o clasă Cointelligence Academy care le acoperă în detaliu.
Cele mai populare platforme de contracte inteligente
Ethereum (ETH)
Ethereum este o platformă descentralizată bazată pe blockchain care rulează contracte inteligente, care a deschis și ușa aplicațiilor descentralizate (DApps). Mașina virtuală Ethereum (EVM) este o mașină virtuală care execută toate contractele inteligente. EVM este o mașină virtuală Turing Complete pe 256 de biți. Contractele inteligente bazate pe Ethereum sunt codificate folosind Solidity, care este un limbaj de programare Turing Complete care permite codarea instrucțiunilor de cod de buclă și ramificare. Soliditatea "Completarea Turing" face Ethereum ideal pentru codificarea contractelor inteligente cu logică sofisticată.
"Gaz" este combustibilul contractelor inteligente ale Ethereum. Cuantifică cantitatea de putere de calcul necesară pentru executarea contractelor inteligente prin intermediul EVM. Când depuneți un contract inteligent, trebuie să determinați valoarea gazului acestuia. Fiecare pas de-a lungul codului contractului inteligent necesită executarea unei cantități prestabilite de gaz.
Contractele inteligente ale Ethereum pot:
– Acționează ca "multi-semnătură" conturi ethereum, astfel încât monedele sunt cheltuite numai dacă un număr prestabilit de utilizatori este de acord
– Oferiți utilitate altor contracte inteligente pe blockchain-ul Ethereum
– Înregistrați informații despre proprietatea activelor, înregistrarea domeniului, privilegiile de membru, drepturile de aplicare și multe altele
– Gestionați acordurile între mai multe părți, cum ar fi închirierile, colaborarea în afaceri și asigurările
– Fiți codat pentru a emite jetoane, cum ar fi jetoanele ICO utilizate pentru finanțarea mulțimii. Există mai multe standarde de jetoane utilizate pentru a emite jetoane pe platforma Ethereum, inclusiv standardele ERC-20, ERC223 și ERC77. ERC-20 este cel mai frecvent utilizat standard pentru emiterea de jetoane în scopuri ICO, în ciuda erorilor sale grave care au dus deja la pierderi în valoare de milioane de dolari în industria criptografică.
ERC-20 efectuează o tranzacție simbolică prin unul din cele două moduri:
1- transfer (): această funcție aprinde trimiterea de jetoane la adresa unui anumit utilizator.
2- approve () + transferFrom (): această funcție aprinde depunerea de jetoane la un contract inteligent predefinit.
Cu toate acestea, dacă funcția transfer () este utilizată accidental pentru a trimite jetoane către un contract inteligent, tranzacția va fi executată cu succes, totuși această tranzacție nu va fi recunoscută niciodată de adresa contractului inteligent al destinatarului. Această eroare a inspirat dezvoltatorii să creeze standardele ERC223 și ERC77.
– ERC223: Acest standard atenuează eroarea critică ERC-20 prin modificarea funcției transfer (), astfel încât ar arunca o eroare ca răspuns la transferuri nevalide și ar anula tranzacția, astfel încât să nu se piardă fonduri.
– ERC777: Acest standard rezolvă problema ERC20 de lipsă a operațiunilor de gestionare a tranzacțiilor.
Ethereum este o alegere populară pentru crearea de contracte inteligente, însă problemele de scalabilitate ale platformei o fac inadecvată pentru multe aplicații din lumea reală. Solidității îi lipsește flexibilitatea de codare oferită de limbaje de programare mai recente. Solidității îi lipsește suportul matricilor multidimensionale în parametrii de intrare, precum și parametrii de ieșire. Mai mult, Solidity acceptă doar 16 parametri într-o funcție de contract inteligent.
În ciuda acestui fapt, contractele inteligente bazate pe Ethereum sunt utilizate în diverse aplicații. De exemplu, PCHAIN a fost primul proiect blockchain care a creat un sistem nativ, cu mai multe lanțuri, care acceptă pe deplin Ethereum Virtual Machine (EVM) – mediul de rulare pentru contractele inteligente Ethereum.
EOS
EOS devine din ce în ce mai una dintre cele mai populare platforme de contracte inteligente. Platforma a captat atenția comunității cripto din cauza unei nenumărate motive, și anume faptul că tranzacțiile pe platformă necesită taxe aproape zero și capacitatea platformei de a gestiona milioane de tranzacții pe secundă.
Contractele inteligente sunt programate folosind C ++, ceea ce sporește flexibilitatea de programare. Contractele inteligente EOS sunt implementate pe blockchain sub forma Asamblării Web precompilate (WASM), care promovează executarea mai rapidă a contractelor în comparație cu contractele inteligente bazate pe Ethereum. WASM este compilat cu C / C ++ prin intermediul clang și LLVM. Dezvoltatorii trebuie să aibă cunoștințe despre C / C ++ pentru a putea codifica contracte inteligente pe blockchain-ul EOS. Chiar dacă C poate fi utilizat pentru a crea contracte, este foarte recomandat să utilizați API-ul EOS.IO C ++, care consolidează siguranța contractului și face codul său ușor de citit. EOS folosește mecanismul consensului dovedit de miză delegat (dPoS), care acționează cu evaluare parțială și executare paralelă pentru a oferi o platformă de contract inteligentă cu niveluri ridicate de scalabilitate și taxe de tranzacție aproape zero.
Chiar dacă EOS este mult mai puțin popular decât Ethereum, a stabilit "zbor cu aer" model ca concurent la modelul de finanțare publică ICO al Ethereum.
Aion (AION):
Aion este o platformă de contract inteligent care permite rutare tranzacțiilor și mesajelor între diferite blockchains prin intermediul inovatorului său "punte" protocoale. Aion este o rețea multi-nivel compusă din următoarele componente:
– Poduri
– Conectarea rețelelor
– Tranzacții între lanțuri
– Rețele participante
Podurile Aion vor face posibilă tranzacția pe mai multe blockchain-uri (tranzacții interchain) prin intermediul ecosistemului blockchain AION. Tranzacțiile între lanțuri sunt executate prin intermediul podurilor și rețelelor de conectare. Rețelele de conectare reprezintă protocoalele prin care toate blockchain-urile publice și private se pot intercomunică cu ecosistemul blockchain AION. Rețelele participante sunt rețele care au îndeplinit un set special de cerințe pentru a deveni parte a ecosistemului blockchain AION. Rețelele participante trebuie să sprijine difuzarea tranzacțiilor atomice și să implementeze timp de blocare care le va permite să înghețe tranzacțiile care intră într-o stare de "Oh Hold".
Aion Virtual Machine (AVM) permite executarea contractelor inteligente. AVM este o implementare JVM care este concepută pentru a executa logica lanțului. Limbajul Aion este limbajul de scriptare utilizat pentru a programa contracte inteligente în AVM. În prezent, nucleul Aion rulează pe Java, astfel încât dezvoltatorii trebuie să folosească limbaje precum Python sau Groovy pentru a codifica contracte inteligente pe blockchain-ul Aion. Cu toate acestea, platforma se va baza în cele din urmă pe limbajul Aion pentru scriptarea contractelor inteligente.
Aion-1 este platforma autonomă Aion care permite executarea contractelor inteligente create pe alte blockchains. În acest moment, Aion se bazează pe EVM-ul Ethereum, dar în cele din urmă Aion-1 va fi activat și va permite dezvoltatorilor să-și deruleze contractele inteligente bazate pe Ethereum și DApp-urile mult mai ieftine și mai rapide decât pe EVM.
NEM
NEM este o platformă de contract inteligent, care este mai scalabilă decât Ethereum. Acolo unde Ethereum poate gestiona 15 tranzacții pe secundă, NEM poate gestiona sute de tranzacții pe secundă. NEM este mai rapid, mai sigur și oferă o tehnologie simplă de contract inteligent. NEM utilizează codul off-blockchain pentru programarea contractelor inteligente, ceea ce face ca blockchain-ul NEM să fie mai puțin descentralizat decât al Ethereum, dar promovează niveluri de securitate mai ridicate, confirmarea mai rapidă a tranzacțiilor și un cod de programare mai ușor. Funcțiile de securitate în lanț ale NEM, cum ar fi semnăturile multiple și activele inteligente, rezolvă această problemă.
Activele inteligente sunt aplicații unice de gestionare a datelor care pot fi utilizate pentru a crea înregistrări de date, jetoane, sisteme de vot și monede noi folosind un cod de programare simplu. Funcționalitatea extremă a blockchain-ului NEM este furnizată prin intermediul API-ului său puternic, care permite utilizarea oricărui limbaj de programare (cum ar fi JS, Python și altele) pentru a codifica contracte inteligente. API-ul NEM este folosit pentru a dezvolta "contracte în afara lanțului", care poate fi actualizat oricând, fără a comunica cu blockchain-ul NEM.
Stelar
Stellar este o platformă de contracte inteligente în care tranzacțiile sunt mai sigure, mai rapide și mai ieftine decât tranzacțiile de pe blockchain-ul Ethereum. Contractele inteligente stelare (SSC) nu sunt complete și sunt desfășurate sub forma unor acorduri programate între mai multe părți care sunt puse în aplicare prin tranzacții. Deși durează aproximativ 3,5 minute pentru ca o tranzacție să fie confirmată pe blockchain-ul Ethereum, o tranzacție pe blockchain-ul Stellar necesită doar aproximativ 5 secunde pentru a fi confirmată. Taxele de tranzacție sunt neglijabile, în medie (0,0001 XLM ~ = 0,0000002 USD). SSC poate fi codat folosind orice limbaj de programare, cum ar fi Python, JS, PHP, Golang și altele prin intermediul API-ului Stellar. Un SSC este compus din tranzacții care sunt interconectate și executate prin intermediul unor constrângeri multiple, inclusiv semnături multiple, lot / atomicitate, secvență și limite de timp. Lotul permite includerea mai multor operațiuni într-o singură tranzacție. Atomicitatea se asigură că la trimiterea unei serii de operațiuni în rețeaua Stellar, toate operațiunile dintr-o tranzacție ar eșua, dacă o singură operație nu reușește să fie executată. Secvența este un concept unic prezentat pe blockchain-ul lui Stellar prin intermediul "număr de secvență". Cu numerele de ordine, tranzacțiile specifice ar eșua dacă o tranzacție alternativă este executată cu succes. Limitele de timp reprezintă limitări ale perioadei de valabilitate a unei tranzacții. Utilizarea limitelor de timp permite reprezentarea perioadelor de timp într-un SSC.
Tesatura Hyperledger (HLF)
Hyperledger Fabric (HLF) este un blockchain permis cu o flexibilitate avansată. Contractele inteligente ale HLF sunt cunoscute sub numele de "cod de cod". HLF este scris în limbajul Go, limbajul de programare open source Google, deci codul de cod susține destul de bine acest limbaj.
Corda
Corda este o platformă de contract inteligent, ideală pentru crearea de acorduri financiare. Contractele inteligente ale Corda sunt tranzacții valabile care trebuie acceptate de contractul inteligent al fiecăreia dintre stările sale de intrare și ieșire. Contractele inteligente sunt codificate folosind un limbaj de programare JVM, cum ar fi Java sau Kotlin. Executarea unui contract inteligent este deterministă și acceptarea unei tranzacții se bazează doar pe conținutul tranzacției. Ocazional, validitatea unei tranzacții se bazează pe o informație externă, cum ar fi un preț simbolic. În acest caz, este nevoie de un oracol. Un fapt poate fi codificat pentru a face parte din comanda unei tranzacții. Un oracle reprezintă un serviciu care va confirma doar o tranzacție, dacă faptul comenzii este adevărat.
DApp-urile Corda sau CorDapps sunt instalate la nivelul nodurilor de rețea, mai degrabă decât pe rețeaua blockchain în sine. CorDapps sunt codificate folosind Java sau Kotlin. CorDapps sunt codate pentru a rula pe platforma Corda. Acest lucru se realizează prin definirea fluxurilor Operatorii nodului Corda pot invoca prin apeluri RPC.
NEO
NEO este o platformă de contracte inteligente care oferă contracte inteligente eficiente și cu taxă redusă. Contractele inteligente pot fi codificate folosind o multitudine de limbaje de programare, inclusiv C #, F #, Java, Python, VB.Net și Kotlin. NEO oferă plugin-uri și compilatoare pentru toate aceste limbi. În viitor, va fi implementat suportul pentru JS, Go language, C și C ++.
Contractele inteligente ale NEO sunt executate prin intermediul mașinii virtuale ușoare NEO (NeoVM). Executarea inteligentă a contractului prin NeoVM consumă resurse minime. Compilarea statică a contractelor inteligente și stocarea în cache a contractelor inteligente hotspot pot fi îmbunătățite considerabil prin intermediul compilatorului JIT în timp real. În prezent, blockchain-ul NEO oferă Smart Contract 2.0, care oferă suport pentru structuri și matrice complexe de date. De asemenea, Smart Contract 2.0 oferă o abordare scalabilă prin partiționare dinamică și concurență ridicată, în combinație cu un design de cuplare redus. Procedura de cuplare redusă a contractelor inteligente este executată în NeoVM și interacționează cu sistemele off-chain printr-un strat de servicii interactive. Ca atare, majoritatea actualizărilor funcției smart contract pot fi realizate prin intermediul API-ului special al stratului de servicii interactive.
Valuri
Contractele inteligente ale Waves sunt codificate prin limbajul de programare RIDEON. Lansarea contractelor inteligente ale Waves este împărțită în două etape. Prima etapă a fost deja lansată în aprilie anul trecut, permițând dezvoltarea de contracte inteligente complete non-Turing pe testnet. În prima etapă, contractele inteligente complete care nu fac parte din Turing permit o multitudine de funcționalități de control al contului care vor acoperi mai multe cazuri de utilizare, care variază de la schimbul de jetoane pe diferite blockchains, până la controlul controlului bugetului partajat. Unul dintre cele mai frecvente cazuri de utilizare a contractelor inteligente complete Waves, care nu sunt Turing, sunt conturile cu mai multe semnături. De asemenea, pot fi folosite pentru a implementa înghețarea tokenului, care implică trimiterea unui token la o adresă și asigurarea că acesta rămâne inutilizabil, adică netransferabil, pentru o perioadă de timp predefinită. Acest lucru va fi destul de util în implementarea vestimentației de jetoane pentru creatorii unui ICO, după încheierea publicității.
După ce prima etapă a contractelor inteligente complete non-Turing a fost testată extensiv și activată pe rețeaua principală Waves, a doua etapă a contractelor inteligente complete Turing va fi lansată.
Stratis
Stratis utilizează cadrul popular .NET. Contractele inteligente sunt codificate prin limbajul de programare C #. Contractele inteligente trebuie executate deterministic, deci nu pot utiliza toate capacitățile C # sau toate bibliotecile de bază .NET. Stratis se bazează și pe "gaz" concept, care este identic cu conceptul de gaz Ethereum.
Cardano
Cardano este o platformă de contract inteligent care se concentrează pe oferirea de garanții că un contract inteligent funcționează exact așa cum este codat, fără vulnerabilități ascunse. Contractele inteligente pot fi codificate folosind Solidity sau Plutus. Cardano prezintă Cardano Computation Layer (CCL), care este alcătuit din două straturi – un cadru lingvistic și o mașină virtuală specificată formal. Cadrul de limbaj prezintă un set de limbaje de programare specificate formal care facilitează autentificarea automată a codului de contract inteligent lizibil de către om.
Tezos
Tezos este o platformă de contract inteligent care acceptă verificarea formală a codului de contract inteligent în lanț. Contractele inteligente sunt codificate folosind un nou limbaj de programare, cunoscut sub numele de Michelson, care sporește securitatea. Spre deosebire de Solidity, codul lui Michelson nu este compilat pentru nimic; în schimb, reprezintă un limbaj de programare complet bazat pe stoc, bazat pe stoc, care este interpretat direct de mașina virtuală Tezos. Contractele inteligente programate de Michelson permit codificarea construcțiilor de nivel înalt, inclusiv seturi, hărți, primitive criptografice, lambda și operațiuni specifice contractelor care fac codul mai ușor de citit de către oameni.
Următorul (NXT)
Urmează o criptomonedă și o platformă de contract inteligent. Chiar dacă contractele inteligente ale lui Next nu sunt complete, platforma utilizează un strat unic de scriptare complet Turing, care permite utilizatorilor să creeze cu ușurință șabloane de contracte inteligente. Utilizatorii pot alege cel mai potrivit șablon pentru nevoile lor și își pot modifica parametrii pentru a-și crea propriile contracte inteligente. Dezvoltatorii platformei Next cred că aceste șabloane de contracte inteligente acoperă aproape fiecare aplicație de business, pe lângă faptul că sunt simple de codat și implementat.
Gânduri finale
Există alte criptomonede care permit dezvoltarea de platforme de contract inteligente, inclusiv Quorum, Wanchain, Aeternity, Zen, Counterparty, Rootstock, RChain, Qtum, Ark, Neblio, DFINITY, BOSCoin, Agoras Tauchain, Burst, iOlite, ByteBall, XTRABYTES, PolkaDot Radix, Exonum, Universa, Urbit, Soil, Expanse, Monax și probabil alții. Cu toate acestea, platformele prezentate în acest articol sunt cele mai utilizate pe scară largă și cele care s-au dovedit a fi fiabile în diferite aplicații.