Mik azok az okosszerződések?
Kezdőlap
Cikkek
Mik azok az okosszerződések?

Mik azok az okosszerződések?

Középszintű
Közzétéve Sep 16, 2019Frissítve Jun 9, 2023
9m

Bevezetés

Nick Szabo az 1990-es években beszélt először az okosszerződésekről. Akkoriban az okosszerződést olyan eszközként definiálta, amely protokollok és felhasználói felületek kombinálásával formalizálja és biztosítja a számítógépes hálózatokat.

Szabo az okosszerződések potenciális felhasználási lehetőségeit tárgyalta különböző, szerződéses megállapodásokkal járó területeken - például a hitelrendszerekben, a fizetési folyamatokban és a tartalomjogok kezelésében.

A kriptovaluták világában az okosszerződést olyan alkalmazásként vagy programként definiálhatjuk, amely egy blokkláncon fut. Jellemzően digitális megállapodásként működnek, amelyet egy meghatározott szabályrendszer hajt végre. Ezeket a szabályokat számítógépes kód határozza meg előre, amelyet az összes hálózati csomópont replikál és hajt végre.

A blokklánc okosszerződései lehetővé teszik a bizalom minimalizált protokollok létrehozását. Ez azt jelenti, hogy két fél anélkül vállalhat kötelezettséget a blokkláncon keresztül, hogy ismernék egymást vagy bíznának egymásban. Biztosak lehetnek abban, hogy ha a feltételek nem teljesülnek, a szerződés nem kerül végrehajtásra. Ezen túlmenően az okosszerződések használatával megszűnhet a közvetítők szükségessége, ami jelentősen csökkenti a működési költségeket.

Bár a Bitcoin protokoll már évek óta támogatja az okosszerződéseket, ezeket az Ethereum megalkotója és társalapítója, Vitalik Buterin tette népszerűvé. Érdemes azonban megjegyezni, hogy az egyes blokkláncok eltérő módszert alkalmazhatnak az okosszerződések megvalósítására. 

Ez a cikk az Ethereum virtuális gépen (EVM) futó okosszerződésekre összpontosít, amely az Ethereum blokklánc alapvető része.


Hogyan működnek?

Egyszerűen fogalmazva, az okosszerződés determinisztikus programként működik. Egy adott feladatot akkor hajt végre, amikor és amennyiben bizonyos feltételek teljesülnek. Mint ilyen, egy okosszerződéses rendszer gyakran követi a "ha…akkor…" utasításokat. De a népszerű terminológia ellenére az okosszerződések nem jogi szerződések, és nem is okosak. Ezek csak egy elosztott rendszeren (blokklánc) futó kódrészek.

Az Ethereum hálózaton az okosszerződések felelősek a blokklánc műveleteinek végrehajtásáért és kezeléséért, amelyek a felhasználók (címek) egymás közötti interakciója során történnek. Minden olyan címet, amely nem okosszerződés, külső tulajdonú számlának (externally owned account- EOA) nevezünk. Az okosszerződéseket tehát számítógépes kód, az EOA-kat pedig a felhasználók irányítják.

Az Ethereum okosszerződések alapvetően egy szerződéskódból és két nyilvános kulcsból állnak. Az első nyilvános kulcs a szerződés létrehozója által megadott kulcs. A másik kulcs magát a szerződést képviseli, és egy olyan digitális azonosítóként működik, amely minden okosszerződés esetében egyedi.

Bármely okosszerződés telepítése blokklánc tranzakción keresztül történik, és csak egy EOA (vagy más okosszerződés) aktiválhatja őket. Az első triggert azonban mindig egy EOA (felhasználó) váltja ki.


Főbb jellemzők

Az Ethereum okosszerződések gyakran a következő jellemzőkkel bírnak:

Elosztott. Az okosszerződéseket az Ethereum hálózat minden csomópontján replikálják és elosztják. Ez az egyik legnagyobb különbség más megoldásokhoz képest, amelyek centralizált szervereken alapulnak.

Determinisztikus. Az okosszerződések csak azokat a műveleteket hajtják végre, amelyekre tervezték őket, feltéve, hogy a követelmények teljesülnek. Az eredmény mindig ugyanaz lesz, függetlenül attól, hogy ki hajtja végre őket.

