🇨🇿 Kontrakty na Cardanu mohou být chytřejší

Blockchain se používá jako transakční síť. Velkým krokem vpřed by bylo, kdyby se technologie blockchain používaly i pro dohody. Je to jen přirozený a logický krok a programovatelné peníze budou nejspíš v budoucnosti standardem.

Budoucnost peněz

Papírové dohody mezi dvěma stranami lze vnímat jako určitou vrstvu nad penězi. Každá směna peněz má svůj kontext. Kontext může mít mnoho podob. Může být slovní a neformální, když jsou podmínky dohody jednoduché, strany se dobře znají, jednají spolu na jednom místě nebo se neočekávají spory. Když například platíte na pokladně, obě strany se navzájem vidí. Kontext může být formální a může mít písemnou formu. To je nutné, když se strany navzájem neznají a nedůvěřují si. Ve světě podnikání je to obvyklé. Například když jeden obchodní partner zaplatí za dům, nebo když dojde ke změně údajů v katastru.

V současné době používáme blockchain jako transakční síť. Lze říci, že zpracování transakcí je decentralizované. Pokud jde o kontexty transakcí, tak ty obvykle nejsou decentralizované. To funguje dobře pro verbální i neformální kontexty. Horší je to však pro formální nebo složité kontexty. Je možné použít decentralizované transakce a držet se současné centralizované formy dohod. Například je možné vytvořit papírovou smlouvu, ve které bude uvedeno, že jedna strana zaplatí za umělecké dílo kryptoměnou. Má to však několik nevýhod:

  • Decentralizované a centralizované světy jsou smíchány, což pravděpodobně nebude fungovat dobře, protože právní rámec nemá žádnou moc prosazovat zákon v digitálním světě blockchainu. Avšak nespolehlivá strana může být potrestána ve fyzickém světě.
  • Identity účastníků smlouvy musí být v centralizovaném světě vždy známy.
  • Může to fungovat dobře v místním kontextu, ale pro globální obchodní partnery to může být pomalé, nákladné a obtížnější. Hlavně když dojde ke sporům.
  • Odeslání blockchainové transakce je velmi snadný úkol. Může však být trochu těžkopádné vypořádat se s papírovou dohodou.
  • Může to jít proti hlavnímu principu celého decentralizačního hnutí. Není důvod používat kryptoměny k platbám a stále se spoléhat na současné finanční a právní systémy. Decentralizace je o transparentnosti, odporu vůči cenzuře a případně o soukromí. Právní systém může být zkorumpovaný a vždy bude záviset na rozhodnutích jednotlivců. Nikdy tedy nebude plně důvěryhodný a spolehlivý.

Je zřejmé, že možnost spoléhat se na blockchainové technologie ohledně dohod může být velmi prospěšná a výrazně zvýšit nezávislost na současných centralizovaných strukturách. Je naivní si myslet, že můžeme decentralizovat infrastrukturu a nadále používat pomalé, drahé, nespolehlivé a někdy zkorumpované systémy. Pokud lze blockchain použít k decentralizovanému odesílání transakcí a jsme schopni jej inovovat a vylepšovat, pak to v zásadě musíme vyzkoušet. Decentralizace není binární přepínač. Když zlepšujeme schopnosti decentralizace, zlepšujeme svobodu, nezávislost, soukromí a naši samostatnost.

Papírové dohody jsou nástrojem tradičního finančního světa a jsou nevyhnutelnou součástí našeho finančního života. Alespoň v západních zemích. Musíme se pokusit vytvořit technologie, které nám pomohou decentralizovat papírové dohody. Naštěstí již byla tato technologie vynalezena a pravděpodobně jste o ní už dávno slyšeli. Název je chytrý kontrakt (smart contract).

Budoucnost peněz spočívá v možnosti programovatelnosti. Jak uvidíte později, budeme potřebovat chytré smlouvy pro navázání důvěry mezi stranami, které si navzájem nedůvěřují nebo se navzájem ani neznají. Pravděpodobně bude nutné využívat digitální smlouvy častěji v decentralizovaném světě, než je to nutné v centralizovaném světě. Existuje pro to řada důvodů. Nejvýznamnější z nich je možnost vyhnout se závislosti na současném právním systému nebo dramaticky snížit potřebu spoléhat se na něj. Pojďme se nyní podívat, jak vypadají papírové dohody. Pravděpodobně to dobře víte, ale pojďme to rychle projít.

