Web3.com Ventures’ning original tadqiqot tahlili

0xFishylosopher

Kirish

“zk-Rollups” yilning Web 3 sohasidagi eng mashhur shiorlaridan biri bo‘lgandir. So‘nggi bir necha kun ichida zk-Sync v2.0 “baby alpha” versiyasining asosiy tarmog‘i ishga tushirilgani bu hayajonni cho‘qqiga olib chiqdi [1]. Ammo bu shiorlar ortida “zk-Rollups” aslida nimani anglatadi? zk-Sync’ning bunga qanday aloqasi bor? Ushbu maqolada men zk-Rollups tamoyillari va amaliyotini chuqur o‘rganishga, zk-Sync v2.0 loyihasining asosiy texnik xususiyatlarini tushuntirishga hamda uzoq kutilgan ushbu texnologiyaning kelajakdagi ehtimoliy ta’sirlarini ko‘rib chiqishga harakat qilaman.

zk-Rollup tamoyillari

Nega umuman zk-Rolluplar kerak? Ha, Ethereum ajoyib. Ammo hozirgi holatida tarmoqda miqyos nomutanosibligi mavjud. Tarmoqdagi faollik oshgani sari, ayniqsa faollik birdaniga keskin ko‘tarilsa, gas narxlari ko‘tarilib, haddan tashqari qimmatga tushadi. So‘nggi bir necha yil ichida Ethereum’dan foydalanish va unga qiziqish ortgani sayin, uning hozirgi cheklangan miqyoslanish imkoniyati tarmoqning Axilles tovoniga aylandi.

Bu yerda “rollaplar” ishga tushadi — Ethereum rollaplari mohiyatan Ethereum’ga miqyoslanish imkoniyatini bir necha barobar oshirib beradigan “plagin” bo‘lib, shu tariqa unga xos miqyos nomutanosibligini bartaraf etadi. Bu g‘oya ortidagi mantiq oddiy. Aytaylik, A nuqtadan B nuqtaga olib borishingiz kerak bo‘lgan 5 ta buyum bor. Buning “odatiy” yo‘li — 1-buyumni, keyin 2-buyumni va hokazolarni bittalab olib borish. Ammo bu, shubhasiz, sekin va noqulay. “Rollap” esa mohiyatan 5 ta buyumning barchasini bitta sumkaga joylash demakdir. Shu tariqa 5 marta emas, bir martagina qatnaysiz.

Ammo bunda ikkita muhim jihat bor:

  1. Rollap hamma narsani “sig‘dira” olishiga qanday ishonch hosil qilamiz?

  2. Rollap soxtalashtirilmaganiga qanday ishonch hosil qilamiz?

zk-Rolluplar rollap texnologiyalarining yetakchi turlaridan biri bo‘lib (ikkinchisi — Optimistic Rollups), bu ikki muammoni hal qilish uchun “nol bilimli isbotlar”dan foydalanadi. Muammolarni bartaraf etish uchun zk-Rollup ma’lum miqdordagi tranzaksiyalarni birlashtiradi, hisob-kitoblarni L2’da bajaradi va hisob-kitoblar to‘g‘ri amalga oshirilganini ko‘rsatuvchi holat o‘zgarishlari hamda “haqiqiylik isboti”ni L1’dagi tekshiruvchiga yuboradi. Bu “haqiqiylik isboti” “Nol bilimli isbot” shaklida bo‘ladi — bu birovga nimani bilishingizni aytmasdan, biror narsani bilishingizni bildirishning matematik usulidir.

Nol bilimli isbotning oddiy misoli — kodni avtomatik tekshiruvchi dastur (kompyuter fanlari bo‘yicha uy vazifalari uchun). Bu dastur “tekshiruvchi” bo‘lib, sizga tasodifiy yaratilgan bir nechta test topshiriqlarini beradi. Siz esa barcha topshiriqlardan muvaffaqiyatli o‘tib, kodingiz to‘g‘ri ekanini isbotlashingiz kerak bo‘lgan “isbotlovchi”siz. Shu bilan birga, kodingizni tekshiruvchi dasturga bevosita bermaysiz. Va mana, siz nimani bilishingizni aytmasdan, biror narsani bilishingizni isbotlab, “Nol bilimli isbot”ni amalga oshirdingiz. [2]

Yuqoridagi kodni avtomatik tekshiruvchi dasturda “interaktiv Nol bilimli isbot” ishlatiladi, bunda tekshiruvchi dastur va kod taqdim etuvchi o‘zaro bevosita “muloqot” qiladi. Aksincha, aksariyat zk-Rolluplar interaktiv isbotga qaraganda vaqt va joyni tejaydigan, matematik jihatdan murakkabroq interaktiv bo‘lmagan isbotdan (masalan, zk-SNARK yoki Nol bilimli ixcham interaktiv bo‘lmagan bilim argumenti) foydalanadi. zk-SNARKlarning texnik tafsilotlari ushbu maqola doirasidan tashqarida bo‘lsa-da, test topshiriqlaridan o‘tishga asoslangan tamoyil o‘zgarmaydi.

