­č窭čç░ V├Żhody determinizmu pre ZK Rollups na Cardane

V├Żhody determinizmu pre ZK Rollups na Cardane

Transakcie na Cardano zriedkavo zlyh├ívaj├║, preto┼że valid├ícia nez├ívis├ş od zdie─żan├ęho glob├ílneho stavu. Toto je k─ż├║─Źov├Ż rozdiel medzi modelom UTxO v Cardane a modelom zalo┼żen├Żm na ├║─Źtoch v Ethereu. Pr├şstup Cardano umo┼ż┼łuje predv├şdate─żn├ę a deterministick├ę overovanie transakci├ş a vykon├ívanie skriptov. V├Żsledok je vopred zn├ímy, ─Źo je obzvl├í┼í┼ą v├Żhodn├ę pri implement├ícii ZK Rollups. Tie sa daj├║ realizova┼ą bez potreby centralizovan├Żch sekvencerov. V tomto ─Źl├ínku sa najprv ponor├şme do vysvetlenia determinizmu a d├┤vodov, pre─Źo m├┤┼żu transakcie na Ethereu zlyha┼ą. Potom vysvetl├şme z├íkladn├ę princ├şpy ZK Rollups na Ethereu. N├ísledne presk├║mame, ako by sa ZK Rollups mohli l├ş┼íi┼ą v r├ímci ekosyst├ęmu Cardano.

Úvod do ZK Rollups

Zero-Knowledge Rollup (ZK Rollup) je rie┼íenie ┼ík├ílovania na druhej vrstve (L2). Dok├í┼że prevzia┼ą ─Źas┼ą stavu (typicky zostatky pou┼ż├şvate─żsk├Żch ├║─Źtov) z vrstvy 1 (L1) a prenies┼ą ju do vrstvy L2. To umo┼ż┼łuje, aby sa v L2 uskuto─Ź┼łovali zlo┼żit├ę v├Żpo─Źty, ktor├ę by inak boli pomal├ę a n├íro─Źn├ę na zdroje, keby sa vykon├ívali v re┼ąazci (t. j. v L1). In├Żmi slovami, v├Żpo─Źty sa uskuto─Ź┼łuj├║ mimo re┼ąazca, ─Źo poskytuje efekt├şvne rie┼íenie ┼ík├ílovania.

Zmeny stavu, ako napr├şklad overovanie transakci├ş a vykon├ívanie inteligentn├Żch kontraktov, sa po─Ź├ştaj├║ mimo re┼ąazca a n├ísledne sa overuj├║ v re┼ąazci pomocou d├┤kazov nulovej znalosti (Zero-Knowledge Proofs alebo ZKP). ZK Rollups v├Żrazne zvy┼íuj├║ priepustnos┼ą transakci├ş a minimalizuj├║ transak─Źn├ę n├íklady, pri─Źom v┼íetky zdedia bezpe─Źnos┼ą siete z├íkladnej vrstvy, ku ktorej s├║ pripojen├ę na vyrovnanie.

ZK Rollups pravidelne odosielaj├║ mal├║ podmno┼żinu ├║dajov do vrstvy 1 (L1). Tieto ├║daje s├║ v├Żsledkom spracovania ve─żk├ęho objemu ├║dajov vo vrstve 2 (L2). T├Żmto sp├┤sobom ZK Rollups efekt├şvne vyu┼ż├şvaj├║ odolnos┼ą vo─Źi cenz├║re a bezpe─Źnos┼ą z├íkladnej vrstvy na kone─Źn├ę z├║─Źtovanie transakci├ş.

Potreba kontextu pri overovan├ş transakci├ş

V ka┼żdom finan─Źnom syst├ęme si overenie transakcie - prevodu hodnoty medzi dvoma alebo viacer├Żmi ├║─Źastn├şkmi - vy┼żaduje ur─Źit├Ż kontext alebo stav na overenie. Syst├ęm mus├ş okrem in├ęho overi┼ą, ─Źi m├í odosielate─ż na ├║─Źte dostatok finan─Źn├Żch prostriedkov. Mus├ş tie┼ż zabezpe─Źi┼ą, aby pou┼ż├şvatelia nevydali tie ist├ę finan─Źn├ę prostriedky viac ako raz, ─Ź├şm sa rie┼íi zn├ímy probl├ęm dvojitej spotreby.

