Architektura inteligentních smluv na blockchainu Algorand

in Česky!4 years ago (edited)

Algorand je blockchainová platforma zaměřená na inteligentní smlouvy (smart contracts) vytvořená týmem okolo Silvia Micaliho, který je držitelem Turing award za přínos v oboru IT.

Včera vyšla informace o nových off-chain smart contracts, které doplňují již využívané on-chain smart contracts používané přímo na první vrstvě „Layer-1“ blockchainu Algorand. A právě na rozdíl off-chain a on-chain smart contracts na Algorandu se vám pokusím vysvětlit.

image.png

Inteligentní smlouvy (angl. smart contracts)

Inteligentní smlouvy umožňují programování blockchainů. Podobně jako automat na prodej kávy nebo Coly, určuje inteligentní smlouva jasně definovaný postup převodu aktiv.

Tak třeba když si chce Alice koupit nějaké tokeny vydané Bobem, pošle svoje mince Bobovi v rámci inteligentních smluv. Kód smlouvy počítá mince, možná kontroluje, zda je Alice v databázi smlouvy kvalifikovaných investorů, a poté převede správný počet Bobových tokenů na účet Alice. Výměna je tedy transparentní: Alice může zkontrolovat kód smlouvy a kód běží bez Bobovy účasti.

Architektura Algorandu má dvě základní vrstvy

Vrstva-1 on-chain (Layer-1)

Tato vrstva pro inteligentní smlouvy zaručuje bezpečnou a rychlou cestu pro běžné každodenní transakce.

Inteligentní smlouvy na první vrstvě Algorandu (Layer-1) provádějí spousty běžných jednoduchých transakcí přímo v samotném blockchainu, jako jsou třeba atomic swaps. U Algorandu jsou tyto výměny nazývány Atomic transfers a jsou to vestavěné mechanismy zajišťující vykonání více transakcí, které jsou schváleny vzájemně nedůvěřivými stranami a které jsou poté vykonány jako jedna transakce; buď jsou potvrzeny všechny, nebo žádná.

V našem příkladu Alice vytvoří Atomic transfer, který obsahuje jak její platbu Bobovi, tak Bobovu zpětnou platbu jí. Alice podepíše svou platbu, Bob podepíše tu svou a dvojnásobně podepsaný Atomic transfer obsahující obě platby je poté poslán do blockchainu.

První vrstva (Layer-1) lze použít pro řadu různých typů transakcí, jako jsou:

  • Post-a-prodejní transakce (post-and-sale) – povolíte kterémukoli jinému uživateli, aby si koupil vaše zboží za danou cenu bez budoucích závazků.
  • Zabezpečené půjčky (securitized loans) – poskytnete úvěr zajištěný kolaterálem dlužníka, takže automaticky získáte tento kolaterál, když dlužník neprovede platby podle stanoveného harmonogramu.
  • Inteligentní crowdfunding – bez vašeho dalšího zapojení shromažďujete finanční prostředky pro daný projekt. Když není dosaženo stanoveného cíle financování, automaticky se vrátí všechny prostředky zpět jejich dárcům.
  • Akreditované transakce (accredited-only transactions) – povolíte pouze určitým uživatelům provádět určitý druh transakce, aniž byste museli každou transakci schvalovat samostatně.
  • Multi Multi-Sig peněženky – rozšíření klasické multi-sig peněženky.
Vrstva-2 off-chain (Layer-2)

Algorand poskytuje druhou off-chain vrstvu (Layer-2) pro inteligentní smlouvy s větší mírou přizpůsobení.

Přestože spousta jednoduchých transakcí je vhodných pro rychlou cestu první on-chain vrstvy, existuje také spousta transakcí, které vyžadují specializovanější nástroje. Jde o tyto konkrétní příklady:

  • Inteligentní smlouva může být příliš velká – třeba v případě nějaké rozsáhlé databáze nebo databáze citlivé na zveřejněné. Tyto transakce z nějakého důvodu nechceme vidět na hlavním blockchainu.
  • Inteligentní smlouva může být příliš výpočetně náročná nebo složitá. Může to být třeba token poskytující vysoký stupeň soukromí díky výpočetně náročným knihovnám jako jsou ZK-STARK nebo ZK-SNARK.

Srovnání s inteligentními smlouvami Algorand a Ethereum

Blockchain Ethereum byl první, který ukázal sílu inteligentních smluv, takže je logické, že zrovna inteligentní smlouvy postavené na Ethereum jsou standardním výchozím bodem pro každé srovnání nástupnických technologií. O jejich výhodách a nevýhodách se intenzivně diskutuje v blockchainové komunitě a diskuse vyvolaly řadu nových návrhů smart contracts jazyků. Pojďme se podívat na dvě hlavní otázky, které mají pro Algorand blockchain zvláštní význam.

  1. Jednoduché problémy často vyžadují složitá a křehká řešení.
    Předpokládejme, že Alice a Bob souhlasí s tím, že pokud Alice pošle 1000 „KorunaTokenů“ Bobovi, převede Bob Alici 1000 „BobTokenů“. Alice si chce být jistá, že pokud převede své tokeny, dostane Bobovy tokeny a stejně tak chce si být jistý i Bob. Tento druh transakce, kde dochází k převodům mezi dvěma nedůvěřivými stranami, se nazývá atomic swap. Tyto transakce se buďto obě uskuteční nebo žádná z nich.
    Programování atomic swapu pomocí inteligentních smluv na Ethereu vyžaduje smlouvu s hashovaným časovým zámkem. To je velice speciální, načasovaný, vícefázový protokol, kde jakákoli chyba programování může mít katastrofální následky pro účastníky transakce.
    Oproti tomu inteligentní smlouvy na Vrstvě-1 u Algorandu poskytují jednoduché a bezpečné řešení atomic swapů a souvisejících problémů.

  2. Každý musí čekat na všechny ostatní
    Pojďme si to ukázat rovnou na příkladu. V masně s pultovým prodejem nemohou zákazníci provádět vlastní výběr zboží. Namísto toho čekají ve frontě, až na ně přijde řada a až poté jim prodavačka vysvětluje, jaké typy masa má k dispozici a na co všechno se dané typy masa hodí. Pokud zákazník chce maso na guláš, po kratší diskusi mu prodavačka nabídne hovězí kližku, naváží ji a podá zákazníkovi, který zaplatí stanovenou cenu. Až po něm je na řadě další zákazník.

Jako v naší masně, každá inteligentní smlouva u Etherea blokuje postup blockchainu jako celku. Ještě horší je, že každý těžař (dokud běží Ethereum na Proof-of-Work) musí znovu provést každé smluvní volání a každý nový horník musí znovu provést každý call inteligentní smlouvy, které se kdy stalo. Tradiční architektura „masny“ Ethereum představuje riziko škálovatelnosti, což výrazně omezuje rychlost výroby nových bloků.

Oproti tomu inteligentní smlouvy u off-chain vrstvy (Layer-2) Algorandu připomínají spíše nákup v supermarketu. Tam si zákazníci v klidu vyberou svoje maso a poté si stoupnou do fronty k pokladně. Nerozhodní zákazníci tedy nebrzdí celou frontu a neomezují rychlost obsloužení ostatních zákazníků.

Inteligentní smlouvy v blockchainu (on-chain) vs. mimo hlavní blockchain (off-chain)

Připomeňme si, že v blockchainu Algorand jsou nové bloky vybírány komisí pro konsensus, která byla bezpečně a náhodně vybrána pomocí algoritmu vlastního výběru VRF. Když uživatel volá smlouvu mimo řetězec, toto zavolání přímo nevykonává konsenzuální komise. Místo toho je výzva provedena a potvrzena paralelním výborem, který se nazývá komise pro provádění smlouvy.

Blockchain, který vyžaduje on-chain smlouvy, je jako banka, která vyžaduje, aby všechny finanční transakce byly prováděny na přepážce. Před posláním peněz musí zákazník počkat ve frontě na přepážku spolu se všemi ostatními zákazníky banky, kde je pouze jeden pokladník, aby tuto transakci převzal a potvrdil.

Naproti tomu blockchain, který používá smlouvy mimo hlavní řetězec (off-chain), lze srovnat s využitím internetového bankovnictví; zákazníci si sami tvoří svoje transakce bez nutnosti návštěvy banky a zejména čekáním ve frontě na přepážce.

Obrázek 1: standardní provedení inteligentních smluv na vrstvě 1 Algorandu (Layer-1)
U Algorandu je každých 5 sekund potvrzen nový blok s 5000 transakcemi, a to včetně inteligentních smluv první vrstvy (Layer-1), aniž by se zpomalila tvorba nového bloku.

image.png

Obrázek 2: provedení inteligentních smluv na blockchainu typu Ethereum.
Toto jsou následky přidání 10sekundových smluvních zavolání do každého bloku; je zjevné, že není možné udržovat 5sekundový blok, když každé smluvní zavolání trvá dalších 10 sekund.

image.png

Obrázek 3: provedení inteligentních smluv mimo hlavní blockchain na Algorandu (Layer-2)
Tato forma prezentuje výhodu provádění smluvních zavolání mimo hlavní řetězec; smluvní volání lze provést paralelně s běžnými transakcemi, aniž by to ohrozilo propustnost blockchainu.

image.png

Provádění inteligentních smluv off-chain

Off-chain řešení inteligentních smluv na druhé vrstvě (Layer-2) má tedy několik uplatnění a vykonání jejich zavolání neucpává blockchain tak jako to je aktuálně u Etherea 1.0. Právě díky tomu mohou uživatelé psát velké, výpočetně náročné a komplexní inteligentní smlouvy, které nebudou, stejně jako v našem příkladu s nákupem v masně, brzdit ostatní uživatele a transakce na hlavním blockchainu.

Architektura inteligentních smluv u Algorandu je navíc flexibilní a v budoucnu může umožnit další rozvoj. Třeba i o vysoce regulované, datově náročné finanční aplikace, které by vstupy do blockchainu mohly ucpat. Off-chain řešení v architektuře Algorandu (Layer-2) vyvinuli Jing Chen, Maurice Herlihy, Victor Luchangco, Silvio Micali a Liuba Shrira.


Zdroj: https://www.algorand.com/resources/blog/algorand-smart-contract-architecture
Foto zdroj: Pixabay

Coin Marketplace

STEEM 0.20
TRX 0.14
JST 0.030
BTC 67878.16
ETH 3255.45
USDT 1.00
SBD 2.66