Autonóm. Az okosszerződések bármilyen feladatot képesek automatizálni, és úgy működnek, mint egy önvégrehajtó program. A legtöbb esetben azonban, ha egy okosszerződés nem aktiválódik, az „alvó” állapotban marad, és nem hajt végre semmilyen műveletet.

Megváltoztathatatlan. Az okosszerződések a telepítés után nem módosíthatók. Csak akkor „törölhetők” , ha egy adott funkciót korábban már megvalósítottak. Így azt mondhatjuk, hogy az okosszerződések hamisíthatatlan kódot biztosítanak.

Testreszabható. A telepítés előtt az okosszerződéseket sokféleképpen lehet programozni. Így sokféle decentralizált alkalmazás (DApp) létrehozására használhatók. Ez összefügg azzal a ténnyel, hogy az Ethereum egy Turing-teljes blokklánc.

Bizalom minimalizált. Az okosszerződéseken keresztül két vagy több fél kapcsolatba léphet egymással anélkül, hogy ismernék egymást vagy megbíznának egymásban. Ezenkívül a blokklánc technológia biztosítja az adatok pontosságát.

Átlátható. Mivel az okosszerződések nyilvános blokkláncon alapulnak, forráskódjuk nemcsak megváltoztathatatlan, hanem bárki számára látható is.


Módosíthatok vagy törölhetek egy okosszerződést?

Lehetetlen új funkciókat hozzáadni egy Ethereum okosszerződéshez a telepítés után. Ha azonban az okosszerződés létrehozója egy SELFDESTRUCT nevű funkciót is beépít a kódba, akkor a jövőben képes lesz „törölni” az okosszerződést - és egy újjal helyettesíteni azt. Ezzel szemben azonban, ha a funkció nem szerepelt előzőleg a kódban, akkor nem fogják tudni törölni.

Az úgynevezett frissíthető okosszerződések nagyobb rugalmasságot biztosítanak a fejlesztőknek a szerződések megváltoztathatatlanságát illetően. A frissíthető okosszerződések létrehozásának számos módja létezik, különböző nehézségi fokokkal.

Egy leegyszerűsített példával élve, képzeljük el, hogy egy okosszerződés több kisebb szerződésre oszlik. Néhányukat úgy tervezték, hogy megváltoztathatatlanok legyenek, míg másoknál engedélyezve van a „törlés” funkció. Ez azt jelenti, hogy a kód egy része (okosszerződés) törölhető és lecserélhető, míg más funkciók érintetlenül maradnak.


Előnyök és felhasználási lehetőségek

Programozható kódként az okosszerződések nagymértékben testreszabhatók, és sokféle módon programozhatók, számos szolgáltatást és megoldást kínálva.

Decentralizált és önvégrehajtó programként az okosszerződések nagyobb átláthatóságot és alacsonyabb működési költségeket biztosíthatnak. A megvalósítástól függően növelhetik a hatékonyságot és csökkenthetik a bürokratikus kiadásokat.

Az okosszerződések különösen hasznosak olyan helyzetekben, amikor két vagy több fél között pénzeszközök átutalásáról vagy átváltásáról van szó.

Más szóval, az okosszerződések sokféle felhasználási célra tervezhetők. Néhány példa erre a tokenizált eszközök, szavazási rendszerek, kriptotárcák, decentralizált tőzsdék, játékok és mobilalkalmazások létrehozása. Ezeket más blokkláncmegoldásokkal együtt is be lehet vetni, amelyek az egészségügy, a jótékonyság, az ellátási lánc, az irányítás és a decentralizált pénzügy (DeFi) területeit érintik.


ERC-20

Az Ethereum blokkláncon kibocsátott tokenek az ERC-20 szabványt követik. A szabvány leírja az összes Ethereum alapú token alapvető funkcióit. Ezeket a digitális eszközöket gyakran nevezik ERC-20 tokeneknek, és a meglévő kriptovaluták nagy részét ezek teszik ki.

Számos blokkláncvállalat és startup cég telepített okosszerződéseket annak érdekében, hogy digitális tokenjeiket az Ethereum hálózaton bocsássák ki. A kibocsátást követően e vállalatok többsége elsődleges érmekibocsátás (ICO) eseményeken keresztül osztotta ki ERC-20 tokenjeit. A legtöbb esetben az okosszerződések használata lehetővé tette a pénzeszközök átváltását és a tokenek elosztását bizalom minimalizált és hatékony módon.


Korlátok