zk-Rolluplarning eng oliy maqsadi — ishlab chiquvchilarga istalgan Ethereum aqlli shartnomasini o‘zgartirishlarsiz zk-Rollup zanjiriga ko‘chirish imkonini beradigan Nol bilimli Ethereum virtual mashinasini (zk-EVM) yaratishdir. Ammo bu qiyin. Har bir “muammo” turli “test topshiriqlari” to‘plamini talab qilgani uchun, xayolga kelishi mumkin bo‘lgan har qanday test topshirig‘ini yecha oladigan “isbotlash algoritmi”ni ishlab chiqish Nol bilimli isbotlar va zk-Rolluplar uchun texnik to‘siq hisoblanadi.

Vitalik Buterinning o‘zi ta’kidlaganidek:

Umuman olganda, mening shaxsiy fikrimcha, qisqa muddatda umumiy maqsadli EVM hisob-kitoblari uchun Optimistic Rollups, oddiy to‘lovlar, ayirboshlash va muayyan ilovalarga xos boshqa vazifalar uchun esa ZK rollaplar ustun kelishi ehtimol. Ammo o‘rta va uzoq muddatda ZK-SNARK texnologiyasi takomillashgani sari, ZK rollaplar barcha foydalanish holatlarida ustun keladi. [3]

Shu sababli, tarixan zk-Rolluplar faqat ilovalarga xos, “test topshiriqlari” aniq belgilangan va doirasi cheklangan holatlarda qo‘llaniladigan texnologiyalar bo‘lib kelgan. Biroq bir nechta loyiha “tepalikdagi qasr” — EVM bilan mos keluvchi universal zk-Rollup algoritmi — sari tez sur’atlarda rivojlanmoqda. [4]

zk-Sync v2.0

zk-Sync v2.0 hozirda zk-EVM ishlab chiqish bo‘yicha olib borilayotgan ko‘plab loyihalardan biri (boshqalar qatorida StarkNet, Polygon Hermez va Scroll ham bor). Foydalanuvchilardan EVM’dan zk-Sync’ga o‘tish uchun kod bazalarining katta qismini qayta qurishni talab qilgan zk-Sync v1.0’dan farqli o‘laroq, zk-Sync v2.0’da dasturchilar o‘z ilovalarini juda oz o‘zgartirish bilan yoki umuman o‘zgartirmasdan joylashtirishi mumkin — hech bo‘lmaganda zk-Sync shunday deb da’vo qilishi mumkin.

Amalda, barcha zk-EVMlar bir xil emas. Kompozitsiyalanuvchanlik (asl EVM shartnomalariga qanchalik yaqinligi) va unumdorlik (zk-Rolluplar qanchalik tez ishlashi) o‘rtasida aniq murosa bor [6]. zk-Sync bu murosada unumdorlikni to‘liq optimallashtirishni tanladi va shu tariqa kompozitsiyalanuvchanlikdan voz kechdi.

Vitalik Buterinning qarashiga ko‘ra, zk-EVMlarning to‘rtta alohida turi mavjud. Ular quyidagi jadvalda umumlashtirilgan:

Vitalik ta’kidlaganidek, hozirgi holatida zk-Sync v2.0 — Type 4 zk-EVM bo‘lib, u Solidity va yuqori darajali tillarda yozilgan shartnomalarni EVM’dan farqli bo‘lgan o‘z kompilyatori yordamida kompilyatsiya qila oladi. zk-Sync kompilyatorining dizaynini to‘liq nazorat qilgani sababli, tezlik va o‘tkazuvchanlikni jadal optimallashtira oladi. Buning evaziga ayrim markazlashmagan ilovalar (DApp) va EVM uchun mo‘ljallangan debug vositalari zk-Sync v2.0 bilan mos kelmasligi mumkin. Mohiyatan, zk-Sync — Ethereum’ning kuzovi o‘sha-o‘sha, ammo dvigateli almashtirilgan mashinadir [5].

Darhaqiqat, Matter Labs ishlab chiquvchilar uchun hujjatlarida aqlli shartnomalarning “o‘qish” amallarini kodga hech qanday o‘zgartirish kiritmasdan integratsiya qilish mumkinligini, ammo aqlli shartnomalarning “yozish” amallari “L1 va L2 o‘rtasidagi tub farqlar” tufayli “qo‘shimcha kod” talab qilishini ta’kidlaydi [6]. Aslida, bu biroz chalg‘ituvchi fikr. Bunga L1 va L2 o‘rtasidagi “tub farq”dan ko‘ra, Matter Labs tanlagan zk-Rollup turi — Type 4 rollap — ko‘proq sabab bo‘ladi. zk-Sync tubdan boshqa kompilyator va baytkoddan foydalanadigan Type 4 rollap bo‘lgani uchun, aqlli shartnomalarning manzillari boshqacha bo‘ladi va baytkod tahliliga tayanadigan debugger infratuzilmasi zk-Sync v2.0 da ishlamasligi mumkin [7].

