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.