Vstupom pre overenie je transakcia a stav. V├Żstupom je rozhodnutie, ─Źi je transakcia v kontexte stavu platn├í alebo nie.

Blockchain je distribuovan├Ż finan─Źn├Ż syst├ęm, v ktorom sa spracovanie transakci├ş alebo prechody stavov dosahuj├║ prid├ívan├şm nov├Żch blokov na koniec blockchainu. Ka┼żd├Ż blok obsahuje viacero transakci├ş.

Ako je zn├ízornen├ę na obr├ízku, glob├ílny stav sa men├ş s ka┼żd├Żm novo pridan├Żm blokom. Posledn├í zmena stavu nastala po pridan├ş bloku N+4, ─Ź├şm sa aktu├ílny glob├ílny stav stal N+4.

Cardano a Ethereum pou┼ż├şvaj├║ na overovanie transakci├ş r├┤zne kontexty.

V pr├şpade Etherea je valid├ícia transakci├ş alebo inteligentn├Żch kontraktov podmienen├í glob├ílnym stavom v konkr├ętnom okamihu. Tento glob├ílny stav zah┼Ľ┼ła aktu├ílny stav v┼íetk├Żch ├║─Źtov vr├ítane ich zostatkov a stav v┼íetk├Żch existuj├║cich inteligentn├Żch zml├║v. Transakcie v r├ímci bloku s├║ usporiadan├ę v pevnom porad├ş a ka┼żd├í transakcia m├í potenci├íl zmeni┼ą glob├ílny stav. V d├┤sledku toho m├┤┼żu v├Żsledok vykonania transakcie ovplyvni┼ą transakcie, ktor├ę boli vykonan├ę pred ┼łou v r├ímci toho ist├ęho bloku.

Ako je zn├ízornen├ę na obr├ízku, najnov┼íie pridan├Ż blok je N+3, ─Ź├şm sa glob├ílny stav st├íva N+3. Sie┼ą sa pok├║si prejs┼ą do nov├ęho stavu N+4, a tak sa vytvor├ş nov├Ż blok N+4. Je d├┤le┼żit├ę poznamena┼ą, ┼że valid├ícia transakcie v bloku N+4 (ozna─Źen├í zelen├Żm r├ím─Źekom) z├ívis├ş od glob├ílneho stavu. Po za─Źlenen├ş transakcie do bloku N+4 je mo┼żn├ę validova┼ą nasleduj├║cu transakciu, ktor├í bude z├ívisie┼ą od glob├ílneho stavu aj od predch├ídzaj├║cej transakcie.

Jedn├Żm z d├┤vodov, pre─Źo m├┤┼żu transakcie Etherea zlyha┼ą, je nepredv├şdate─żnos┼ą glob├ílneho stavu v ─Źase valid├ície transakcie. Pri vytv├íran├ş transakcie nie je mo┼żn├ę predv├şda┼ą jej v├Żsledok. Glob├ílny stav po─Źas valid├ície transakcie sa m├┤┼że l├ş┼íi┼ą od stavu po─Źas kon┼ítrukcie transakcie. V medziobdob├ş medzi zadan├şm transakcie a jej valid├íciou sa mohli zmeni┼ą zostatky na ├║─Źtoch ├║─Źastn├şkov transakcie. Tieto zmeny zostatkov na ├║─Źtoch by mohli zabr├íni┼ą vykonaniu transakcie pod─ża p├┤vodn├ęho z├ímeru zad├ívate─ża.

Obr├ízok zn├ízor┼łuje obdobie medzi predlo┼żen├şm transakcie TX 10, ku ktor├ęmu do┼ílo pribli┼żne v bloku N+2 (stav +2), a n├íslednou valid├íciou transakcie po valid├ícii transakcie TX 9. Po─Źas tohto obdobia do┼ílo k mnoh├Żm zmen├ím v glob├ílnom stave. Valid├ícia transakcie TX 10 je z├ívisl├í od glob├ílneho stavu aj od zmien, ktor├ę zaviedla transakcia TX 9. Transakcia TX 9 alebo ak├íko─żvek predch├ídzaj├║ca zmena by potenci├ílne mohla sp├┤sobi┼ą zlyhanie transakcie TX 10.

