Co jsou chytré kontrakty?
Obsah
Úvod
Jak tedy fungují?
Klíčové funkce
Výhody a způsoby použití
Omezení
Kritika
Závěrem
Co jsou chytré kontrakty?
DomůČlánky
Co jsou chytré kontrakty?

Co jsou chytré kontrakty?

Pokročilí
Zveřejněno Sep 16, 2019Aktualizováno Sep 23, 2022
8m

Úvod

Chytré kontrakty popsal poprvé Nick Szabo v 90. letech minulého století. Tehdy definoval chytrý kontrakt jako nástroj, který formalizuje a zabezpečuje počítačové sítě kombinací protokolů a uživatelských rozhraní.

Szabo hovořil o potenciálním využití chytrých kontraktů v různých oblastech, které zahrnují smluvní dohody – například úvěrové systémy, zpracování plateb a správu práv k obsahu.

Ve světě kryptoměn můžeme chytrý kontrakt definovat jako aplikaci nebo program, který běží na blockchainu. Obvykle fungují jako digitální smlouva, která je vynucována určitým souborem pravidel. Tato pravidla jsou předem definována počítačovým kódem, který je replikován a prováděn všemi uzly sítě.

Chytré kontrakty blockchainu umožňují vytvářet protokoly bez nutnosti důvěry. To znamená, že dvě strany mohou prostřednictvím blockchainu přijímat závazky, aniž by se musely znát nebo si důvěřovat. Mohou si být jisti, že pokud nebudou splněny podmínky, kontrakt nebude proveden. Kromě toho může použití chytrých kontraktů odstranit potřebu zprostředkovatelů, což výrazně snižuje provozní náklady.

Přestože protokol Bitcoinu podporuje chytré kontrakty již mnoho let, zpopularizoval je tvůrce a spoluzakladatel Etherea Vitalik Buterin. Stojí však za zmínku, že každý blockchain může představovat jiný způsob implementace chytrých kontraktů. 

Tento článek se zaměří na chytré kontrakty, které běží na virtuálním stroji Ethereum Virtual Machine (EVM), který je základní součástí blockchainu Ethereum.


Jak tedy fungují?

Zjednodušeně řečeno, chytrý kontrakt funguje jako deterministický program. Provede určitý úkol, když a pokud jsou splněny určité podmínky. Systém chytrých kontraktů se proto často řídí příkazy „if… then…“ (pokud... pak...). Navzdory oblíbené terminologii však chytré kontrakty nejsou ani právními smlouvami, ani chytrými. Jsou to jen části kódu běžící na distribuovaném systému (blockchainu).

V síti Ethereum jsou chytré kontrakty zodpovědné za provádění a správu operací v blockchainu, které probíhají při vzájemné interakci uživatelů (adres). Každá adresa, která není chytrým kontraktem, se nazývá externě vlastněný účet (EOA). Chytré kontrakty jsou tedy řízeny počítačovým kódem a EOA jsou řízeny uživateli.

Chytré kontrakty Etherea se v podstatě skládají z kódu kontraktu a dvou veřejných klíčů. První veřejný klíč je klíč poskytnutý tvůrcem kontraktu. Druhý klíč představuje samotný kontrakt a funguje jako digitální identifikátor, který je pro každý chytrý kontrakt jedinečný.

Nasazení jakéhokoli chytrého kontraktu se provádí prostřednictvím blockchainové transakce a lze jej aktivovat pouze na základě vyvolání EOA (nebo jiných chytrých kontraktů). První spuštění je však vždy vyvoláno EOA (uživatelem).


Klíčové funkce

Chytrý kontrakt Etherea se často vyznačuje následujícími vlastnostmi:

Distribuovanost. Chytré kontrakty jsou replikovány a distribuovány ve všech uzlech sítě Etherea. To je jeden z hlavních rozdílů oproti jiným řešením, která jsou založena na centralizovaných serverech.

Determinismus. Chytré kontrakty provádějí pouze akce, ke kterým byly navrženy, za předpokladu, že jsou splněny požadavky. Také výsledek bude vždy stejný, bez ohledu na to, kdo je provede.

