Ethereum: ako fungujú inteligentné zmluvy?

Inteligentné zmluvy sú hlavnou črtou, vďaka ktorej je Ethereum také úspešné. 

Čo sú smart kontrakty a na čo slúžia

Bitcoinový protokol neposkytuje možnosť vytváranie skutočne komplexných inteligentných zmlúv, pretože bol v podstate navrhnutý len na umožnenie transakcií. 

Naproti tomu Ethereum, ktoré sa zrodilo 6 rokov po bitcoine, bolo od začiatku navrhnuté ako sieť schopná hosťovanie a vykonávanie inteligentných zmlúv

V roku 2014 spoluzakladateľ Etherea Vitalik Buterin výslovne napísal v whitepaper že sieť, ktorú navrhoval, bola a platforma novej generácie založená na inteligentných zmluvácha že alternatívne aplikácie k bitcoinu založené na technológii blockchain zahŕňali aj použitie digitálnych aktív na reprezentáciu vlastných mien a finančných nástrojov, nezastupiteľných aktív a zložitejších aplikácií. 

Najmä tie posledné, teda smart kontrakty, boli definované ako aplikácie zahŕňajúce priame ovládanie digitálnych aktív kódom, ktorý implementuje ľubovoľné pravidlá, alebo decentralizované autonómne organizácie založené na blockchaine, tzv. DAO.  

Vitalik napísal: 

„Ethereum má v úmysle poskytnúť blockchain so vstavaným Turingovým kompletným programovacím jazykom, ktorý možno použiť na vytváranie „zmluv“, ktoré možno použiť na kódovanie ľubovoľných funkcií prechodu stavu, čo používateľom umožňuje vytvárať ktorýkoľvek z vyššie opísaných systémov. – ako aj mnohé iné, ktoré sme si doteraz nevedeli predstaviť – jednoducho napísaním logiky do niekoľkých riadkov kódu“.

Inteligentné zmluvy na Ethereum sú teda riadky kódu, pomocou ktorých je to možné naprogramujte automatické vykonávanie pokynov cez sieť, keď sú splnené určité podmienky, bez toho, aby museli poveriť ich vykonaním sprostredkovateľa.

V skutočnosti sám Buterin dal pojem „zmluvy“ do úvodzoviek, pretože skôr než skutočné zmluvy medzi stranami sú počítačové programy vykonávané decentralizovanou spoločnosťou siete. 

Zo všeobecného hľadiska teda ich obsluha nie je veľmi zložitá. 

inteligentná zmluva
Inteligentné zmluvy sa realizujú po overení podmienok v nich uvedených

Nasadenie inteligentných zmlúv na blockchaine Ethereum

Po prvé, jeden alebo viacerí vývojári musia samozrejme vytvoriť inteligentnú zmluvu napísaním príslušných riadkov kódu a potom musia pošlite ho do siete Ethereum. 

Technicky povedané, zverejnenie na blockchaine Ethereum znamená, že ho prijmú a spustia všetky uzly v sieti. Po zverejnení budú všetky inštrukcie v ňom vždy vykonávané všetkými uzlami presne rovnakým spôsobom. 

Preto nielen jeho zverejnenie, ale aj vykonanie pokynov je nevratné po zverejnení na blockchaine. 

Preto je skutočne dôležité, aký návod obsahuje – ktorý môže byť najrozmanitejší – a koľko ľudí ho používa. Na to, aby sa pokyny inteligentnej zmluvy skutočne vykonali, musia existovať jednu alebo viac transakcií, ktoré ich vyvolávajú

Je tiež potrebné pripomenúť, že tieto pokyny vo všeobecnosti zahŕňajú použitie zdrojov, ako sú údaje alebo tokeny, takže na to, aby sa skutočne vykonali, musia byť splnené všetky potrebné podmienky. 

Niekedy tieto údaje pochádzajú zvonku, vďaka takzvaným orakulom, zatiaľ čo niekedy jednoducho pochádzajú z transakcií na blockchaine. 

Zvyčajne ide o transakciu, ktorá spúšťa vykonanie pokynov obsiahnutých v inteligentnej zmluve zahŕňa platbu a poplatok v ETHa v mnohých prípadoch na skutočné spustenie vykonávania je potrebná aj platba alebo odoslanie tokenov špecifických pre samotný smart kontrakt alebo iné smart kontrakty. 

Technicky sú inteligentné zmluvy typom účtu na ethereum blockchain, „riadená“ sieťou a nie centrálnou entitou. Môžu ukladať ETH alebo tokeny a tiež môžu odosielať transakcie v sieti autonómne.

Ako interagovať s kódom a všeobecnejšie s dApps

Používatelia môžu interagovať s inteligentnými zmluvami odosielaním transakcií spustiť jednu z funkcií definovaných v ich kóde. 

Preto je fungovanie smart kontraktov na Ethereu vo všeobecnosti veľmi jednoduché: stačí poslať transakciu určitého typu do smart kontraktu, a to spustí uzlami vykonanie všetkých inštrukcií obsiahnutých vo funkcii smart kontraktu vyvolaného samotná transakcia. 

Je zrejmé, že v závislosti od toho, ktoré inštrukcie sú obsiahnuté vo vyvolanej funkcii, môžu byť generované veľmi odlišné dôsledky, ktoré sa líšia nielen od smart kontraktu k smart kontraktu, ale aj od funkcie k funkcii. 

Obrovská komplexnosť smart kontraktov sa teda odvíja práve od toho, čo jednotlivé smart kontrakty robia, a nie vo všeobecnosti od toho, že ich sieť Ethereum podporuje a vykonáva. Navyše je absolútne nemožné vymenovať, ako vlastne fungujú všetky typy smart kontraktov v sieti. 


Zdroj: https://en.cryptonomist.ch/2022/06/11/ethereum-smart-contracts-3/