Web3.com Ventures oriģinālās izpētes analīze
0xFishylosopher

Ievads
“zk-Rollups”, iespējams, ir bijis gada karstākais Web 3 modes vārds. Līdz ar zk-Sync v2.0 “baby alfa” tīkla palaišanu tikai dažu pēdējo dienu laikā šis uztraukums ir sasniedzis savu zenītu [1]. Bet uz ko īsti attiecas “zk-Rollups” aiz visiem šiem modes vārdiem? Un kur zk-Sync stājas spēkā? Šajā rakstā es centīšos dziļi ienirt zk-Rollups principos un praksē, izskaidrošu galvenās zk-Sync v2.0 kā projekta tehniskās iezīmes un izpētīšu šīs ilgi gaidītās tehnoloģijas iespējamās nākotnes sekas.
zk-Rollupu principi
Kāpēc mums vispār ir nepieciešami zk-Rollupi? Protams, Ethereum ir lielisks. Bet tā pašreizējā stāvoklī tīkls būtībā ir mēroga ekonomikas slimība. Pieaugot tīkla aktivitātei, gāzes cenas kļūst proporcijās dārgi, it īpaši, ja ir aktivitātes pieaugums vienlaicīgi. Kā Ethereum gūst popularitāti izmantošanas un vilkmes ziņā pēdējo gadu laikā, tā pašreizējā ierobežotā mērogojamība ir kļuvusi par tīkla Achilleja papēdi.
Šeit nāk “rollupi” - Ethereum rollupi ir būtībā “paplašinājums”, kas sniedz Ethereum papildu mērogojamības grādus un tādējādi novērš tā iekšējo mēroga ekonomikas problēmu. Idejas intuīcija ir vienkārša. Iedomājieties, ka jums ir 5 priekšmeti, kurus jānes no punkta A uz punktu B. “Parastais” veids, kā to darīt, būtu nest 1. priekšmetu, nest 2. priekšmetu utt. viens pēc otra. Bet tas acīmredzami ir lēni un apgrūtinoši. “Rollup” būtībā ir “rullēšana” visus 5 priekšmetus vienā somā, ļaujot jums veikt vienu ceļojumu, nevis 5.
Bet ir divi nosacījumi:
Kā mēs pārliecināmies, ka rollup var “iedarbināt” visu?
Kā mēs pārliecināmies, ka rollup nav viltots?
zk-Rollupi ir viena no vadošajām rollup tehnoloģiju grupām (otra ir Optimistic Rollups), kas izmanto “nulles zināšanu pierādījumus”, lai atrisinātu šīs divas problēmas. Lai risinātu šīs problēmas, zk-Rollup apvienos noteiktu skaitu darījumu, veiks aprēķinus uz L2 un iesniegs gan stāvokļa izmaiņas, gan “derīguma pierādījumu” verifikatoram uz L1, parādot, ka aprēķini tika veikti godīgi. Šis “derīguma pierādījums” notiek “Nulles zināšanu pierādījuma” formā - matemātisks veids, kā pateikt kādam, ka jūs kaut ko zināt, neizpaužot, ko jūs zināt.

Vienkāršs nulles zināšanu pierādījuma piemērs ir koda automātiskā novērtēšana (CS mājasdarbiem). Automātiskā novērtēšana ir “verifikators”, kas jums dod virkni nejauši ģenerētu testu gadījumu, un jūs esat “pierādītājs”, kuram jāspēj iziet visus testu gadījumus, lai pierādītu, ka jums ir pareizais kods. Visi laiki jūs nesniedzat savu kodu automātiskajai novērtēšanai tieši. Un voila, jūs esat veicis “Nulles zināšanu pierādījumu”, pierādot, ka jūs zināt kaut ko, neizpaužot, ko jūs zināt. [2]

