Úvod
Nick Szabo poprvé popsal chytré kontrakty v 90. letech. Tehdy definoval smart kontrakt jako nástroj, který formalizuje a zabezpečuje počítačové sítě kombinací protokolů s uživatelskými rozhraními.
Szabo diskutoval o potenciálním využití chytrých kontraktů v různých oblastech, které zahrnují smluvní dohody – jako jsou kreditní systémy, zpracování plateb a správa práv k obsahu.
Ve světě kryptoměn můžeme chytrou smlouvu definovat jako aplikaci nebo program, který běží na blockchainu. Obvykle fungují jako digitální dohoda, která je vynucována konkrétní sadou pravidel. Tato pravidla jsou předdefinována počítačovým kódem, který je replikován a prováděn všemi uzly sítě.
Inteligentní smlouvy blockchainu umožňují vytváření nedůvěryhodných protokolů. To znamená, že dvě strany se mohou zavázat prostřednictvím blockchainu, aniž by se musely navzájem znát nebo důvěřovat. Mohou si být jisti, že pokud podmínky nebudou splněny, zakázka nebude realizována. Kromě toho může použití inteligentních smluv odstranit potřebu zprostředkovatelů a výrazně snížit provozní náklady.
Přestože protokol Bitcoin 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 jinou metodu implementace chytrých kontraktů.
Tento článek se zaměří na chytré smlouvy, které běží na virtuálním stroji Ethereum (EVM), který je nezbytnou součástí blockchainu Ethereum.
Jak fungují?
Jednoduše řečeno, inteligentní smlouva funguje jako deterministický program. Provádí konkrétní úkol, když jsou splněny určité podmínky. Systém inteligentních smluv jako takový často následuje prohlášení „pokud…pak…“. Navzdory populární terminologii však chytré smlouvy nejsou právní smlouvy, ani chytré. Jsou to jen kus kódu běžící na distribuovaném systému (blockchain).
V síti Ethereum jsou chytré smlouvy zodpovědné za provádění a správu blockchainových operací, které probíhají, když uživatelé (adresy) vzájemně komunikují. Jakákoli adresa, která není inteligentní smlouvou, se nazývá externě vlastněný účet (EOA). Chytré smlouvy jsou tedy řízeny počítačovým kódem a EOA jsou řízeny uživateli.
Inteligentní smlouvy Ethereum se v zásadě skládají ze smluvního kódu a dvou veřejných klíčů. První veřejný klíč je ten, který poskytl tvůrce smlouvy. Druhý klíč představuje samotnou smlouvu a funguje jako digitální identifikátor, který je jedinečný pro každou inteligentní smlouvu.
Nasazení jakékoli chytré smlouvy se provádí prostřednictvím blockchainové transakce a lze ji aktivovat pouze tehdy, když ji zavolá EOA (nebo jiné chytré smlouvy). První spuštění je však vždy způsobeno EOA (uživatelem).
Klíčové vlastnosti
Inteligentní smlouva Ethereum často vykazuje následující vlastnosti:
Distribuováno. Inteligentní smlouvy jsou replikovány a distribuovány ve všech uzlech sítě Ethereum. To je jeden z hlavních rozdílů od jiných řešení, která jsou založena na centralizovaných serverech.
Deterministický. Chytré smlouvy provádějí pouze akce, pro které byly navrženy, pokud jsou splněny požadavky. Také výsledek bude vždy stejný, bez ohledu na to, kdo je provede.
Autonomní. Inteligentní smlouvy dokážou automatizovat nejrůznější úkoly a fungují jako samospouštěcí program. Ve většině případů však, pokud se chytrá smlouva nespustí, zůstane „neaktivní“ a neprovede žádnou akci.
Neměnný. Inteligentní smlouvy nelze po nasazení změnit. Mohou být "smazány" pouze v případě, že určitá funkce byla dříve implementována. Můžeme tedy říci, že chytré smlouvy mohou poskytnout kód odolný proti neoprávněné manipulaci.
Přizpůsobitelné. Před nasazením lze inteligentní smlouvy kódovat mnoha různými způsoby. Lze je tedy použít k vytvoření mnoha typů decentralizovaných aplikací (DApps). Souvisí to se skutečností, že Ethereum je Turingův kompletní blockchain.
Nedůvěryhodný. Dvě nebo více stran mohou komunikovat prostřednictvím inteligentních smluv, aniž by se navzájem znaly nebo si důvěřovaly. Technologie blockchain navíc zajišťuje přesnost dat.
Průhledný. Vzhledem k tomu, že chytré smlouvy jsou založeny na veřejném blockchainu, jejich zdrojový kód je nejen neměnný, ale také viditelný pro kohokoli.
Mohu inteligentní smlouvu změnit nebo smazat?
Po nasazení není možné do chytré smlouvy Ethereum přidat nové funkce. Pokud však jeho tvůrce do kódu zahrne funkci nazvanou SELFDESTRUCT , může chytrou smlouvu v budoucnu „smazat“ a nahradit ji novou. Naproti tomu, pokud funkce není zahrnuta v kódu předem, nebudou ji moci smazat.
Pozoruhodné je, že takzvané upgradovatelné chytré smlouvy umožňují vývojářům mít větší flexibilitu, pokud jde o neměnnost smluv. Existuje mnoho způsobů, jak vytvořit upgradovatelné inteligentní smlouvy, s různou mírou složitosti.
Vezměme si zjednodušený příklad, představme si, že chytrá smlouva je rozdělena na několik menších smluv. 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 (inteligentní smlouvy) lze smazat a nahradit, zatímco ostatní funkcionality zůstanou nedotčeny.
Výhody a případy použití
Jako programovatelný kód jsou inteligentní smlouvy vysoce přizpůsobitelné a mohou být navrženy mnoha různými způsoby a nabízejí mnoho druhů služeb a řešení.
Jako decentralizované a samostatně se spouštějící programy mohou chytré smlouvy zajistit zvýšenou transparentnost a snížit provozní náklady. V závislosti na implementaci mohou také zvýšit efektivitu a snížit byrokratické výdaje.
Inteligentní smlouvy 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é smlouvy mohou být navrženy pro širokou škálu případů použití. Některé příklady zahrnují vytváření tokenizovaných aktiv, hlasovacích systémů, kryptopeněženek, decentralizovaných burz, her a mobilních aplikací. Mohou být také nasazeny spolu s dalšími blockchainovými řešeními, která se zabývají oblastmi zdravotnictví, charity, dodavatelského řetězce, správy věcí veřejných a decentralizovaných financí (DeFi).
ERC-20
Tokeny vydané na blockchainu Ethereum se řídí standardem známým jako ERC-20. Standard popisuje základní funkce všech tokenů založených na Ethereu. Jako taková jsou tato digitální aktiva často označována jako tokeny ERC-20 a představují velkou část existujících kryptoměn.
Mnoho blockchainových společností a startupů nasadilo chytré smlouvy, aby vydaly své digitální tokeny v síti Ethereum. Po vydání distribuovala většina těchto společností své tokeny ERC-20 prostřednictvím akcí Initial Coin Offering (ICO). Ve většině případů využití chytrých kontraktů umožnilo výměnu finančních prostředků a distribuci tokenů nedůvěryhodným a efektivním způsobem.
Omezení
Inteligentní smlouvy jsou tvořeny počítačovým kódem napsaným lidmi. To přináší četná rizika, protože kód podléhá zranitelnostem a chybám. V ideálním případě by je měli napsat a nasadit zkušení programátoři, zejména pokud jde o citlivé informace nebo velké množství peněz.
Kromě toho někteří tvrdí, že centralizované systémy mohou poskytovat většinu řešení a funkcí nabízených inteligentními smlouvami. Hlavním rozdílem je, že chytré smlouvy běží spíše na distribuované P2P síti než na centralizovaném serveru. A protože jsou založeny na blockchainovém systému, bývají buď neměnné, nebo jen velmi těžko měnitelné.
Být neměnný 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 ukradeny miliony etheru (ETH) kvůli chybám v jejich inteligentním smluvním kódu.
Protože jejich inteligentní smlouva byla neměnná, vývojáři nebyli schopni opravit kód. To nakonec vedlo k hard forku, který dal vzniknout druhému řetězci Ethereum. Jednoduše řečeno, jeden řetězec „vrátil“ hack a vrátil prostředky právoplatným vlastníkům (toto je součást současného blockchainu Ethereum). Druhý řetězec se rozhodl do hacku nezasahovat a uvedl, že věci, které se dějí na blockchainu, by se nikdy neměly měnit (tento řetězec se nyní nazývá Ethereum Classic).
Je důležité si uvědomit, že problém nepochází z blockchainu Ethereum. Místo toho to bylo způsobeno chybnou implementací inteligentní smlouvy.
Další omezení smart kontraktů souvisí s jejich nejistým právním postavením. Nejen proto, že je ve většině zemí v šedé zóně, ale také proto, že chytré smlouvy neodpovídají současnému právnímu rámci.
Mnoho smluv například vyžaduje, aby obě strany byly řádně identifikovány a byly starší 18 let. Pseudonymita poskytovaná technologií blockchain v kombinaci s nedostatkem zprostředkovatelů může tyto požadavky ohrozit. I když pro to existují potenciální řešení, právní vymahatelnost chytrých smluv je skutečnou výzvou – zejména pokud jde o distribuované sítě bez hranic.
Kritika
Někteří nadšenci blockchainu vidí chytré smlouvy jako řešení, které brzy nahradí a zautomatizuje velkou část našich komerčních a byrokratických systémů. I když je to možná realita, pravděpodobně se to zdaleka nestává normou.
Chytré smlouvy jsou jistě zajímavou technologií. Ale protože jsou distribuované, deterministické, transparentní a poněkud neměnné, mohou být v některých situacích méně přitažlivé.
Kritika se v zásadě opírá o skutečnost, že chytré smlouvy nejsou vhodným řešením pro mnoho problémů v reálném světě. Ve skutečnosti je pro některé organizace lepší používat konvenční serverové alternativy.
Ve srovnání s chytrými smlouvami je údržba centralizovaných serverů jednodušší a levnější a mají tendenci představovat vyšší efektivitu z hlediska rychlosti a mezisíťové komunikace (interoperabilita).
Závěrečné myšlenky
Není pochyb o tom, že chytré kontrakty způsobily velký dopad ve světě kryptoměn a určitě způsobily revoluci v blockchainovém prostoru. I když koncoví uživatelé nemusejí komunikovat přímo s inteligentními smlouvami, je pravděpodobné, že v budoucnu budou pohánět širokou škálu aplikací, od finančních služeb po řízení dodavatelského řetězce.
Chytré smlouvy a blockchain dohromady mají potenciál narušit 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 četné překážky bránící širokému přijetí.