Az okosszerződések emberek által írt számítógépes kódból állnak. Ez számos kockázattal jár, mivel a kód sebezhető és hibás lehet. Ideális esetben ezeket tapasztalt programozók írják meg és telepítik, különösen, ha érzékeny információkról vagy nagy pénzösszegről van szó.

Egyesek egyébként azzal érvelnek, hogy a központosított rendszerek képesek az okosszerződések által kínált megoldások és funkciók nagy részét biztosítani. A fő különbség az, hogy az okosszerződések nem egy központi szerveren, hanem egy elosztott P2P hálózaton futnak. És mivel ezek egy blokkláncrendszeren alapulnak, általában vagy megváltoztathatatlanok, vagy nagyon nehéz őket megváltoztatni.

A megváltoztathatatlanság bizonyos helyzetekben hasznos lehet, de más helyzetekben nagyon hátrányos. Például amikor 2016-ban a „The DAO” nevű decentralizált autonóm szervezetet (DAO) feltörték, több millió ether (ETH) került ellopásra az okosszerződés kódjának hibái miatt.

Mivel az okosszerződésük megváltoztathatatlan volt, a fejlesztők nem tudták megjavítani a kódot. Ez végül egy hard forkhoz vezetett, amely egy második Ethereum láncot hozott létre. Magyarul, az egyik lánc „visszafordította” a hacket, és visszaadta a pénzeszközöket a jogos tulajdonosoknak (ez a jelenlegi Ethereum blokklánc része). A másik lánc úgy döntött, hogy nem avatkozik bele a hackelésbe, mondván, hogy a blokkláncon történt dolgokat soha nem szabad megváltoztatni (ezt a láncot most Ethereum Classicnak hívják).

Fontos megjegyezni, hogy a probléma nem az Ethereum blokkláncból származik. Azt egy hibás okosszerződés végrehajtása okozta.

Az okosszerződések másik korlátja a bizonytalan jogi státuszukkal kapcsolatos. Nemcsak azért, mert a legtöbb országban szürke zónában van, hanem azért is, mert az okosszerződések nem illenek a jelenlegi jogi keretbe.

Például számos szerződés megköveteli, hogy mindkét fél megfelelően azonosított és 18 év feletti személy legyen. A blokklánc technológia által biztosított anonimitás, valamint a közvetítők hiánya veszélyeztetheti ezeket a követelményeket. Bár vannak erre lehetséges megoldások, az okosszerződések jogi érvényesíthetősége valódi kihívást jelent - különösen, ha határok nélküli, elosztott hálózatokról van szó.


Kritikák

Egyes blokkláncrajongók az okosszerződésekben olyan megoldást látnak, amely hamarosan felváltja és automatizálja kereskedelmi és bürokratikus rendszereink nagy részét. Bár ez egy lehetséges forgatókönyv, valószínűleg messze van még attól, hogy bevett megoldás legyen.

Az okosszerződések minden bizonnyal egy érdekes technológiát képviselnek. De mivel elosztottak, determinisztikusak, átláthatóak és némileg megváltoztathatatlanok, bizonyos helyzetekben kevésbé előnyösek.

A kritika alapvetően arra a tényre épül, hogy az okosszerződések sok valós problémára nem jelentenek igazi megoldást. Valójában egyes szervezetek jobban járnak a hagyományos szerveralapú alternatívák használatával. 

Az okosszerződésekkel összehasonlítva a centralizált szerverek karbantartása egyszerűbb és olcsóbb, és általában nagyobb hatékonyságot mutatnak a sebesség és a hálózatközi kommunikáció (interoperabilitás) tekintetében.


Záró gondolatok

Kétségtelen, hogy az okosszerződések nagy hatást gyakoroltak a kriptovaluták világára, és minden bizonnyal forradalmasították a blokklánc területét. Bár a végfelhasználók nem feltétlenül lépnek közvetlen kapcsolatba az okosszerződésekkel, ezek a jövőben valószínűleg számos különböző alkalmazást fognak működtetni, a pénzügyi szolgáltatásoktól kezdve az ellátási lánc irányításáig.

Az okosszerződések és a blokklánc együttesen képesek társadalmunk bármely területét felforgatni. De csak az idő a megmondója, hogy ezeknek az úttörő technológiáknak sikerül-e legyőzniük a széleskörű alkalmazás előtt álló számos akadályt.