Ethereum: jak fungují chytré smlouvy?

Chytré smlouvy jsou hlavní funkcí, díky které je Ethereum tak úspěšné. 

Co jsou smart kontrakty a k čemu slouží

Bitcoinový protokol neposkytuje možnost vytváření skutečně komplexních chytrých smluv, protože byl v podstatě navržen pouze pro umožnění transakcí. 

Naproti tomu Ethereum, které se zrodilo 6 let po bitcoinu, bylo od počátku navrženo jako síť schopná hostování a provádění chytrých smluv

V roce 2014 spoluzakladatel Etherea Vitalik Buterin napsal výslovně v whitepaper že síť, kterou navrhoval, byla a platforma nové generace založená na chytrých smlouvácha že alternativní aplikace k bitcoinu založené na technologii blockchain také zahrnovaly použití digitálních aktiv k reprezentaci vlastních měn a finančních nástrojů, nezaměnitelných aktiv a složitějších aplikací. 

Zejména ty druhé, tedy chytré kontrakty, byly definovány jako aplikace zahrnující přímou kontrolu digitálních aktiv kódem, který implementuje libovolná pravidla, nebo decentralizované autonomní organizace založené na blockchainu, tzv. DAO.  

Vitalik napsal: 

„Ethereum hodlá poskytnout blockchain s vestavěným Turingovým kompletním programovacím jazykem, který lze použít k vytvoření ‚smluv‘, které lze použít ke kódování libovolných funkcí přechodu stavu, což uživatelům umožňuje vytvářet jakýkoli z výše popsaných systémů. – stejně jako mnoho dalších, které jsme si dosud nedokázali představit – jednoduše napsáním logiky do několika řádků kódu“.

Chytré smlouvy na Ethereu jsou tedy řádky kódu, pomocí kterých je to možné naprogramovat automatické provádění instrukcí po síti, při splnění určitých podmínek, aniž by jejich provedením musel být pověřen zprostředkovatel.

Sám Buterin dal pojem „smlouvy“ ve skutečnosti do uvozovek, protože spíše než skutečné smlouvy mezi stranami jsou počítačové programy prováděné decentralizovaným sítě. 

Z obecného hlediska tedy jejich obsluha není příliš složitá. 

inteligentní smlouva
Inteligentní smlouvy jsou realizovány po ověření podmínek v nich obsažených

Nasazení chytrých kontraktů na blockchainu Ethereum

Nejprve musí jeden nebo více vývojářů zjevně vytvořit inteligentní smlouvu napsáním příslušných řádků kódu a poté musí pošlete jej do sítě Ethereum. 

Technicky řečeno, zveřejnění na blockchainu Ethereum znamená, že všechny uzly v síti jej přijmou a spustí. Po zveřejnění budou všechny instrukce v něm vždy provedeny všemi uzly naprosto stejným způsobem. 

Proto nejen její zveřejnění, ale i provedení pokynů je nevratné jakmile bude zveřejněn na blockchainu. 

Na čem tedy skutečně záleží, jsou pokyny, které obsahuje – které mohou být nejrozmanitější – a kolik lidí je používá. Aby mohly být instrukce inteligentní smlouvy skutečně provedeny, musí existovat jednu nebo více transakcí, které je vyvolávají

Rovněž stojí za to připomenout, že tyto instrukce obecně zahrnují použití zdrojů, jako jsou data nebo tokeny, takže aby mohly být skutečně provedeny, musí být splněny všechny stanovené podmínky. 

Někdy tato data pocházejí zvenčí, díky takzvaným oraklům, zatímco někdy pocházejí jednoduše z transakcí na blockchainu. 

Obvykle se jedná o transakci, která spouští provedení pokynů obsažených v chytré smlouvě zahrnuje platbu a poplatek v ETHa v mnoha případech, aby bylo skutečně spuštěno provedení, zahrnuje také platbu nebo odeslání tokenů specifických pro samotný smart kontrakt nebo jiné smart kontrakty. 

Technicky jsou chytré smlouvy typem účtu na Ethereum blockchain, „řízená“ sítí spíše než centrální entitou. Mohou ukládat ETH nebo tokeny a také mohou posílat transakce v síti autonomně.

Jak interagovat s kódem a obecněji s dApps

Uživatelé mohou komunikovat s inteligentními smlouvami odesíláním transakcí, které spustit jednu z funkcí definovaných v jejich kódu. 

Fungování smart kontraktů na Ethereu je tedy obecně velmi jednoduché: stačí odeslat transakci určitého typu do smart kontraktu, a to spustí uzly provedení všech instrukcí obsažených ve funkci smart kontraktu vyvolané samotnou transakci. 

Je zřejmé, že v závislosti na tom, které instrukce jsou obsaženy v vyvolané funkci, mohou být generovány velmi odlišné důsledky, které se liší nejen od smart kontraktu k smart kontraktu, ale také od funkce k funkci. 

Obrovská složitost smart kontraktů se tedy odvíjí právě od toho, co jednotlivé smart kontrakty dělají, a nikoli obecně od toho, že je síť Ethereum podporuje a realizuje. Navíc je absolutně nemožné vyjmenovat, jak vlastně všechny typy smart kontraktů v síti fungují. 


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