Autonomie. Chytré kontrakty mohou automatizovat nejrůznější úkoly a fungují jako samospustitelný program. Ve většině případů však platí, že pokud není chytrý kontrakt spuštěn, zůstane „neaktivní“ a neprovede žádnou akci.

Neměnnost. Chytré kontrakty nelze po nasazení měnit. Lze je pouze „smazat“, pokud byla určitá funkce dříve implementována. Můžeme tedy říci, že chytré kontrakty mohou poskytovat kód odolný proti manipulaci.

Možnost přizpůsobení. Chytré kontrakty lze před nasazením kódovat mnoha různými způsoby. Lze je tedy použít k vytváření mnoha typů decentralizovaných aplikací (DApp). To souvisí s tím, že Ethereum je turingovsky úplný blockchain.

Bez nutnosti důvěry. Dvě nebo více stran mohou prostřednictvím chytrých kontraktů komunikovat, aniž by se znaly nebo si důvěřovaly. Technologie blockchainu navíc zajišťuje přesnost dat.

Transparentnost. Jelikož jsou chytré kontrakty založeny na veřejném blockchainu, jejich zdrojový kód je nejen neměnný, ale také viditelný pro kohokoli.


Mohu změnit nebo odstranit chytrý kontrakt?

Do chytrého kontraktu Etherea nelze po nasazení přidávat nové funkce. Pokud však jeho tvůrce do kódu zahrne funkci s názvem SELFDESTRUCT, může v budoucnu chytrý kontrakt „smazat“ – a nahradit jej novým. Naproti tomu však, pokud tuto funkci do kódu předem nezařadí, nebude jej moci smazat.

Takzvané upgradovatelné chytré kontrakty umožňují vývojářům větší flexibilitu v oblasti nezměnitelnosti kontraktů. Existuje mnoho způsobů, jak vytvářet upgradovatelné chytré kontrakty s různou mírou složitosti.

Na zjednodušeném příkladu si představme, že chytrý kontrakt je rozdělen na několik menších kontraktů. Některé z nich jsou navrženy tak, aby byly neměnné, zatímco jiné mají povolenou funkci „smazat“. To znamená, že část kódu (chytrých kontraktů) lze smazat a nahradit, zatímco ostatní funkce zůstanou zachovány.


Výhody a způsoby použití

Chytré kontrakty jako programovatelný kód jsou vysoce přizpůsobitelné a mohou být navrženy mnoha různými způsoby a nabízet mnoho druhů služeb a řešení.

Chytré kontrakty jako decentralizované a samospustitelné programy mohou zajistit větší transparentnost a snížovat provozní náklady. V závislosti na implementaci mohou také zvyšovat efektivitu a snižovat administrativní výdaje.

Chytré kontrakty jsou užitečné zejména v situacích, které zahrnují převod nebo výměnu finančních prostředků mezi dvěma nebo více stranami.

Jinými slovy, chytré kontrakty mohou být navrženy pro širokou škálu způsobů použití. Mezi příklady patří vytváření tokenizovaných aktiv, hlasovacích systémů, kryptoměnových peněženek, decentralizovaných burz, her a mobilních aplikací. Mohou být také nasazeny spolu s dalšími blockchainovými řešeními, která řeší oblasti zdravotnictví, charity, dodavatelského řetězce, správy a decentralizovaných financí (DeFi).


ERC-20

Tokeny vydávané na blockchainu Etherea se řídí standardem známým jako ERC-20. Tento standard popisuje základní funkce všech tokenů založených na platformě Ethereum. Tato digitální aktiva se proto často označují jako tokeny ERC-20 a představují velkou část existujících kryptoměn.
Mnoho blockchainových společností a startupů nasadilo chytré kontrakty, aby mohly vydávat své digitální tokeny v síti Ethereum. Po emisi většina těchto společností distribuovala své tokeny ERC-20 prostřednictvím událostí typu prvotní nabídka kryptoměny (ICO). Ve většině případů umožnilo použití chytrých kontraktů výměnu finančních prostředků a distribuci tokenů bez nutnosti důvěry a efektivním způsobem.