Transakcie Ethereum mo┼żno charakterizova┼ą ako stavov├ę.

Naproti tomu Cardano funguje bez glob├ílneho stavu a vyu┼ż├şva model UTxO. V tomto modeli je valid├ícia transakcie zalo┼żen├í na jej vstupoch a v├Żstupoch, ─Ź├şm sa eliminuje potreba referencie glob├ílneho stavu. Ka┼żd├í transakcia spotreb├║va ur─Źit├ę UTXO ako vstupy a generuje nov├ę UTXO ako v├Żstupy. Platnos┼ą transakcie z├ívis├ş v├Żlu─Źne od toho, ─Źi s├║ spotrebovan├ę UTXO platn├ę a nespotrebovan├ę a ─Źi celkov├í hodnota vstupov zodpoved├í celkovej hodnote v├Żstupov.

Valid├ície transakci├ş s├║ navz├íjom nez├ívisl├ę. UTxOs s├║ nemenn├ę objekty a je mo┼żn├ę k nim zabezpe─Źi┼ą v├Żlu─Źn├Ż pr├şstup. V r├ímci blokovej valid├ície je jednoduch├ę zabezpe─Źi┼ą, aby sa ka┼żd├Ż vstupn├Ż UTxO spotreboval len raz a v celom rozsahu. Poradie transakci├ş v r├ímci bloku Cardano je v kontexte stavu nepodstatn├ę.

Na obr├ízku je zn├ízornen├í sie┼ą, ktor├í generuje nov├Ż blok N+4, obsahuj├║ci transakcie TX 9 a TX 10. Nov├ę transakcie TX 9 a TX 10 spotrebuj├║ star├ę v├Żstupn├ę UTxO (zn├ízornen├ę zelen├Żmi r├ím─Źekmi) na vytvorenie vstupn├Żch UTxO (zn├ízornen├ę ─Źerven├Żmi r├ím─Źekmi). Poradie transakci├ş v r├ímci bloku je irelevantn├ę, preto┼że transakcie s├║ nez├ívisl├ę a navz├íjom sa neovplyv┼łuj├║. Transakcia TX 10, odoslan├í kr├ítko po vytvoren├ş bloku N+2, m├┤┼że spotrebova┼ą UTxO z transakcie v r├ímci tohto bloku. Pridanie nov├ęho bloku N+4 m├í za n├ísledok vytvorenie nov├Żch UTxO zo vstupn├Żch UTxO, ─Źo znamen├í zmenu stavu.

Transakcie Cardano s├║ vo svojej podstate bezstavov├ę. Vstupy aj v├Żstupy s├║ zn├íme v ─Źase odoslania transakcie. To umo┼ż┼łuje lok├ílnu valid├íciu transakcie pred jej odoslan├şm, ─Ź├şm sa zabezpe─Ź├ş, ┼że pravdepodobne prejde valid├íciou siete. Schopnos┼ą min├║┼ą vstupn├ę UTxO (ich existencia a schopnos┼ą min├║┼ą ich so spr├ívnym podpisom) sa d├í overi┼ą lok├ílne, rovnako ako v├Żsledok vykonania skriptu (ktor├Ż z├ívis├ş od vstupn├Żch ├║dajov pridan├Żch do transakcie predkladate─żom). To d├íva predkladate─żovi vysok├║ mieru istoty, ┼że transakcia nezlyh├í.

Na rozdiel od Etherea Cardano funguje predv├şdate─żne a deterministicky. Tento z├ísadn├Ż rozdiel v├Żrazne ovplyv┼łuje pou┼ż├şvanie ZK Proofs.

