Pametna pogodba je digitalna pogodba, napisana z uporabo pogojne računalniške kode If-Then za določitev dogovora med dvema ali več strankami z določenimi pravili in kaznimi, zabeleženimi na verigi blokov. Pogodbene stranke so anonimne, vendar se sama pogodba predvaja v javno knjigo. Sprožilni dogodek, na primer doseganje udarne cene ali doseganje roka veljavnosti, sproži izvajanje pogodbe v skladu s pogoji sporazuma, kodiranimi v pametni pogodbi.
Pametne pogodbe so sredstvo za izmenjavo denarja, delnic, nepremičnin ali kakršne koli oblike premoženja na pregleden, varen način, brez konfliktov, pri čemer ni treba posredovati posrednika.
V tem članku bomo pregledali najpogosteje uporabljene platforme pametnih pogodb, ki so se v različnih poslovnih aplikacijah izkazale za učinkovite in zanesljive. Če bi radi spoznajte pametne pogodbe in kako delujejo, imamo predavanje Cointelligence Academy, ki jih podrobno pokriva.
Najbolj priljubljene platforme pametnih pogodb
Ethereum (ETH)
Ethereum je decentralizirana blockchain platforma, ki izvaja pametne pogodbe, kar je odprlo vrata tudi decentraliziranim aplikacijam (DApps). Navidezni stroj Ethereum (EVM) je navidezni stroj, ki izvaja vse pametne pogodbe. EVM je 256-bitni virtualni stroj podjetja Turing. Pametne pogodbe, ki temeljijo na Ethereumu, se kodirajo s pomočjo Solidity, ki je programski jezik Turing Complete, ki omogoča kodiranje izvlečnih in razvejanih kodnih stavkov. Solidnost "Turingova popolnost" naredi Ethereum idealen za kodiranje pametnih pogodb s prefinjeno logiko.
"Plin" je gorivo pametnih pogodb Ethereuma. Kvantificira količino računske moči, potrebne za izvajanje pametnih pogodb prek EVM. Ko oddate pametno pogodbo, morate določiti njeno vrednost plina. Vsak korak k kodi pametne pogodbe zahteva izvedbo vnaprej določene količine plina.
Pametne pogodbe Ethereuma lahko:
– Obnašaj se kot "več podpisov" ethereum računi, tako da se kovanci porabijo le, če se s tem strinja vnaprej določeno število uporabnikov
– Ponudite koristnost drugim pametnim pogodbam na blokovni verigi Ethereum
– Zapišite podatke o lastništvu sredstva, registraciji domen, privilegijih članstva, pravicah do prijave in še več
– Upravljajte dogovore med več stranmi, kot so najemnine, poslovno sodelovanje in zavarovanje
– Kodirajte se za izdajo žetonov, kot so žetoni ICO, ki se uporabljajo za množično financiranje. Za izdajo žetonov na platformi Ethereum je več standardov žetonov, vključno s standardi ERC-20, ERC223 in ERC77. ERC-20 je najpogosteje uporabljen standard za izdajo žetonov za namene ICO, kljub resnim napakam, ki so že povzročile izgube v kripto industriji za milijone dolarjev.
ERC-20 izvede transakcijo z žetoni na enega od dveh načinov:
1- prenos (): ta funkcija sproži pošiljanje žetonov na naslov določenega uporabnika.
2- odobritev () + transferFrom (): ta funkcija vžge deponiranje žetonov v vnaprej določeno pametno pogodbo.
Če pa se funkcija transfer () po naključju uporablja za pošiljanje žetonov v pametno pogodbo, bo transakcija uspešno izvedena, vendar te transakcije naslov pametne pogodbe prejemnika ne bo nikoli prepoznal. Ta napaka je navdihnila razvijalce, da so ustvarili standarde ERC223 in ERC77.
– ERC223: Ta standard ublaži kritično napako ERC-20 s spreminjanjem funkcije transfer (), tako da bo v odgovor na neveljavne prenose povzročil napako in preklical transakcijo, tako da se sredstva ne bodo izgubila..
– ERC777: Ta standard rešuje težavo ERC20 zaradi pomanjkanja postopkov za obdelavo transakcij.
Ethereum je priljubljena izbira za ustvarjanje pametnih pogodb, vendar so zaradi težav z razširljivostjo platforme neprimerni za številne resnične aplikacije. Solidnost nima fleksibilnosti kodiranja, ki jo zagotavljajo novejši programski jeziki. Solidnost v vhodnih in izhodnih parametrih nima podpore večdimenzionalnim nizom. Poleg tega Solidity podpira samo 16 parametrov znotraj funkcije pametne pogodbe.
Kljub temu se pametne pogodbe, ki temeljijo na Ethereumu, uporabljajo v različnih aplikacijah. Na primer, PCHAIN je bil prvi projekt veriženja blokov, ki je ustvaril izvorni večverižni sistem, ki v celoti podpira navidezni stroj Ethereum (EVM) – izvajalno okolje za pametne pogodbe Ethereum.
EOS
EOS postaja vse bolj ena izmed najbolj priljubljenih platform za pametne pogodbe. Platforma je pritegnila pozornost kripto skupnosti zaradi nešteto razlogov, in sicer za to, da transakcije na platformi zahtevajo skoraj nič provizij, in zmožnost platforme za obdelavo milijonov transakcij na sekundo.
Pametne pogodbe se programirajo s pomočjo C ++, ki povečuje programsko prilagodljivost. Pametne pogodbe EOS se na verigo blokov implementirajo v obliki vnaprej pripravljenega spletnega sklopa (WASM), ki spodbuja hitrejše izvajanje pogodb v primerjavi s pametnimi pogodbami, ki temeljijo na Ethereumu. WASM je sestavljen s C / C ++ s pomočjo clang in LLVM. Razvijalci morajo poznati C / C ++, da lahko kodirajo pametne pogodbe na verigi blokov EOS. Čeprav se C lahko uporablja za ustvarjanje pogodb, je zelo priporočljivo uporabiti API EOS.IO C ++, ki krepi varnost pogodbe in omogoča njeno berljivost kode. EOS uporablja mehanizem soglasja delegiranih dokazov o deležu (dPoS), ki z delnim vrednotenjem in vzporednim izvajanjem ponuja pametno pogodbeno platformo z visoko stopnjo razširljivosti in skoraj ničelnimi provizijami za transakcije..
Čeprav je EOS veliko manj priljubljen kot Ethereum, je ustanovil "zračno kapljanje" model kot konkurent Ethereumovemu modelu množičnega financiranja ICO.
Aion (AION):
Aion je pametna pogodbena platforma, ki prek svojega inovativnega omogoča usmerjanje transakcij in sporočil med različnimi verigami blokov "premostitvene" protokoli. Aion je večplastna mreža, sestavljena iz naslednjih komponent:
– Mostovi
– Povezovanje omrežij
– Medverižne transakcije
– Sodelujoča omrežja
Aionovi mostovi bodo omogočili transakcije prek več verig blokov (transakcije med verigami) prek ekosistema blockchain AION. Medverižne transakcije se izvajajo prek mostov in povezovalnih omrežij. Povezovalna omrežja predstavljajo protokole, prek katerih lahko vsi javni in zasebni verigi blokov komunicirajo z AION-ovim ekosistemom blokov. Sodelujoča omrežja so omrežja, ki so izpolnila poseben sklop zahtev, da postanejo del ekosistema blockchain AION. Sodelujoča omrežja morajo podpirati oddajanje atomskih transakcij in uvesti čas zaklepanja, ki jim bo omogočil zamrznitev transakcij, ki preidejo v stanje "Oh, drži".
Navidezni stroj Aion (AVM) omogoča izvajanje pametnih pogodb. AVM je izvedba JVM, ki je zasnovana za izvajanje verižne logike. Jezik Aion je skriptni jezik, ki se uporablja za programiranje pametnih pogodb v AVM. Trenutno jedro Aiona deluje na Javi, zato morajo razvijalci uporabljati jezike, kot sta Python ali Groovy, za kodiranje pametnih pogodb na Aionovi verigi blokov. Vendar se bo platforma na koncu zanašala na jezik Aion za skriptiranje pametnih pogodb.
Aion-1 je samostojna platforma Aiona, ki omogoča izvajanje pametnih pogodb, ustvarjenih na drugih verigah blokov. Trenutno se Aion zanaša na Ethereum-ov EVM, vendar bo sčasoma Aion-1 aktiviran in razvijalcem omogočil, da svoje pametne pogodbe in DApps, ki temeljijo na Ethereumu, izvajajo veliko ceneje in hitreje kot na EVM.
NEM
NEM je pametna pogodbena platforma, ki je bolj razširljiva kot Ethereum. Kjer Ethereum lahko obravnava 15 transakcij na sekundo, lahko NEM obdela stotine transakcij na sekundo. NEM je hitrejši, varnejši in ponuja preprosto pametno pogodbeno tehnologijo. NEM za programiranje pametnih pogodb uporablja off-blockchain kodo, zaradi česar je NEM-ov blockchain manj decentraliziran kot Ethereum, vendar spodbuja višjo raven varnosti, hitrejše potrjevanje transakcij in lažjo programsko kodo. NEM-ove varnostne funkcije, kot so podpisi in pametna sredstva, rešujejo to težavo.
Pametna sredstva so edinstvene aplikacije za upravljanje podatkov, ki jih je mogoče uporabiti za ustvarjanje podatkovnih zapisov, žetonov, glasovalnih sistemov in novih kovancev s preprosto programsko kodo. Izjemna funkcionalnost verige blokov NEM je zagotovljena prek njegovega zmogljivega API-ja, ki omogoča uporabo katerega koli programskega jezika (kot so JS, Python in drugi) za kodiranje pametnih pogodb. Za razvoj se uporablja API NEM "zunajverižne pogodbe", ki jih lahko kadar koli posodobite, ne da bi komunicirali z verigo blokov NEM.
Zvezdnik
Stellar je pametna pogodbena platforma, kjer so transakcije varnejše, hitrejše in cenejše od transakcij na blokovni verigi Ethereuma. Zvezdne pametne pogodbe (SSC) niso Turingove popolne in se uporabljajo v obliki programiranih dogovorov med več strankami, ki se izvršujejo s transakcijami. Medtem ko traja približno 3,5 minute, da se transakcija potrdi na verigi blokov Ethereum, transakcija na verigi blokov Stellar potrebuje le približno 5 sekund za potrditev. Provizije za transakcije so zanemarljive, v povprečju okoli (0,0001 XLM ~ = 0,0000002 USD). SSC je mogoče kodirati s katerim koli programskim jezikom, kot so Python, JS, PHP, Golang in drugi, prek API-ja Stellar. SSC je sestavljen iz transakcij, ki so medsebojno povezane in se izvajajo s pomočjo več omejitev, vključno z več podpisi, paketom / atomskostjo, zaporedjem in časovnimi mejami. Pakiranje omogoča vključitev več operacij znotraj ene transakcije. Atomicity zagotavlja, da ob oddaji vrste operacij v Stellarjevo omrežje vse operacije v transakciji ne bi uspele, če ene same operacije ne bi bilo mogoče izvesti. Zaporedje je edinstven koncept, predstavljen na verigi blokov Stellar prek "Zaporedna številka". Pri zaporednih številkah določene transakcije ne bi uspele, če bi bila alternativna transakcija uspešno izvedena. Časovne omejitve predstavljajo omejitve v časovnem obdobju veljavnosti posla. Uporaba časovnih omejitev omogoča prikaz časovnih obdobij v SSC.
Tkanina Hyperledger (HLF)
Hyperledger Fabric (HLF) je dovoljena veriga blokov, zasnovana z napredno prilagodljivostjo. Pametne pogodbe HLF so znane kot "verižna koda". HLF je napisan v jeziku Go, Googlovem odprtokodnem programskem jeziku, zato verižna koda ta jezik tudi zelo dobro podpira.
Corda
Corda je pametna pogodbena platforma, ki je idealna za oblikovanje finančnih sporazumov. Pametne pogodbe Corda so veljavne transakcije, ki jih mora sprejeti pametna pogodba vsakega od njenih vhodnih in izhodnih stanj. Pametne pogodbe so kodirane z uporabo programskega jezika JVM, kot sta Java ali Kotlin. Izvedba pametne pogodbe je deterministična in njeno sprejemanje transakcije temelji izključno na vsebini posla. Občasno veljavnost transakcije temelji na zunanjih informacijah, na primer na simbolični ceni. V takem primeru je potreben preročišče. Dejstvo je mogoče kodirati kot del ukaza transakcije. Oracle predstavlja storitev, ki bo potrdila transakcijo le, če je dejstvo ukaza resnično.
Cordini DApps ali CorDapps so nameščeni na ravni omrežnih vozlišč in ne na samem blockchain omrežju. CorDapps se kodira z uporabo Java ali Kotlin. CorDapps so kodirani za delovanje na Cordovi platformi. To dosežemo z definiranjem tokov, ki jih lahko operaterji vozlišča Corda prikličejo s klici RPC.
NEO
NEO je pametna pogodbena platforma, ki vključuje učinkovite in poceni pametne pogodbe. Pametne pogodbe je mogoče kodirati z nešteto programskimi jeziki, vključno s C #, F #, Java, Python, VB.Net in Kotlin. NEO ponuja vtičnike in prevajalnike za vse te jezike. V prihodnosti bo uvedena podpora za JS, Go jezik, C in C ++.
Pametne pogodbe NEO se izvajajo prek lahkega virtualnega računalnika NEO (NeoVM). Pametno izvajanje pogodb prek NeoVM porabi minimalna sredstva. Statično prevajanje pametnih pogodb in predpomnjenje pametnih pogodb dostopnih točk je mogoče znatno izboljšati s pomočjo prevajalnika JIT v realnem času. Trenutno blokovna veriga NEO vključuje Smart Contract 2.0, ki se ponaša s podporo za kompleksne podatkovne strukture in polja. Smart Contract 2.0 ponuja tudi prilagodljiv pristop z dinamično particioniranjem in visoko sočasnostjo v kombinaciji z nizko zasnovo sklopke. Postopek nizkih povezav pametnih pogodb se izvaja v NeoVM in deluje prek zunanje verige prek interaktivne storitvene plasti. Tako je večino nadgradenj funkcije pametne pogodbe mogoče doseči s posebnim API-jem sloja interaktivne storitve.
Valovi
Pametne pogodbe Waves so kodirane prek programskega jezika RIDEON. Uvedba pametnih pogodb Waves je razdeljena na dve fazi. Prva faza je bila uvedena že aprila lani, kar omogoča razvoj celovitih pametnih pogodb, ki niso Turingove, na testnem omrežju. Popolne pametne pogodbe brez Turingove faze omogočajo nešteto funkcij nadzora računa, ki bodo zajemale več primerov uporabe, ki segajo od izmenjave žetonov na različnih verigah blokov do omogočanja nadzora nadzora skupnega proračuna. Eden najpogostejših primerov uporabe Wavesovih popolnih pametnih pogodb, ki niso Turingove, so računi z več podpisi. Prav tako jih je mogoče uporabiti za zamrznitev žetonov, kar vključuje pošiljanje žetona na naslov in zagotovitev, da ostane vnaprej nedostopno, tj. Neprenosljivo. To bo zelo koristno pri uvajanju žetonov za ustvarjalce ICO po koncu množične prodaje.
Potem ko bodo prve faze ne-Turingovih pametnih pogodb temeljito preizkušene in aktivirane na glavnem omrežju Waves, se bodo začele izvajati druge Turingove pametne pogodbe.
Stratis
Stratis uporablja popularni .NET okvir. Pametne pogodbe so kodirane prek programskega jezika C #. Pametne pogodbe je treba izvajati deterministično, zato ne morejo izkoristiti vseh zmožnosti C # ali vseh osnovnih knjižnic .NET-a. Stratis se zanaša tudi na "plin" koncept, ki je enak konceptu plina Ethereum.
Cardano
Cardano je platforma pametne pogodbe, ki je osredotočena na zagotavljanje, da pametna pogodba deluje natančno tako, kot je kodirana, brez skritih ranljivosti. Pametne pogodbe je mogoče kodirati s pomočjo Solidity ali Plutus. Cardano vsebuje Cardano Computation Layer (CCL), ki je sestavljen iz dveh slojev – jezikovnega okvira in formalno določenega navideznega stroja. Jezikovni okvir vsebuje nabor formalno določenih programskih jezikov, ki olajšajo avtomatsko preverjanje pristnosti človeško berljive kode pametne pogodbe.
Tezos
Tezos je pametna pogodbena platforma, ki podpira formalno preverjanje kode pametnih pogodb na verigi. Pametne pogodbe so kodirane z novim programskim jezikom, znanim kot Michelson, ki povečuje varnost. Za razliko od Solidity Michelsonova koda ni sestavljena v nič; namesto tega predstavlja nizkorazredni Turingov programski jezik, ki temelji na zalogi, ki ga interpretira neposredno virtualni stroj Tezos. Programirane pametne pogodbe Michelson omogočajo kodiranje konstruktov na visoki ravni, vključno s kompleti, zemljevidi, kriptografskimi primitivi, lambdami in posebnimi operacijami, ki omogočajo boljšo berljivost kode.
Naprej (NXT)
Naslednja je kriptovaluta in pametna pogodbena platforma. Čeprav Next-ove pametne pogodbe niso Turingove popolne, platforma uporablja edinstveno Turingovo celotno skriptno plast, ki uporabnikom omogoča enostavno ustvarjanje predlog pametnih pogodb. Uporabniki lahko izberejo najprimernejšo predlogo za svoje potrebe in spremenijo njene parametre, da ustvarijo svoje lastne pametne pogodbe. Razvijalci platforme Next verjamejo, da te predloge pametnih pogodb pokrivajo skoraj vsako poslovno aplikacijo, poleg tega pa so enostavne za kodiranje in izvajanje.
Zadnje misli
Obstajajo še druge kriptovalute, ki omogočajo razvoj pametnih pogodbenih platform, vključno z 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 in verjetno drugi. Vendar so platforme, predstavljene v tem članku, najbolj razširjene in tiste, ki so se izkazale za zanesljive v različnih aplikacijah.