Papírová dohoda

Ačkoli jsou ústní dohody v mnoha situacích legální a závazné, je obtížné je vymáhat soudní cestou. Proto je chytré mít písemnou dohodu. Je to v zásadě dokument, který jasně specifikuje práva a povinnosti každé strany. V obchodním světě je písemná dohoda nutností, i když to zákon výslovně nevyžaduje.

Každá smlouva obsahuje právně uznatelnou identifikaci stran. Musí být jasné, kdo je odpovědný za plnění povinností stanovených smlouvou. Musí být rovněž jasné, kdo má zákonná práva požadovat plnění smlouvy. Tělo dohody musí specifikovat práva a povinnosti každé strany a musí existovat všechny nezbytné podrobnosti smlouvy. Ve světě smluvního práva je soudce pouze třetí stranou, která si jen může přečíst papírové dohody a přirozeně neví, co bylo dohodnuto ústně. Může být nemožné nebo velmi obtížné dokázat něco, co nebylo napsáno. Pokud není napsáno určité právo nebo podmínka a strany říkají jinou variantu příběhu, nelze ji právně vymáhat. Dobrá dohoda obvykle obsahuje informace o řešení sporů. Pokud se strany nacházejí v různých státech, mělo by se zvolit právo pouze jednoho státu. Tento zákon se použije při řešení sporů.

To nejdůležitější souvisí s platbami. Dohoda specifikuje, kdo komu platí. Dále, kdy musí být platby provedeny a podmínky pro provedení plateb. Strany by měly být velmi opatrné, pokud jde o přesnou částku, datum, čas, způsob plateb a hlavně podmínky pro provedení plateb.

Jak popsat dohodu

Je vlastně velmi snadné popsat dohodu a její jednotlivé elementy, které jsou vždy téměř stejné. Je to jen sada opakujících se vzorů a zpracování lze popsat pomocí algoritmů. Dohoda je sada proměnných a popis očekávaných událostí včetně jejich pořadí. Ve finančním světě mají úředníci často předem připravenou papírovou šablonu, která není vyplněna. Lidé mohou najít mnoho šablon pro různé dohody na internetu. Papírovou dohodu lze vytvořit poměrně rychle. Očekávané chování účastníků je pro daný případ vždy stejné nebo velmi podobné. Pouze identifikace stran, datum/čas a údaje týkající se plateb se liší. Vše toto jsou proměnné. Pokud chce Alice prodat Bobovi auto, může si stáhnout šablonu smlouvy a společně s Bobem vyplnit tyto proměnné. Podstatou dohody je popis očekávaného chování (pořadí událostí). Jakmile dohodu podepíší, očekává se, že budou obě strany podle ní jednat.

Dohodu lze chápat jako soubor plateb nebo popis kontextu plateb. Cílem dohody je chránit strany před škodlivým chováním protistrany. Dohody tedy obsahují práva a povinnosti. Například když Alice pošle platbu Bobovi a očekává, že Bob bude jednat tak, jak to vyžaduje dohoda, a Bob v tomto selže, může Alice kontaktovat třetí stranu, aby vymohla dodržování zákona. Zákonné orgány pomohou Alici dostat auto od Boba. Dohoda se používá jako popis očekávaného chování a jako důkaz, že Bob slíbil, že podle toho bude jednat.

Chytré digitální smlouvy

Blockchain je skvělý nástroj pro odesílání plateb. V dnešní době jsou peníze jen digitální čísla. Kryptoměny jsou stejné. ADA, BTC nebo stabilní coiny jsou jen čísla. Digitální mince jsou čísla v blockchainu, která lze přesouvat z adresy na adresu. Alice může snadno poslat platbu Bobovi. Jediná věc, kterou Alice potřebuje, je adresa Boba, na kterou posílá mince.

Inteligentní smlouva potřebuje podobné věci jako papírová dohoda. Jedná se o identifikaci stran, platební údaje, pořadí očekávaných událostí a čas do odeslání plateb. V kontrastu s papírovými smlouvami nemůže ta inteligentní čekat na platby věčně. Pokud daná strana neodešle platbu včas, chytrá smlouva musí účastníkům vrátit peníze nebo provést jinou definovanou akci se zaslanými prostředky.