Je d├┤le┼żit├ę objasni┼ą, ┼że Ethereum overuje transakcie deterministicky v tom zmysle, ┼że pri rovnak├Żch vstupoch (├║daje o transakcii) a rovnakom stave (aktu├ílny glob├ílny stav blockchainu Ethereum) EVM v┼żdy vytvor├ş rovnak├Ż v├Żstup. V├Żsledok valid├ície transakci├ş je v┼íak nedeterministick├Ż. V├Żsledok valid├ície sa m├┤┼że l├ş┼íi┼ą od o─Źak├ívan├ş pou┼ż├şvate─ża.

Po─Źas zad├ívania transakcie pou┼ż├şvate─ż nem├┤┼że predv├şda┼ą, ak├Ż bude glob├ílny stav v ─Źase valid├ície transakcie. Preto nie je mo┼żn├ę odhadn├║┼ą v├Żsledok valid├ície s vysokou mierou istoty. Mo┼żno ho len predpoklada┼ą.

ZK Rollup udr┼żiava stav

V rie┼íeniach 2. vrstvy, ako s├║ ZK Rollups, je valid├ícia transakci├ş k─ż├║─Źov├í na zachovanie integrity syst├ęmu. Patria sem ochrann├ę opatrenia proti dvojit├Żm v├Żdavkom a neopr├ívnen├ęmu vytv├íraniu nov├Żch tokenov.

Podobne ako vrstva 1 v syst├ęme Ethereum, aj ZK Rollups (L2) zachov├ívaj├║ glob├ílny stav. Tento glob├ílny stav sa aktualizuje pri ka┼żdej transakcii, v─Ćaka ─Źomu je poradie transakci├ş v├Żznamn├ę.

Udr┼żiavanie stavu v ZK Rollups je podstatne menej zlo┼żit├ę ako v blockchaine Ethereum, predov┼íetk├Żm preto, ┼że na┼ł zvy─Źajne dohliada centralizovan├Ż subjekt, zn├ímy ako sekvencer. V d├┤sledku toho m├┤┼że zostatky na pou┼ż├şvate─żsk├Żch ├║─Źtoch spravova┼ą jedin├Ż server.

Pou┼ż├şvatelia, ktor├ş chc├║ vyu┼ż├şva┼ą ZK Rollups, musia zablokova┼ą tokeny, ktor├ę boli vy┼ąa┼żen├ę na Ethereum. Dosiahnu to vyu┼żit├şm inteligentn├ęho kontraktu Ethereum, ktor├Ż uzamkne tokeny a vygeneruje ekvivalentn├ę mno┼żstvo v druhej vrstve.

V druhej vrstve m├┤┼żu pou┼ż├şvatelia zad├íva┼ą transakcie. Tieto transakcie menia zostatky na ├║─Źtoch pou┼ż├şvate─żov v druhej vrstve. Je v┼íak d├┤le┼żit├ę poznamena┼ą, ┼że v┼íetky zmeny stavu, ku ktor├Żm doch├ídza vo vrstve 2, nemaj├║ v danom okamihu vplyv na glob├ílny stav Etherea.

Glob├ílny stav v r├ímci siete Ethereum sa men├ş nez├ívisle od stavu vrstvy 2.

Ak by pou┼ż├şvatelia chceli opusti┼ą vrstvu 2 a odomkn├║┼ą tokeny zabezpe─Źen├ę v inteligentnom kontrakte Ethereum, musia iniciova┼ą v├Żber zo ZK Rollup. V├Żsledkom tejto akcie je sp├ílenie ich tokenov vo vrstve 2 a odomknutie ekvivalentn├ęho mno┼żstva tokenov vo vrstve 1. Po─Źas tohto procesu sa riadne premietnu v┼íetky zmeny vo vlastn├şctve tokenov, ku ktor├Żm do┼ílo vo vrstve 2.

Na stiahnutie tokenov zo ZK Rollup je potrebn├ę predlo┼żi┼ą ZK Proof.

Ke─Ć chce pou┼ż├şvate─ż previes┼ą svoje tokeny zo ZK Rollup sp├Ą┼ą do Etherea, iniciuje ┼żiados┼ą o v├Żber. V tejto ┼żiadosti uvedie mno┼żstvo tokenov, ktor├ę m├í v ├║mysle vybra┼ą, a adresu Etherea, na ktor├║ sa maj├║ tokeny posla┼ą.