Iepriekš minētais koda automātiskās novērtēšanas rīks izmanto “interaktīvu nulles zināšanu pierādījumu”, kur automātiskā novērtēšana un koda sniedzējs tieši “sazinās” viens ar otru. Savukārt lielākā daļa zk-Rollupi izmanto matemātiski sarežģītāku neinteraktīvu pierādījumu (piemēram, zk-SNARK, vai Nulles zināšanu kodolīgs neinteraktīvs pierādījums par zināšanām), kas ietaupa gan laiku, gan vietu salīdzinājumā ar interaktīvu pierādījumu. Lai gan zk-SNARK tehniskie sīkumi ir ārpus šī raksta ietvara, pamatprincipi testu gadījumu iziešanai ir vienādi.
Svētais grāls zk-Rollupi ir Nulles zināšanu Ethereum virtuālā mašīna (zk-EVM), kas ļauj izstrādātājiem pārvietot jebkuru Ethereum viedā līguma bez izmaiņām uz zk-Rollup ķēdi. Bet tas ir grūti. Tā kā katrs “problēma” prasa atšķirīgus “testu gadījumus”, izstrādājot “pierādījuma algoritmu”, kas var atrisināt visus iedomājamus testu gadījumus, ir tehniska sašaurināšanās nulles zināšanas pierādījumos un zk-Rollupos.
Kā pats Vitaliks izsaka:
Vispārīgi sakot, mans viedoklis ir tāds, ka tuvākajā nākotnē optimistiskie rollupi, visticamāk, uzvarēs vispārējā mērķa EVM aprēķināšanai, un ZK rollupi, visticamāk, uzvarēs vienkāršām maksājumu, apmaiņas un citu lietojumprogrammu specifisku lietošanas gadījumu dēļ, bet vidējā un ilgtermiņa ZK rollupi uzvarēs visos lietošanas gadījumos, jo ZK-SNARK tehnoloģija uzlabojas. [3]
Tādējādi, vēsturiski zk-Rollupi ir bijuši tikai nostiprināti tehnoloģijas lietojumprogrammu specifiskos gadījumos, kur “testu gadījumi” ir labi definēti un ierobežoti. Tomēr vairāki projekti ātri virzās uz “pili kalnā” - vispārēju EVM saderīgu zk-Rollup algoritmu. [4]
zk-Sync v2.0
zk-Sync v2.0 ir tikai viens no daudziem projektiem, kas pašlaik attīstās, izstrādājot zk-EVM (citi ietver StarkNet, Polygon Hermez un Scroll). Atšķirībā no zk-Sync v1.0, kur lietotājiem bija jāpārstrādā lielas viņu kodu bāzes daļas, lai pārietu no EVM uz zk-Sync, zk-Sync v2.0 programmētāji var izvietot savas lietojumprogrammas ar mazām vai bez izmaiņām - vai kā zk-Sync varētu vēlēties apgalvot.
Praksē ne visi zk-EVM ir radīti vienādi. Ir ievērojama tirdzniecība starp kompozīciju (cik tuvu tas ir oriģinālajiem EVM līgumiem) un veiktspēju (cik ātri darbosies zk-Rollupi) [6]. Šajā tirdzniecībā zk-Sync izvēlējās pilnībā optimizēt veiktspēju, tādējādi upurējot kompozīciju.
Vitalika Buterina perspektīvā ir četri atšķirīgi zk-EVM veidi, kas apkopoti šajā diagrammā:

Kā Vitaliks norāda, savā pašreizējā stāvoklī zk-Sync v2.0 ir 4. tipa zk-EVM, kas spēj kompilēt līgumus, kas rakstīti Solidity un augstākās līmeņa valodās, izmantojot savu kompilatoru, kas ir atšķirīgs no EVM. Tā kā zk-Sync ir pilnīga kontrole pār sava kompilatora dizainu, viņi var agresīvi optimizēt ātrumu un caurlaidību. Šī cena ir tāda, ka daži DApps un EVM atkļūdošanas rīku komplekti var nebūt saderīgi ar zk-Sync v2.0. Būtībā zk-Sync ir tas pats automašīnas korpuss kā Ethereum, bet ar izņemtu dzinēju [5].
Patiesi, savā izstrādātāja dokumentācijā Matter Labs apgalvo, ka, lai gan viedā līguma “lasīšanas” operācijas var tikt integrētas bez jebkādām izmaiņām kodā, viedā līguma “rakstīšanas” operācijām nepieciešams “papildu kods”, jo pastāv “pamata atšķirības starp L1 un L2” [6]. Patiesībā tas ir nedaudz maldinoši. Tas nav tik daudz saistīts ar “pamata atšķirību” starp L1 un L2, bet vairāk ar to, kāda veida zk-Rollup Matter Labs ir nolēmis sekot - 4. tipa rollup. Tā kā zk-Sync, pamatojoties uz tā būtību, ir 4. tipa rollup, kas izmanto citu kompilatoru un bytecode, tas nozīmē, ka viedajiem līgumiem ir atšķirīgas adreses, un debugger infrastruktūra, kas paļaujas uz bytecode analīzi, var nebūt spējīga darboties uz zk-Sync v2.0 [7].
Nākotnē zk-Sync var pievienot vairāk vietējo atbalstu EVM byte-code, ļaujot sistēmai lēnām pāriet uz 3. tipa rollup, kas atbalsta plašāku šo “malu gadījumu” klāstu. Bet, lai zk-Sync 4. tipa vai 3. tipa zk-Rollup gūtu panākumus salīdzinājumā ar Polygon Hermez un Scroll Labs’ 2. tipa rollup, kas būtībā apmaina ātrumu pret plašāku saderību, ir jābūt diviem svarīgiem priekšnoteikumiem. Pirmkārt, ir tikai niecīga daļa nenozīmīgu projektu, kas nav saderīgi ar zk-Sync pielāgoto kompilatoru. Otrkārt, ir kvalitatīva atšķirība zk-Sync izpildes ātrumā salīdzinājumā ar 2. tipa zk-EVM.
Diemžēl es personīgi uzskatu, ka tas ir maz ticams. Jebkura progresīvā izstrādes ekosistēma paļaujas uz nobriedušu “būvniecības” infrastruktūru, tostarp ērtām, modulārām, atkļūdošanas un testēšanas rīkiem. Ja, kā apgalvo Vitaliks, liela daļa EVM vietējo atkļūdošanas rīku nevarēs pāriet uz zk-Sync dēļ atšķirībām bytecode, tad zk-Sync būs jāizstrādā sava testēšanas un atkļūdošanas rīku komplekts. Tas ir papildu slogs, kas galu galā var kavēt zk-Sync pieņemšanas ātrumu kā L2 risinājumu, salīdzinājumā ar tā vairāk saliekamajiem 2. tipa zk-EVM konkurentiem, piemēram, Polygon Hermez un Scroll.
Nākotne zk-Rollupiem
Ar daudziem konkurējošiem spēlētājiem cīņā par zk-EVM, varētu teikt, ka tas ir tikai laika jautājums, kad mēs redzēsim pilnībā funkcionālu zk-EVM. Bet kas notiks tālāk? Ceļš ir noderīgs tikai tad, ja uz tā ir ēkas; ilgtermiņa spēks zk-Rollup nāk no projektiem, kas izmanto šo risinājumu.
Šobrīd DeFi, GameFi un mobilās lietotnes ir galvenie ieguvēji zk-Rollup infrastruktūrā. Gan DeFi, gan GameFi būtībā ir mēroga ekonomikas, jo tās plaukst vidē, kur ir daudz cilvēku, kas tās izmanto. Mobilās lietotnes, piemēram, mobilie maki, arī atver vārtus masveida patērētājam, kurš ir pārāk slinks (vai nevar atļauties) galddatoru. Tāpēc zk-Rollup izmantošana šādās situācijās ir loģiska.
Bet tas nenozīmē, ka zk-Rollupi ir tikai tā robeža. Ja kas, tas ir tikai sākums. zk-Rollupi ir tādi paši Ethereum kā 5G ir internetam. Tāpat kā 5G var ļaut izveidot jaunu IoT lietojumprogrammu un sistēmu pasauli, zk-Rollupi var arī atvērt vārtus “Lietu blokķēdei”, ļaujot mūsu fiziskā pasaulē esošajiem digitālajiem sīkrīkiem - ledusskapjiem, pulksteņiem, luksoforiem un visam pārējam - tikt integrētiem ar viedajiem līgumiem, kas ir nodrošināti uz Ethereum.
Viens no lielākajiem argumentiem pret IoT ir tas, ka tas ļaus lielajai tehnoloģijai pārkāpt mūsu ikdienas dzīvē. Bet ar “Lietu blokķēdi” mēs varam baudīt IoT priekšrocības, neuztraucoties par to, ka mūsu viedie sīkrīki tiks apdraudēti centralizētā datu bāzē. Vietā, lai izvēlētos ērtības VAI privātumu, mēs varam iegūt ērtības UN privātumu. Tā ir pasaule, ko zk-Rollupi var mums solīt.
🐦 @0xfishylosopher
📅 31. oktobris 2022
Šī informācija ir tīri izglītojoša un to nevajadzētu uzskatīt par finanšu padomu. Visas izteiktās domas ir autora un tās nav obligāti apstiprinātas ar Web3.com Ventures.
Atsauces
[1] https://blog.matter-labs.io/baby-alpha-has-arrived-5b10798bc623
[2] Adaptēts no https://pages.cs.wisc.edu/~mkowalcz/628.pdf
[3] https://vitalik.ca/general/2021/01/05/rollup.html
[4] https://www.coindesk.com/tech/2022/07/20/the-sudden-rise-of-evm-compatible-zk-rollups/
[5] https://cryptobriefing.com/the-race-scale-ethereum-zkevm-rollups/
[6] https://docs.zksync.io/dev/contracts/#porting-smart-contracts
[7] https://vitalik.ca/general/2022/08/04/zkevm.html