Omezení

Chytré kontrakty jsou tvořeny počítačovým kódem napsaným lidmi. To s sebou přináší četná rizika, protože kód je vystaven zranitelnostem a chybám. V ideálním případě by je měli psát a nasazovat zkušení programátoři, zejména pokud se týkají citlivých informací nebo velkého množství peněz.

Někteří tvrdí, že většinu řešení a funkcí, které nabízejí chytré kontrakty, mohou poskytovat centralizované systémy. Hlavní rozdíl spočívá v tom, že chytré kontrakty běží v distribuované P2P síti, nikoli na centralizovaném serveru. A protože jsou založeny na systému blockchainu, bývají buď neměnné, nebo je velmi obtížné je změnit.

Neměnnost může být v některých situacích skvělá, ale v jiných velmi špatná. Například když byla v roce 2016 hacknuta decentralizovaná autonomní organizace (DAO) s názvem „The DAO“, byly kvůli chybám v kódu jejich chytrých kontraktů ukradeny miliony etherů (ETH).

Protože jejich chytrý kontrakt byl neměnný, vývojáři nemohli kód opravit. To nakonec vedlo k hard forku, který dal vzniknout druhému chainu Etherea. Jednoduše řečeno, jeden chain „vrátil“ hackerský útok a vrátil prostředky právoplatným vlastníkům (to je součástí současného blockchainu Etherea). Druhý chain se rozhodl do hackování nezasahovat s tím, že věci, které se v blockchainu odehrály, by se neměly měnit (tento chain se nyní nazývá Ethereum Classic).

Je důležité poznamenat, že problém nepochází z blockchainu Etherea. Ve skutečnosti byl způsoben chybnou implementací chytrého kontraktu.

Další omezení chytrých kontraktů souvisí s jejich nejistým právním statusem. Nejen proto, že se ve většině zemí nachází v šedé zóně, ale také proto, že chytré kontrakty nevyhovují současnému právnímu rámci.

Mnoho smluv například vyžaduje, aby obě strany byly řádně identifikovány a starší 18 let. Pseudonymita, kterou poskytuje technologie blockchainu, v kombinaci s absencí zprostředkovatelů může tyto požadavky ohrozit. I když existují potenciální řešení tohoto problému, právní vymahatelnost chytrých kontraktů je skutečnou výzvou – zejména pokud jde o bezhraniční, distribuované sítě.


Kritika

Někteří nadšenci blockchainu považují chytré kontrakty za řešení, které brzy nahradí a zautomatizuje velkou část našich obchodních a administrativních systémů. I když je to možná realita, pravděpodobně se zdaleka nestane normou.

Chytré kontrakty jsou jistě zajímavou technologií. Vzhledem k tomu, že jsou distribuované, deterministické, transparentní a do jisté míry neměnné, mohou být v některých situacích méně atraktivní.

Kritika se v podstatě opírá o skutečnost, že chytré kontrakty nejsou vhodným řešením mnoha reálných problémů. Ve skutečnosti je pro některé organizace lepší používat konvenční serverové alternativy. 

Ve srovnání s chytrými kontrakty jsou centralizované servery jednodušší a levnější na údržbu a mají tendenci vykazovat vyšší efektivitu z hlediska rychlosti a mezisíťové komunikace (interoperability).


Závěrem

Není pochyb o tom, že chytré kontrakty měly ve světě kryptoměn velký dopad a rozhodně způsobily revoluci v oblasti blockchainu. Ačkoli koncoví uživatelé nemusí s chytrými kontrakty přímo komunikovat, v budoucnu budou pravděpodobně základem široké škály aplikací, od finančních služeb až po řízení dodavatelských řetězců.

Chytré kontrakty a blockchain mají společně potenciál vážně změnit téměř všechny oblasti naší společnosti. Ale jen čas ukáže, zda se těmto převratným technologiím podaří překonat mnohé překážky bránící jejich přijetí ve velkém měřítku.