Když Alice a Bob použijí papírovou dohodu, Alice pošle peníze přímo Bobovi. Dohodli se, že nebudou používat třetí stranu, která by si peníze nechala, dokud nedojde k předání vozu. Když se použije inteligentní smlouva, vždy existuje služba úschovy, kterou poskytuje samotná smlouva. Je to nutné a ve skutečnosti velmi užitečné. Bob neobdrží platbu, dokud neprokáže, že Alice je vlastníkem vozu. Bob je tedy motivován jednat čestně, aby dostal platbu od Alice. Pokud Bob neodevzdá auto, pak Alice automaticky získá peníze zpět z chytré smlouvy. Fyzická třetí strana nebo arbitr tedy není nutný.

Otázkou je, jak Bob inteligentní smlouvě prokáže, že Alice je novým vlastníkem vozu. Existuje více možností. Například Alice může inteligentní smlouvu informovat, že už je novým vlastníkem vozu. Inteligentní smlouva tedy uvolní peníze z úschovy ve prospěch Boba. Co když se Alice stane vlastníkem vozu a inteligentní smlouvu neinformuje? Alice může spekulovat, že může mít auto a také své peníze zpět z úschovy. Inteligentní smlouva musí být informována, že Bob udělal všechny nezbytné kroky k předání vozu. To může udělat jen Bob. Když to udělá, nebo si myslí, že to udělal, informuje chytrou smlouvu. Chytrá smlouva nikdy neuvolní peníze z úschovy zpět Alici. Pořadí událostí tedy může být následující. Bob informuje chytrý kontrakt, že předal auto Alici, a poté to bude muset Alice potvrdit. Pokud Alice nepotvrdí, peníze budou zaslány Bobovi. Alice je tedy motivována informovat inteligentní smlouvu, zda je Bobova informace pravdivá nebo nepravdivá. Ve skutečnosti to musí udělat pouze tehdy, když není vlastníkem automobilu. Když se Alice skutečně stane vlastníkem vozu, je to konec příběhu.

Jediným případem, který inteligentní smlouva nemůže vyřešit, je stav, kdy Bob tvrdí, že předal auto Alici, a není to pravda. Bob stále drží auto. Alice informuje smlouvu, že nemá auto, a to navzdory skutečnosti, že Bob informoval inteligentní smlouvu, že Alice už je vlastníkem. Zde lže buď Alice nebo Bob. Inteligentní smlouva může udělat pouze to, že pošle Aličiny prostředky na adresu arbitra.

Problém je v tom, že auto je fyzická položka. Možným řešením je tokenizace vozu. Pokud by bylo možné prokázat vlastnictví fyzických položek vlastnictvím odpovídajících nezměnitelných tokenů, pak by to byl pro chytrý kontrakt snadný úkol. Jakmile budou akcie, dluhopisy, CBDC a další finanční nástroje tokenizovány, budou inteligentní smlouvy ve finančním světě velmi užitečné. Vraťme se však k autu. Dalším možným řešením by byl vstup od třetí strany. V mnoha zemích lze vlastnictví vozu najít v registrech. V tomto případě může pomoc služba zvaná Oracles, která je schopna poskytnout informace inteligentní smlouvě.

Máme další velmi jednoduché řešení, které bude fungovat dobře i pro fyzické předměty. Strany budou jednat čestně, pokud k tomu budou ekonomicky motivovány. Pokud jsou stanoveny pokuty za nečestné nebo nesprávné chování, je pravděpodobné, že nikdo nebude chtít přijít o peníze. Alice a Bob mohou poslat 10% nebo dokonce 50% z ceny automobilu do úschovy a tato částka jim bude vrácena v plné výši, pouze pokud smlouva skončí podle očekávání. Mohou se dohodnout, že pokud bude muset rozhodnout třetí strana, vítěz vezme vše. Bob nemůže jednoduše tvrdit, že předal auto Alici, pokud to není pravda a lze to snadno dokázat. Alice nemůže jednoduše tvrdit, že auto nemá, když ho skutečně má, protože by nedostala zpět peníze, které jsou použity na případný trest pro toho, kdo lhal.

Základní prvky inteligentních smluv

