Začněte psát a výsledky vyhledávání se zobrazí zde...

Co jsou to tzv. ZK Rollups a jak ve světě kryptoměn pomáhají řešit problémy se škálovatelností?

Co jsou to tzv. ZK Rollups a jak ve světě kryptoměn pomáhají řešit problémy se škálovatelností?
Zdroj: Depositphotos.com

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).

Obsah článku o ZK-Rollups

Úvod do problematiky Rollups

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.

  • To s sebou nese problémy s kompatibilitou na jiných blockchainech. Výhodou je velmi vysoká bezpečnost, neboť takové projekty se většinou spoléhají na konsenzus v základní vrstvě – na Ethereu.
  • Jedním z příkladů může být např. Bitcoin Lightning Network (řešení škálovatelnosti šité na míru právě Bitcoinu – bezpečnost je zděděna skrze Proof of Work, aplikace na jiný blockchain je však komplikovaná).

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ě.

  • Silná univerzálnost s sebou ale nese nevýhodu nových, unikátních modelů konsenzu, které jsou mnohdy však méně zabezpečené a méně decentralizované, než Proof of Work v plné síle.
  • Příkladem může být např. síť Polygon – druhá vrstva navržena původně pro blockchain Etherea, ale skrze tzv. plasma chains je univerzálně použitelný i pro další blockchainy

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 ZK rollups.

Jak rollups obecně fungují?

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:

  1. Rollup smart kontrakt vezme data z vrstvy L1;
  2. Provede požadované transakce;
  3. Provede kompresi výsledných dat;
  4. Data o transakcích zabalí do “seznamu”, který uloží na blockchain ve vrstvě L1.

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.

Poznámka

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).

Princip ZK-Rollups

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.

Poznámka

Úč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.

Poznámka

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.

Zdroj: towardsdatascience.com
Zero-knowledge proof: ověřovatel pouze zjistí, že prokazovatel ví tajnou informaci. Výměna žádných dalších informací neexistuje.
Zero-knowledge proof: ověřovatel pouze zjistí, že prokazovatel ví tajnou informaci. Výměna žádných dalších informací neexistuje.

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).

Spektrum využití ZK-rollups – synergie s ETH 2.0

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.

Poznámka

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.

Spojení se shardingem

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.

Zdroj: vitalik.ca
Eth2.0 sharding - schéma propojení jednotlivých chainů (shardů)
ETH 2.0 sharding – schéma propojení jednotlivých chainů (shardů)

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.

Výhody a nevýhody ZK-rollups oproti jiným řešením škálovatelnosti

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.

Výhody

  • Žádná rozhodovací perioda – výsledek o pravosti transakcí je ihned známý
  • Levnější poplatky a vyšší propustnost kvůli menšímu množství přenášených dat (se shardingem až 100 000 TPS)
  • Paralelní výpočty podporující decentralizaci (u Optimistic rollups jsou fraud proof řešeny postupně)

Nevýhody

  • Tvorba a ověření zk-proof je velmi komplexní – je potřeba solidní hardware
  • Bez shardingu se nabízí zvýšení propustnosti “jen” na cca 4000 TPS (u Optimistic rollups se dostává ještě na mnohem nižší hodnoty)
  • Komplexnost zk-proof znemožňuje snadnou integraci do EVM aplikací
  • Existují obavy o bezpečnost kvůli nutnosti prvních ověřených podmínek (trusted setup), tento nedostatek řeší efektivně StarkWare použitím zt-STARK

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.

Nejpokročilejší projekty v oblasti

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

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.

zkSync

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

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.

Poznámka

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.

Zdroj: medium.com
Krůčky StarkWare k plně decentralizovanému, globálnímu systému škálovatelnosti pro Ethereum
Krůčky StarkWare k plně decentralizovanému, globálnímu systému škálovatelnosti pro Ethereum

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.

Závěr k ZK-Rollups

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.

Líbil se vám tento článek?
8
0

Autor

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í.

Přečíst více

Sdílejte tento článek

Mohlo by vás zajímat

Diskuze (0 komentářů)

Připojte se k diskuzi

Tento článek zatím nikdo neokomentoval. Přihlašte se a buďte první! Napište svůj názor a zahajte diskuzi.