Kelajakda zk-Sync EVM baytkodini qo‘llab-quvvatlashni kuchaytirishi mumkin, bu esa tizimga “chekka holatlar”ning kengroq doirasini qo‘llab-quvvatlaydigan Type 3 rollapga asta-sekin o‘tish imkonini beradi. Ammo zk-Sync’ning Type 4 yoki Type 3 zk-Rollupi Polygon Hermez va Scroll Labs’ning Type 2 rollapi bilan raqobatda muvaffaqiyat qozonishi uchun — u tezlik evaziga kengroq moslikni ta’minlaydi — ikkita muhim shart bajarilishi kerak. Birinchidan, zk-Sync’ning maxsus kompilyatoriga mos kelmaydigan loyihalar ahamiyatsiz va juda oz bo‘lishi kerak. Ikkinchidan, zk-Sync’ning bajarilish tezligi Type 2 zk-EVMnikidan sezilarli darajada farq qilishi kerak.

Afsuski, shaxsan men bunday bo‘lishi ehtimoldan yiroq deb hisoblayman. Har qanday ilg‘or ishlab chiqish ekotizimi qulay, modullarga ajratilgan debug va test vositalarini o‘z ichiga olgan yetuk “tayanch” infratuzilmaga tayanadi. Agar Vitalik taxmin qilganidek, baytkoddagi farqlar sababli EVM uchun yaratilgan debug vositalarining katta qismini zk-Sync’ga ko‘chirib bo‘lmasa, zk-Sync o‘zining test va debug vositalari to‘plamini yaratishiga to‘g‘ri keladi. Bu qo‘shimcha yuk bo‘lib, Polygon Hermez va Scroll kabi yanada kompozitsiyalanuvchan Type 2 zk-EVM raqobatchilariga nisbatan zk-Sync’ning L2 yechimi sifatida ommalashish sur’atini oxir-oqibat sekinlashtirishi mumkin.

zk-Rolluplarning kelajagi

zk-EVMlar uchun kurashda ko‘plab kuchli raqiblar bor ekan, to‘liq ishlaydigan zk-EVMni ko‘rishimiz vaqt masalasidek. Ammo keyin nima bo‘ladi? Yo‘lda binolar bo‘lsagina, uning foydasi tegadi; zk-Rollupning uzoq muddatli kuchi esa undan foydalanayotgan loyihalarga bog‘liq.

Hozirda zk-Rollup infratuzilmasidan eng ko‘p foyda ko‘rayotganlar DeFi, GameFi va mobil ilovalardir. DeFi ham, GameFi ham miqyos iqtisodiga asoslanadi, chunki ular ko‘p odam foydalanadigan muhitda rivojlanadi. Mobil hamyonlar kabi mobil ilovalar esa ish stoli kompyuteridan foydalanishga erinadigan (yoki uni sotib olishga qurbi yetmaydigan) keng ommaga yo‘l ochadi. Shu bois bunday holatlarda zk-Rolluplardan foydalanish juda mantiqli.

Ammo zk-Rolluplarning foydasi shu bilan cheklanmaydi. Aksincha, bu endigina boshlanishi. Ethereum uchun zk-Rolluplar qanday ahamiyatga ega bo‘lsa, internet uchun 5G ham shunday. 5G yangi IoT ilovalari va tizimlari dunyosini yuzaga keltirishi mumkin bo‘lganidek, zk-Rolluplar ham “Buyumlar blokcheyni”ga yo‘l ochib, jismoniy dunyomizdagi raqamli qurilmalar — muzlatkichlar, soatlar, svetoforlar va boshqa barcha narsalarni — Ethereum’da himoyalangan aqlli shartnomalarga integratsiya qilish imkonini berishi mumkin.

IoTga qarshi keltiriladigan eng katta e’tirozlardan biri — u yirik texnologiya kompaniyalariga kundalik hayotimizga haddan tashqari aralashish imkonini berishidir. Ammo “Buyumlar blokcheyni” yordamida aqlli maishiy qurilmalarimiz markazlashgan ma’lumotlar bazasida buzib kirish xavfiga duch kelishidan xavotirlanmasdan, IoT qulayliklaridan bahramand bo‘la olamiz. Qulaylik YOKI maxfiylik o‘rniga, qulaylik VA maxfiylikka ega bo‘lishimiz mumkin. zk-Rolluplar bizga va’da qilayotgan dunyo ana shunday.

🐦 @0xfishylosopher

📅 2022-yil 31-oktabr

Bu ma’lumot faqat ta’limiy maqsadga mo‘ljallangan va moliyaviy maslahat sifatida qabul qilinmasligi kerak. Bildirilgan barcha fikrlar muallifga tegishli bo‘lib, Web3.com Ventures tomonidan ma’qullangan bo‘lishi shart emas.

Manbalar

[1] https://blog.matter-labs.io/baby-alpha-has-arrived-5b10798bc623

[2] https://pages.cs.wisc.edu/~mkowalcz/628.pdf manbasidan moslashtirilgan

[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