Chytré smlouvy tu jsou již několik let, ale je stále výzvou napsat takové, které by byly bezpečné a spolehlivé. Chytrý kontrakt nelze změnit, jakmile je nasazen. Je tedy nutné zajistit, aby smlouva ve všech možných případech dělala přesně to, co se od ní očekává. Klíčem k bezpečnosti je jednoduchost. Tým IOG vyvinul specifický druha jazyka jež je určený pro použití v dané doméně (domain specific language - DSL). Tento jazyk se jmenuje Marlowe a obsahuje také skvělý grafický nástroj s názvem Blockly. Blockly umožňuje uživatelům vytvářet programy podobným způsobem, jako je skládání puzzle. Marlowe je určen pro odborníky v dané oblasti. Například pro odborníky z oblasti financí. Místo programovacích dovedností potřebuje osoba používající Marlowe doménové dovednosti. Marlowe je navržen tak, aby chránil uživatele před psaním špatného programu. Díky tomu lze program napsaný v Marlowe těžko zneužít (nalézt v něm zranitelnost). Uživatelé jsou schopni program důkladně zkontrolovat a zobrazit všechny možné cesty vývoje.

Můžete se zeptat, jak je to možné. Je to jednoduché. Při použití Blockly je program Marlowe budován spojováním malého počtu stavebních bloků. Každý blok popisuje malý kousek skládačky. Například existují bloky pro platby, pozorování, akce, čekání na splnění určité podmínky atd. Když uživatel vybere určitý blok, je nucen připojit další doplňkové bloky. Například existuje blok pro definování vkladu (deposit). Pokud je použit blok vkladu, je nutné definovat stranu, částku, měnu a roli. Uživatelé Marlowe tak nezapomenou poskytnout některé informace, které jsou potřebné, a vytvoření smlouvy je tak jednoduchý úkol. Pokud mají dvě strany vložit prostředky, použijí se dva vkladové bloky. Uživatelé mohou definovat strany a pojmenovat si je jednoduše Alice a Bob. Marlowe nutí uživatele definovat všechny možné cesty vývoje kontraktu.

Vysvětlíme si jednoduchými slovy, jak funguje program napsaný například v Javě nebo Solidity. Program se skládá z několika základních prvků, jako jsou proměnné, podmínky a akce. Proměnné se používají k popisu fyzického světa. Můžete tedy popsat svůj bankovní účet, uživatelské jméno, výši platby atd. Akce může být platba, která používá proměnné. Akce může být například platba na daný bankovní účet. Bloky podmínky se používají k popisu podmínek, které se musí splnit, aby bylo možné provádět akce. Například platba se odešle až po obdržení jiné platby.

Marlowe umožňuje uživatelům psát chytrou smlouvu bez nutnosti pochopit, co jsou proměnné, podmínky a akce. Uživatelé, v tomto případě odborníci ve finanční oblasti, musí jen vědět, že je nutné definovat strany, znát jaké platby jsou potřeba, jejich pořadí a případně podmínky pro další krok ve smlouvě. Chcete-li vytvořit jednoduchou inteligentní smlouvu pro výměnu dvou digitálních aktiv, uživatelům Marlowe mohou použít dva bloky pro vklad prostředků, dva bloky pro platby a ty následně vyplnit dalšími bloky, která dodají detaily o stranách, platbách, atd.

Pokud uživatelé chtějí psát složitější programy, mohou použít jazyk Marlowe (ne Blockly), Javascript a Plutus. Důrazně doporučujeme podívat se na Marlowe Playground. Playground vám umožňuje vytvořit program, spustit jej v simulátoru a zjistit, co se stane, když odešlete transakce.

Závěr

Chytré smlouvy rozšíří schopnosti blockchainové technologie. Lidé jsou schopni používat blockchainové transakce, takže pro ně bude snadné používat chytré smlouvy. Jakmile se decentralizace stane hlavním proudem, nebude to jen možnost, ale nejspíš nutnost. Decentralizace je o naší vlastní odpovědnosti za naše životy a abychom tak mohli učinit, musíme nahradit stávající finanční a právní systémy. Samotné blockchainové transakce k dosažení cíle nestačí, protože nikdy nevíte, zda protistrana bude jednat čestně. Navíc, pokud si přeje být anonymní, musí existovat nějaký mechanismus, který zajistí důvěru mezi stranami. Chytré smlouvy to dokážou. Pokud chceme vyšší soukromí, musíme se naučit používat inteligentní smlouvy. Programovatelnost je budoucnost peněz.

Přečtěte si původní článek: