Možná jste o ZK rollups už v posledních týdnech zaslechli v souvislosti s tím, že se jedná o jedno z možných řešení škálovatelnosti Etherea. Všichni moc dobře víme, jak vysoké poplatky za transakce vykonané na síti tokenů standardu ERC-20 mnohdy mohou být. Ačkoliv je Ethereum, stejně jako Bitcoin, silně zabezpečené a plně decentralizované díky mechanismu konsenzu Proof of Work (PoW), jeho propustnost silně pokulhává a s tím se pojí velmi vysoké poplatky za transakce (gas fees).
Možností pro zvýšení schopnosti lepšího škálování (a tím pádem zvýšení propustnosti sítě a snížení ceny poplatků) je několik. My se v následujícím článku budeme soustředit na ty nejpokročilejší z druhé vrstvy (L2) – rollups, neboli jakési seznamy transakcí vypočtené mimo základní vrstvu blockchainu (L1).
Systém Etherea není v tuto chvíli tak úplně snadné škálovat (podstatnou rychlostí zvyšovat počet odbavených transakcí). Některá řešení sice již existují, mají ale zásadní problémy.
První případ je konkrétní řešení specifické pro aplikaci nebo blockchain.
Druhé způsoby bývají většinou univerzální a jsou tím pádem aplikovatelné, byť s menšími změnami, na jakékoliv jiné sítě.
Ty nejchytřejší mozky z oboru kryptografie a blockchain developmentu roky usilovně pracují na univerzálním řešení aplikovatelném na základní vrstvu blockchainu (vrstvu L1), čímž se zdědí stejná úroveň bezpečnosti, a zároveň zachovávajícím otevřený prostor pro nadstavbové funkce, jako například smart kontrakty. Jinými slovy, dalším základním požadavkem je zachování EVM kompatibility.
Nejmodernějším řešením splňujícím všechny tyto požadavky jsou právě rollups. Existují dva druhy – Optimistic rollups a ZK rollups.
Základní idea je celkem jednoduchá. Jak Optimistic, tak i ZK rollups činí na první pohled to samé: jedná se vesměs o soubor transakcí, který je přenesen a následně zvalidován mimo blockchain. Po úspěšné validaci jsou data o uskutečněných transakcích zapsána zpět na původní blockchain, a to s menší velikostí.
Celý proces tak můžeme zjednodušeně popsat v několika krocích:
Protože jsou výpočty spojené se samotným provedením transakcí přemístěny ze základní vrstvy na druhou, množství celkových dat zapsaných do bloku se sníží, čímž vzniká prostor pro více transakcí a zvyšuje se propustnost sítě.
S větším množstvím transakcí a vyšší propustností již není třeba tolik přeplácet validátory, což zákonitě snižuje i výši požadovaných poplatků. A
protože se tímto způsobem více transakcí spojí v jednu, výsledkem je rychlejší a levnější provoz celé sítě.
Jaký je ale důkaz o správnosti validace transakcí? Přístupy obou druhů se zde fundamentálně liší. My se v tomto článku primárně zaměříme na ZK-rollups kvůli jejich většímu potenciálu (vyšší bezpečnost a propustnost než u Optimistic rollups.
Jak ve zkratce fungují Optimistic rollups?
Optimistic rollups přináší jednodušeji proveditelný, avšak méně bezpečný a celkově pomalejší přístup. Platí zde jakási “presumpce neviny”. Je všeobecným předpokladem, že data zapsaná do blockchainu jsou validována správně, odtud výraz “optimistic”.
Jakýkoliv účastník sítě má však právo jakýkoliv výpočet napadnout a podat tzv. “fraud proof” – důkaz o chybě. Tento krok iniciuje opětovný výpočet validace v základní vrstvě (L1) a pokud se prokáže, že je předchozí výpočet chybný, udavatel je odměněn a validátor chybné transakce potrestán ve formě slashingu a ztrátě na reputaci.
Optimistic rollups využívá např. Arbitrum nebo Optics (bridge vyvíjený projektem CELO).
ZK-rollups jsou na rozdíl od Optimistic rollups plně deterministické a z filozofického hlediska mají opačný přístup k předpokladu pravosti validace – platí zde “presumpce viny”.
Nenachází se zde žádná nejistota formou pochyb o pravosti výpočtu transakcí. Na rozdíl od Optimistic rollups zde není ani časová prodleva po zapsání transakcí do bloku.
Účastníci transakcí zapisovaných skrze Optimistic rollups musejí mít dost času na to, aby mohli jakoukoliv transakci napadnout prezentací “fraud proof”. Proto jsou pro projekty využívající tuto formu škálovatelnosti běžné dlouhé čekací doby mezi zápisem dat do blockchainu a možností další manipulace s kryptoměnami.
Při zapsání nových dat do bloku je každá zpráva opatřena navíc i tzv. “validity proof” – důkazem o pravosti výpočtu transakce (opak “fraud proof” u optimistic rollups). Smart kontrakty na L1 komunikující s výpočetním místem na L2 tudíž na 100 % ví, že výpočet je správný, pokud je správný i validity proof.
To vše je provedeno za předpokladu, že se na vrstvu L1 nedostanou žádné další informace (tím pádem bude přeneseno méně dat = větší propustnost sítě). Celou magií je mistrovské dílo matematiky a kryptografie zvané zero-knowledge proof.
Zero-knowledge proof znamená, že ověřovatel pouze zjistí, že prokazovatel ví tajnou informaci. Výměna žádných dalších informací neexistuje.
V kryptografii se výrazem zero-knowledge proof označuje metoda, kdy jedna strana (prokazatel) dokáže se 100% jistotou prokázat druhé (ověřovatel), že disponuje nějakou tajnou informací, aniž by danou informaci jakkoli prozradila. Celý model je zjednodušeně vysvětlen v tomto článku.
Prokazatel svou informaci může prokázat ověřovateli buď nějakou formou interakce, nebo naprosto bez interakce. ZK-rollups a obecně celá digitální kryptografie využívá formu bez interakce, zero-knowledge proofs jsou zde označovány jako zk-SNARK nebo zk-STARK (lehce se liší, protože jsou vyvíjeny různými týmy) a jsou základním kamenem celých ZK-Rollups.
Když jsou data o transakcích odeslána zpět do vrstvy L1, je k nim připojen i zmiňovaný zk-SNARK/zk-STARK jako “validity proof”. Prakticky je to tajný kryptografický klíč dešifrovatelný podle společné vazby existující mezi ověřovatelem a prokazatelem, zde mezi smart kontrakty ZK-Rollups na vrstvě L1 a vrsvě L2.
Způsob, jakým jsou tyto zero-knowledge proofs generovány, je záležitostí velmi vysoké matematiky a kryptografie. Svou komplexností přesahují rozsah celého článku a proto je dále nebudeme rozebírat. Podrobnější technické informace jsou ale k dispozici např. zde o zk-SNARK a zde o zk-STARK.
V systému ZK-rollups existují dvě entity – tvůrci transakcí (transactors) a převaděči (relayers). Tvůrci transakcí jsou běžní uživatelé vysílající požadovanou transakci, převaděči ji registrují a přidávají ji do souboru s ostatními transakcemi (rollup). Když je v souboru připraveno dostatečné množství transakcí, vytvoří převaděč zero-knowledge proof (zk-SNARK nebo zk-STARK, podle používané technologie) a odešle jej na vrstvu L1 základního blokchainu (např. Ethereum).
Smart kontrakty na L1 zprávu přijmou a podle referenčního rámce vyhodnotí platnost zero-knowledge proof (společná šifrovaná reference je nutností, protože se jedná o zero-knowledge proof bez interakce).
ZK-rollups ze své povahy dokáží dle odhadů navýšit propustnost sítě z cca 15 TPS (15 transakcí za sekundu), což je momentální hodnota propustnosti sítě Etherea, na 1000 – 4000 TPS. Nejedná se o příliš vysoké hodnoty, existuje zde však 100% jistota o zachování úrovně decentralizace a bezpečnosti typické pro Ethereum.
Pro představu – “zabijáci” Etherea typu Solana či Cardano sice mohou dosahovat vyšších hodnot propustnosti, většinou se ale jedná o kompromis na úkor decentralizace, bezpečnosti či integrity sítě.
Návrhová propustnost Solany se například pohybuje okolo 50 000 TPS, Solana ale oplývá různými pochyby o skutečné míře decentralizace a podle nedávných událostí je pochybováno i o míře její bezpečnosti a odolnosti.
Skutečně zazářit ZK-rollups mohou ve spojení se shardingem v ETH 2.0.
Sharding je součást dlouho očekávané migrace momentální sítě Etherea na ETH 2.0, novou verzi využívající konsenzus PoS a tím pádem staking. Jedná se o poslední součást celé velké aktualizace, jenž přináší rozdělení výpočetní síly do cca 60 paralelních blockchainů. Idea ZK-rollups je aplikovatelná na každý z nich.
Dodatečným zvýšením škálovatelnosti pro každý chain se dostáváme na hodnoty dosahující na více než 100 000 TPS, což už je velmi zajímavá hodnota. Pohybujeme se na několikanásobných hodnotách propustnosti centralizovaného platebního systému VISA, to vše při zachování dostatečné úrovně decentralizace a bezpečnosti poskytované ETH 2.0.
Rychlostí a bezpečností ZK-rollups oproti jinému scalingu v L2 vynikají, i tak se však potýkají s řadou komplikací. V následujícím odstavci si shrneme různé výhody a nevýhody pro použití ZK-rollups.
ZK-rollups jsou pod pokličkou sice mnohem náročnější a komplikovanější, ve výsledku jsou však bezpečnější kvůli nemožnosti zápisu nepravdivé transakce a rychlejší kvůli absenci jakékoliv periody pro možnost popření pravosti výsledku. Při sečtení všech plusů a minusů se stále jedná o jedno z nejlepších a nejperspektivnějších řešeních škálovatelnosti ve vrstvě L2.
Jak jste se již mohli přesvědčit z odstavců výše, technologické pozadí ZK-rollups je celkem komplikované a jejich vývoj, společně s ETH 2.0, trvá už dlouhé roky. Bohužel, ani dnes se vyvíjená technologie nenachází ve fázi použitelné v širším spektru. První náznaky použití můžeme spatřit už v roce 2016 v projektu Zcash. Těmi nejpodstatnějšími projekty vyvíjejícími ZK-rollups do nejmodernější podoby jsou pak zkSync a StarkWare.
Zcash je první kryptoměnou využívající zk-SNARK (succint non-interactive argument of knowledge). Motivací pro použití zero-knowledge proof byla možnost zavedení plné anonymizace transakcí, čímž se projekt také proslavil.
zk-SNARK je prvním objeveným zero-knowledge proof v kryptografii a nyní tvoří nejširší zastoupení v různých vývojářských knihovnách.
Jedním z nejočekávanějších univerzálních řešení současnosti je zkSync vyvíjený Matter Labs. Produkt je funkční už od června 2020, zatím ale bez podpory smart kontraktů a EVM (Ethereum Virtual Machine) prostředí, využitelnost je tedy zatím nízká.
Návrhová propustnost sítě se pohybuje kolem 2 000 TPS. Novinkou je zkSync 2.0, prozatím stále vyvíjený nový mainnet přinášející podporu smart kontraktů a EVM, bude se tedy jednat o univerzální řešení aplikovatelné na celou síť ERC-20 projektů.
zkSync prozatím nemá žádnou svou nativní kryptoměnu, v budoucnu se ji ale pravděpodobně dočkáme. Výzkum je financován z fundraisingu zahrnujícím známá jména jako Crypto.com, Blockchain.com, AAVE nebo Andresseen Horowitz.
StarkWare je první společností využívající zk-STARK (scalable transparent arguments of knowledge), nový typ zero-knowledge proof. zk-STARK řeší některé bezpečnostní nedostatky zk-SNARK a je tím pádem atraktivnější volbou pro scaling Etherea, proto je favoritem Ethereum Foundation.
zk-STARK se spoléhají čistě na hash funkce, to znamená, že na rozdíl od zk-SNARK nepožadují vytvoření ověřených prvních vstupních parametrů (tzv. “trusted setup”) a jsou tedy bezpečnější.
zk-STARK přináší menší problémy kompatibility s programovacím jazykem smart kontraktů na Ethereu (Solidity), za tímto účelem byl vyvinut programovací jazyk Cairo.
Cairo je palivem protokolu StarkEx, produktu StarkWare běžícím na zk-STARK. Jedná se o řešení škálovatelnosti využitelné pro konkrétní aplikace, ne univerzálně. Příkladem aplikací může být např. dYdX, Immutable X nebo Sorare.
Hlavním produktem je StarkNet, ZK-rollup síť přímo pro síť Etherea umožňujícím aplikaci na jakékoliv produkty využívající EVM.
ZK-rollups jsou nejmodernější a nejefektivnější řešení škálovatelnosti pro Ethereum, jaké zatím známe. Jak zkSync, tak i StarkWare a řada dalších konkurenčních projektů (např. zkTube nebo Loopring) dokončují své produkty a umožní tak výpočetní úlevu Ethereu, což pro běžného uživatele znamená větší rychlost transakcí a zejména levnější poplatky.
Tato kategorie zároveň přináší příležitosti pro zajímavé investice. Jelikož je většina výše zmiňovaných projektů a i řada dalších stále ve vývoji, v budoucnu se může dostavit velké množství katalyzátorů ceny.
Bývalý šéfredaktor, softwarový architekt a nadšenec do kyberbezpečnosti a blockchainu. V rámci Finexu se zaměřuje zejména na technická témata v oblasti kryptoměn. Kryptoměny považuje za platidlo budoucnosti řešící řadu problémů s centralizovanou náturou existujících platebních prostředků. DeFi svět považuje za úchvatný a nabízející spoustu skvělých příležitostí.
Diskuze (0 komentářů)
Tento článek zatím nikdo neokomentoval. Přihlašte se a buďte první! Napište svůj názor a zahajte diskuzi.