N├ísledne syst├ęm ZK Rollup vygeneruje d├┤kaz Zero-Knowledge (ZK), ktor├Ż t├║to ┼żiados┼ą o v├Żber potvrd├ş.

Tento d├┤kaz v podstate potvrdzuje, ┼że ÔÇťpou┼ż├şvate─ż skuto─Źne vlastn├ş tieto tokeny na 2. vrstve a neboli minut├ęÔÇŁ.

Tento d├┤kaz ZK sa potom predlo┼ż├ş inteligentnej zmluve na Ethereum. Ak inteligentn├í zmluva over├ş d├┤kaz ako platn├Ż, po┼żadovan├ę mno┼żstvo tokenov sa odomkne z inteligentnej zmluvy a prevedie sa na adresu pou┼ż├şvate─ża na Ethereum.

Ak to zhrnieme:

Ethereum uzamkne tokeny pou┼ż├şvate─żov v d├┤sledku transakcie vkladu, ─Źo s├║─Źasne ovplyvn├ş glob├ílny stav Etherea aj stav ZK Rollup. Pou┼ż├şvatelia m├┤┼żu vyu┼ż├şva┼ą tokeny len v druhej vrstve. Transakcie uskuto─Źnen├ę v ZK Rollup ovplyv┼łuj├║ predov┼íetk├Żm stav vrstvy 2. ─Äalej si uk├í┼żeme, ako zmeny stavu v ZK Rollup ovplyv┼łuj├║ aj stav vrstvy 1. Ak chc├║ pou┼ż├şvatelia previes┼ą tokeny z vrstvy 2 sp├Ą┼ą do Etherea, musia zada┼ą transakciu v├Żberu, ktor├í odomkne tokeny vo vrstve 1. T├íto akcia op├Ą┼ą men├ş stavy vrstvy 1 aj vrstvy 2.

Hoci s├║ zostatky v Ethereum a ZK Rollup prepojen├ę, nie s├║ v┼żdy rovnocenn├ę a funguj├║ do istej miery nez├ívisle.

Ako funguje ZK Rollup?

Vo vrstve 2 si ka┼żd├Ż pou┼ż├şvate─ż vedie ├║─Źet so zostatkom. Pou┼ż├şvatelia zad├ívaj├║ transakcie, ktor├ę m├┤┼żu zah┼Ľ┼ła┼ą prevody hodnoty medzi ├║─Źtami. Tieto transakcie s├║ zhroma┼ż─Ćovan├ę a sekvencovan├ę centralizovan├Żm subjektom zn├ímym ako sekvenc├ęr.

Sekvenc├ęr vytvor├ş nov├║ d├ívku transakci├ş, ktor├í predstavuje skupinu jednotliv├Żch transakci├ş, ktor├ę boli spracovan├ę mimo re┼ąazca.

Pou┼ż├şvate─żsk├ę transakcie nie s├║ zahrnut├ę do kore┼łov├ęho s├║boru nov├ęho stavu ani do d├┤kazu ZK. Namiesto toho sa ukladaj├║ samostatne vo vrstve dostupnosti ├║dajov, ktor├í je ├║lo┼żiskom mimo re┼ąazca. Tieto ├║daje s├║ k─ż├║─Źov├ę pre rekon┼ítrukciu stavu Rollup a ich ulo┼żenie mimo re┼ąazca zvy┼íuje ┼ík├ílovate─żnos┼ą.

Na z├íklade d├ívky sekven├ítor vypo─Ź├şta nov├Ż glob├ílny stav, zn├ímy aj ako kore┼ł stavu, a d├┤kaz ZK.

V kontexte ZK kryptografie vrstva 1 vystupuje ako overovate─ż a vrstva 2 ako preukazovate─ż.

Sekvencer pravidelne odosiela nov├║ transakciu do Etherea. Ka┼żd├í transakcia obsahuje d├┤kaz ZK a nov├Ż kore┼ł stavu (glob├ílny stav).

Kore┼ł stavu je kryptografick├Ż z├ív├Ązok nov├ęho stavu ZK Rollup po spracovan├ş d├ívky transakci├ş. Znamen├í ─Źist├Ż ├║─Źinok v┼íetk├Żch transakci├ş v d├ívke.

ZK d├┤kaz je kryptografick├Ż d├┤kaz, ktor├Ż potvrdzuje platnos┼ą prechodu stavu reprezentovan├ęho d├ívkou. Overuje, ┼że d├ívka transakci├ş bola spracovan├í spr├ívne a jej v├Żsledkom je nov├Ż glob├ílny stav.

D├┤kaz ZK aj nov├Ż glob├ílny stav z├ívisia od d├ívky transakci├ş a s├║ od nej kryptograficky odvoden├ę. Pon├║kaj├║ bezpe─Źn├Ż a efekt├şvny sp├┤sob reprezent├ície d├ívky transakci├ş v hlavnom re┼ąazci bez potreby spracov├íva┼ą ka┼żd├║ transakciu v re┼ąazci.

Inteligentn├Ż kontrakt (verifik├ítor) Ethereum nevy┼żaduje na overenie d├ívku transakci├ş. Potrebuje len d├┤kaz ZK a kore┼ł nov├ęho stavu. Ethereum potrebuje len potvrdi┼ą, ┼że d├ívka ako celok je platn├í (─Źo potvrdzuje d├┤kaz ZK) a pochopi┼ą ─Źist├Ż vplyv na zostatok ka┼żd├ęho ├║─Źtu.

Na obr├ízku m├┤┼żete vidie┼ą transakcie pou┼ż├şvate─żov ├║plne hore. Sekven├ítor (d├┤kaz ZK Rollup) vezme posledn├ę transakcie pou┼ż├şvate─żov, zorad├ş ich a vytvor├ş d├ívku transakci├ş. Z d├ívky vygeneruje ZK Proof a nov├Ż glob├ílny stav (state root) (─Źerven├ę ┼í├şpky predstavuj├║ kryptografick├║ z├ívislos┼ą od d├ívky) a odo┼íle ho Ethereu na overenie v transakcii. Ethereum (overovate─ż ZK) potvrd├ş a ulo┼ż├ş transakciu do blockchainu, ─Ź├şm zmen├ş jeho glob├ílny stav.

Ethereum uchov├íva ZK Proof a nov├Ż glob├ílny stav odoslan├Ż sekvencerom, ─Ź├şm zabezpe─Źuje integritu ZK Rollup.

Virtu├ílny stroj Ethereum (EVM) m├┤┼że pracova┼ą v r├ímci ZK Rollup. To znamen├í, ┼że v├Żvoj├íri m├┤┼żu p├şsa┼ą inteligentn├ę kontrakty rovnak├Żm sp├┤sobom, ako by to robili pre hlavn├║ sie┼ą Ethereum. T├íto kompatibilita s EVM u─żah─Źuje prenos decentralizovanej aplik├ície (DApp) z Etherea do ZK Rollup.

T├Żm sa v podstate presunie vykon├ívanie inteligentn├Żch kontraktov DApp z Etherea na ZK Rollup. Inteligentn├ę kontrakty s├şce na─Ćalej dodr┼żiavaj├║ pravidl├í EVM, ale ich vykon├ívanie sa st├íva ┼ík├ílovate─żnej┼í├şm a efekt├şvnej┼í├şm, preto┼że prebieha na vrstve 2.

Jednoduchos┼ą migr├ície inteligentn├Żch kontraktov na rie┼íenia na 2. vrstve je jedn├Żm z d├┤vodov, pre─Źo ZK Rollup (a in├ę rie┼íenia na 2. vrstve) prij├şmaj├║ model zalo┼żen├Ż na ├║─Źtoch podobn├Ż modelu, ktor├Ż pou┼ż├şva Ethereum.

V├Żhody determinizmu Cardano

Komunita Etherea akt├şvne sk├║ma r├┤zne met├│dy na zv├Ż┼íenie ┼ík├ílovate─żnosti a efekt├şvnosti, pri─Źom technol├│gia Zero-Knowledge je jedn├Żm zo s─żubn├Żch sk├║man├Żch rie┼íen├ş. Zavedenie sekvencerov v ZK Rollups je k─ż├║─Źov├Żm mechanizmom na riadenie a zora─Ćovanie transakci├ş v sieti 2. vrstvy.

Sekvenc├ęry sl├║┼żia ako rie┼íenie ot├ízky usporiadania a determinizmu transakci├ş, pri─Źom zohr├ívaj├║ k─ż├║─Źov├║ ├║lohu vo fungovan├ş ZK Rollups. Pou┼ż├şvanie sekvencerov v┼íak zav├ídza ur─Źit├║ ├║rove┼ł centraliz├ície, ─Źo vyvol├íva obavy v kontexte princ├şpu decentraliz├ície blockchainu. Sekvenc├ęr ako jedin├Ż subjekt s pr├ívomocou prikazova┼ą transakcie by sa potenci├ílne mohol sta┼ą miestom zlyhania alebo manipul├ície.

Overovanie transakci├ş v syst├ęme Cardano je deterministick├ę, ─Źo umo┼ż┼łuje vytv├íra┼ą transakcie, ktor├Żch v├Żsledok je zn├ímy a predv├şdate─żn├Ż v ─Źase vytv├írania transakcie. Je to mo┼żn├ę, preto┼że valid├ícia transakci├ş v syst├ęme Cardano sa spolieha v├Żlu─Źne na vstupy a v├Żstupy transakcie, a nie na ak├Żko─żvek glob├ílny stav.

V kontexte d├┤kazov ZK je t├íto deterministick├í povaha v├Żhodn├í. Pri vytv├íran├ş d├┤kazu ZK v podstate dokazujete, ┼że pozn├íte tajn├Ż vstup, ktor├Ż po podroben├ş ur─Źit├ęmu v├Żpo─Źtu vedie k zn├ímemu v├Żstupu. Ke─Ć┼że v├Żpo─Źet je deterministick├Ż, m├┤┼żete pri zostavovan├ş ZK d├┤kazu predv├şda┼ą v├Żstup.

Vzh─żadom na to, ┼że pri kon┼ítrukcii transakcie s├║ zn├íme v┼íetky znalosti o vynalo┼żen├Żch UTxO, vyroben├Żch UTxO a spusten├Żch valid├ítoroch (inteligentn├Żch kontraktoch), je mo┼żn├ę vytvori┼ą ZK d├┤kaz na preuk├ízanie, ┼że valid├ítor (zak├│dovan├Ż ako aritmetick├Ż obvod) sa vykonal ├║spe┼íne.

D├┤kaz ZK svedka je mo┼żn├ę skon┼ítruova┼ą mimo re┼ąazca ako v├Żsledok zlo┼żitej┼í├şch v├Żpo─Źtov. Valid├ítor v re┼ąazci obsahuje aritmetick├Ż obvod, ktor├Ż overuje spr├ívnos┼ą ak├ęhoko─żvek poskytnut├ęho svedka ZK d├┤kazu.

Preto sa potreba sekvencera m├┤┼że zn├ş┼żi┼ą alebo dokonca potenci├ílne odstr├íni┼ą. V├Żpo─Źty mimo re┼ąazca by sa potenci├ílne mohli vykon├íva┼ą bez sekvencera vzh─żadom na determinizmus transakci├ş. V Cardano ZK Rollup mus├ş ka┼żd├í transakcia vedie┼ą len o svojich ┼ípecifick├Żch vstupoch a v├Żstupoch a nemus├ş komunikova┼ą s glob├ílnym stavom. In├Żmi slovami, v├Żhody modelu UTxO v L1 mo┼żno prenies┼ą do L2.

V Ethereu rie┼íenia ┼ík├ílovania ZK d├┤kazov vyu┼ż├şvaj├║ sekvenc├ęry na sekvencovanie d├ívok transakci├ş deterministick├Żm sp├┤sobom, aby bolo mo┼żn├ę pozna┼ą stav na vytvorenie po┼żadovan├ęho d├┤kazu (ZK Proof witness).

Pri kon┼ítrukcii transakci├ş Ethereum nie je k dispoz├şcii dokonal├í znalos┼ą pr├şslu┼ín├ęho stavu. To sp├┤sobuje, ┼że bez d├┤veryhodn├Żch sekvencerov (oper├ítorov) je prakticky nemo┼żn├ę d├┤kaz v├┤bec skon┼ítruova┼ą, preto┼że stav kontraktu nie je v ─Źase spracovania transakcie zn├ímy.

V Cardane v┼íak nie je potrebn├ę vedie┼ą, kde sa transakcia v bloku objav├ş, preto┼że to, kde sa v bloku objav├ş, nem├í vplyv na stav inteligentn├ęho kontraktu. V ka┼żdom bloku m├┤┼że do stavu - UTxOÔÇÖs Datum - zasahova┼ą len jedna transakcia.

T├íto deterministick├í povaha Cardana umo┼ż┼łuje vytv├íra┼ą d├┤kazy ZK bez potreby sekvencera. Dokonca je teoreticky mo┼żn├ę zaob├şs┼ą sa bez externej vrstvy dostupnosti d├ít.

V sieti L2 mus├ş existova┼ą entita (ZK Prover), ktor├í bude kon┼ítruova┼ą transakcie pre L1. Stav L2 nebude glob├ílny stav ako v Ethereu, ale stav v┼íetk├Żch nez├ívisl├Żch transakci├ş.

V ZK Rollup m├┤┼żu UTxO fungova┼ą nez├ívisle od seba, podobne ako vo vrstve 1. To umo┼ż┼łuje vysok├║ ├║rove┼ł paralelizmu a nez├ívislosti medzi transakciami.

Aj v pr├şpade absencie sekvencera a d├ívkovania transakci├ş je pravdepodobne potrebn├ę nejak├Żm sp├┤sobom pren├í┼ía┼ą stav vrstvy 2 do vrstvy 1, aby sa zabezpe─Źila integrita a konzistentnos┼ą syst├ęmu. Hoci Cardano nevy┼żaduje sekvencer na dosiahnutie determinizmu, L2 sa st├íle spolieha na L1 z h─żadiska bezpe─Źnosti.

ZK Rollupy, ktor├ę vyu┼ż├şvaj├║ model UTxO, m├┤┼żu by┼ą na rozdiel od t├Żch v ekosyst├ęme Ethereum ─żah┼íie decentralizovan├ę. Deterministick├í povaha a model UTxO otv├íraj├║ cestu nov├Żm mo┼żnostiam implement├ície. M├┤┼że by┼ą podstatne jednoduch┼íie vyvin├║┼ą implement├íciu ZK Rollup, ktor├í je efekt├şvnej┼íia a decentralizovanej┼íia, ne┼ż ak├║ mo┼żno dosiahnu┼ą s modelom zalo┼żen├Żm na ├║─Źtoch.

Uvid├şme, ─Źi sa niektor├ęmu t├şmu podar├ş vytvori┼ą ZK Rollup, ktor├Ż funguje bez sekvencera a udr┼żiava integritu syst├ęmu pomocou skriptov valid├ítora a d├┤kazov ZK.

Záver

Model UTxO spolo─Źnosti Cardano predstavuje nieko─żko v├Żhod vr├ítane deterministick├Żch transakci├ş, siln├ęho potenci├ílu na vyu┼żitie pre d├┤kazy ZK, odstr├ínenia potreby sekvencerov a teoretickej mo┼żnosti kon┼ítrukcie ZK Rollupov bez vrstvy dostupnosti ├║dajov. Tieto v├Żhody z neho robia v├Żhodnej┼íiu vo─żbu pre ZK Rollups v porovnan├ş s modelom Ethereum zalo┼żen├Żm na ├║─Źtoch. Nadch├ídzaj├║ci Changov hard fork zavedie ZK kryptografiu do Cardana, ─Źo bude znamena┼ą za─Źiatok novej kapitoly pre cel├Ż ekosyst├ęm.


P├┤vodn├Ż ─Źl├ínok: https://cexplorer.io/article/advantages-of-determinism-for-zk-rollups-on-cardano