İllər ərzində tətbiq zəncirinin nəzəriyyəsi müxtəlif yollarla reallaşdı. Zamanla, modullaşma tələbi artdı, çünki blokçeyn inkişafçıları dApp-ın işlədilməsi ilə bağlı bəzi işləri outsource etməklə platformalarını daha səmərəli genişləndirmək mümkün olduğunu anladılar.

İlk olaraq suveren zəncləri üçün saxlanılır, adətən Interchain Stack ilə qurulur, tətbiq zəncirlərinin evrimi indi Cosmos Hub-dan təhlükəsizlik icarəsi edən istehlakçı zənirlərini və bəzi hesablaşma və körpü işlərinin icrasını həyata keçirmək üçün 1-ci səviyyə zənclərinə bağlı olan toplama işlərini əhatə edir. Bu dəyişikliklər müxtəlif təhlükəsizlik fərziyyələri və həll edilməli olan məsələlər gətirdi. Celestia, məlumatın əlçatanlığı adlanan xüsusi bir problemi həll etməyə çalışır, amma bu problemin sizin layihənizlə necə əlaqəli olduğunu izah etmədən əvvəl, gəlin Web3-dəki ən son populyar terminlərdən biri olan: modullaşma ilə tanış olaq.

Tək bir 1-ci səviyyə zəncirinin gördüyü iş—həm Ethereum, həm də suveren #Cosmos zəncirlər—təxminən 4 qatda bölünə bilər:

  • İcra qatı əməliyyatları emal edir və zəncirin vəziyyətini yeniləməyə cavabdehdir. Məsələn: dostunuz sizə token göndərəndə cüzdan balansınız yenilənir.

  • Hesablama körpüsü qatı əməliyyatları tamamlayır; daha doğrusu, heç bir şübhə olmadan əməliyyatın etibarlı olduğunu təsdiqləyir. Bu, xüsusən rollup-lar üçün uyğundur; biz bunu bir az sonra izah edəcəyik. Ən son zamanlarda hesablaşma qatı daha çox körpüləşdirici qatı kimi düşünülür: Rollup-lara daha geniş blokçeyn şəbəkəsi ilə ünsiyyət qurma imkanı verir, hesablaşmanın özü isə daha mübahisəli mövzuya çevrilib. Cosmos tətbiq zəncirləri kimi adi şəbəkələrdə hesablaşma pulsuzdur, çünki konsensus qatı hər bir əməliyyat icra qatına çatmazdan əvvəl onu effektiv şəkildə yoxlayır.

  • Konsensus qatı bir çox tərəfin blokun içində nə olduğunu və əməliyyatların sıralanma qaydasını eyni şəkildə qəbul etdiyi hissədir.

  • Məlumat mövcudluğu qatı şəbəkəyə təqdim edilmiş düzgün əməliyyatlara hər kəsin çıxışının olmasını təmin etməkdən məsuldur. Biz bir az sonra izah edəcəyik ki, hesablaşma qatı icra qatının dürüst olub-olmadığını yoxlamaq üçün bu əməliyyatlara çıxış tələb edir.

Cosmos SDK əsaslı bir zəncirin kontekstində (öz doğrulayıcı dəsti olan və suveren tətbiq zənciri kimi işləyən) konsensus qatı əsasən məlumat mövcudluğunu və əməliyyatların yekun hesablaşmasını təmin edir. Amma suveren zənciri işə salmaq üçün doğrulayıcılar dəsti və Proof-of-Stake tokeni tələb olunur; Interchain Security kimi paylaşılan təhlükəsizlik həllini seçməsəniz. Token ilə zənciri işə salmağın hüquqi və əməliyyat mürəkkəbliklərindən əlavə genişlənmə ilə bağlı məsələləri də nəzərə almaq lazımdır.

Rollup-larla effektiv genişlənmə

Şəbəkə inkişaf etdikcə genişlənmə (scalability) üçleməsi daha aydın görünür. Bir baxışdan blokçeynin şəbəkənin təhlükəsizliyi, mərkəzsizləşmə dərəcəsi və ya saniyədə emal etdiyi əməliyyatların sayı arasında qurban verməli olduğu kimi görünür. Ümumi zəncir üçün birini yaxşılaşdırmaq adətən digərini zərərə vermə hesabına olur. Ancaq modul protokolların gördüyü işlər sayəsində bu üçlemənin komponentlərinin hər bir modul stack qatına aid olduğunu görə bilərik.

Məsələn: əməliyyatları qəbul edib onları vəziyyət dəyişikliyinə çevirməli olan icra qatı sürətli throughput tələb edir. Həqiqətən düzgün əməliyyatların icra edildiyini təmin və yoxlamaq üçün kifayət qədər mərkəzsiz və təhlükəsiz hesablaşma, konsensus və məlumat mövcudluğu qatları varsa, onun mərkəzsizliyi və təhlükəsizliyi haqqında deyilənlər, demək olar ki, əhəmiyyətsizdir. İcra qatında müəyyən dərəcəli mərkəzsizləşmə şəbəkənin aktivliyinə kömək edə bilər, amma hər hansı növ uyğunsuz davranışın qarşısını almaqda əsas rol oynamır. Başqa sözlə, şəbəkə ilə bağlı etibar fərziyyələrini dəyişmir.

Modul blokçeyn stack-lərindən istifadə etməklə tərtibatçılar blokçeyn işlətmək üçün lazım olan böyük həcmdə işi kənara həvalə edə bilirlər. Tətbiq tərtibatçıları tam məsuliyyət daşıyan icra qatıdır; bu, genişlənməni artırır və inkişaf vaxtını əhəmiyyətli dərəcədə qısaldır. Rollup-ın indi bu qədər effektiv və populyar olmasının əsas səbəbi məhz budur. Rollup adətən 2-ci səviyyə kimi tanınır və bir və ya bir neçə serverin tranzaksiyaları onçeyn (off-chain) icra etməsinə imkan verir; blok məzmununun yavaş konsensus alqoritmi ilə razılaşdırılmasını gözləmədən. Bu, qeyri-təhlükəsiz kimi görünə bilər, amma onlar bunu “sıfır bilik” (ZK) rollup-larında bahalı hesablama xərcləri ilə effektivlik sübutları təqdim etməklə, ciddi risk yaratmadan edə bilərlər, ya da optimistik rollup-larda olduğu kimi, bir zaman pəncərəsi dizayn edərək node operatorların kimsə qaydaları pozursa onu sübut kimi xəta sübutu təqdim etməsinə şərait yarada bilərlər. Lakin bu çərçivədə yeni bir problem ortaya çıxır: məlumat mövcudluğu problemi.

Məlumat mövcudluğu (data availability) problemi nədir?

İstifadəçi rollup-a əməliyyat göndərəndə mesaj birbaşa sekvensora çatdırılır; adətən sekvensor sadəcə zəncirdənkənar (off-chain) proseslər vasitəsilə bu əməliyyatları toplu şəkildə birləşdirən çox sürətli bir kompüterdir. Daha kiçik ölçüyə sıxıldıqdan sonra bu partiya Ethereum kimi hesablaşma qatına təqdim edilir. Bu şəbəkələrdə blok məkanı üçün tələbat yüksək olduğuna görə, hər bir əməliyyatı birbaşa hesablaşma qatına göndərməkdən daha ucuzdur. Hazırda rollup-ların çoxu tək bir sekvensordan istifadə edir (yəni icra sıralamasını həyata keçirən bir subyekt); baxmayaraq ki, paylaşılan sekvensorlar da araşdırılır. Bu adətən təhlükəsizdir, çünki istifadəçilər effektivlik sübutları ilə icranın doğru olduğunu təmin edə bilər və ya hesablaşma qatında yoxlanıla bilən xəta sübutu təqdim oluna bilər. Amma rollup sekvensorun göndərilən əməliyyatları həqiqətən düzgün başa düşüb-düşmədiyini və hər kəsə eyni məlumatı göndərib-göndərmədiyini zəmanət verə bilməz.

Məhz məlumat mövcudluğu probleminin mahiyyəti budur. Hesablama qatı və ya istənilən müşahidə şəbəkəsinin tam node-larının işi rollup-un gördüyü işin düzgünlüyünü yoxlamaqdır və bunu etmək üçün əməliyyat məlumatlarına ehtiyac var. Varsayılan olaraq rollup sekvensorun bütün daxil olan əməliyyatları bir blokda emal etdiyini—ya da həmin bloka əlavə edilən bütün əməliyyatların ictimai mühitdə olduğunu—asan və ucuz şəkildə sübut edə bilmir. Buna görə sekvensor istifadəçi tərəfindən təqdim edilən əməliyyat məlumatlarını yoxlaya bilər (auditə mane ola bilər) və ya daha da pisi, onun hesablaşma qatı tərəfindən yoxlanılmasının qarşısını ala bilər.

Texniki baxımdan bu tip yoxlama normal blokçeyndə də baş verə bilər, amma Proof-of-Stake şəbəkəsində çox sayda doğrulayıcı var və onların yalnız biri dürüst olmalıdır; buna görə praktikada bunun mümkün olmaması kimi qiymətləndirilir. Üstəlik, hesablaşma qatı doğrulama üçün məlumat tələb etmir—çünki əməliyyatlar artıq konsensus prosesi ilə hesablaşılıb.

#Celestia bu problem necə həll olunur?

#Celestia Cosmos SDK ilə qurulmuş 1-ci səviyyə blokçeyndır; rollup xidmət kimi məlumat mövcudluğu (data availability) təqdim edir. Ən yayğın halda, Celestia şəbəkəsi bütün daxil olan istifadəçi əməliyyatlarını sekvensordan qəbul edir; bununla belə, həmin əməliyyatların rollup icrasına girməzdən əvvəl ilk qəbul edən tərəf də ola bilər—bu, rollup konfiqurasiyasından asılıdır. Bunu əməliyyat (transaction) perspektivindən bir nümunə ilə izah edək. Biz Cosmos SDK əsaslı optimistik rollup kimi qurulmuş, uydurma Roll Protocol adlı bir şəbəkə fərz edək.

  • Fərz edin, siz Keplr-dən istifadə edərək Roll Protocol vasitəsilə dostunuza bir neçə $ROLL token göndərirsiniz. Göndərildikdən sonra, əməliyyat əvvəlcə Roll Protocol-un sekvensoruna ötürülür.

  • Sekvensor, Roll protokolu işlədən zəncirdənkənar (off-chain) proses kimi fəaliyyət göstərən bir kompüterdir; indi o, bütün əməliyyatlara baxır və Roll protokolu üzrə cari vəziyyətə əsasən onları yoxlayır ki, həqiqətən etibarlıdırmı. Siz göndərdiyiniz mesaj üçün o, bunun etibarlı qəbul ünvanını ehtiva edib-etmədiyini, dostunuza göndərmək üçün kifayət qədər $ROLL tokeniniz olub-olmadığını və s. yoxlayır.

  • Sonra, səmərəli (etibarlı) əməliyyatlar bir blokda toplanır və sekvensor tərəfindən icra edilir; bu isə onun saxlanmasına dəyişiklik deməkdir. Siz və dostunuzun cüzdan balansları mübadilə olunan tokenləri əks etdirmək üçün yenilənəcək.

  • Sonra, əməliyyatları ehtiva edən bu blok sekvensor tərəfindən Celestia-ya paylaşıdır və “Roll Protocol” adlı məkanda yerləşdirilir; bu, əslində yalnız bir etiketdir və məlumatı asanlıqla ayırmağa kömək edir. Daha sonra Celestia şəbəkəsindəki doğrulayıcılar blokun məzmunu barədə konsensusa gəlir, şəbəkədə yekunlaşdırır və onu bütün node-lara paylayırlar.

  • Eyni zamanda, blokun bir hissəsi olan bütün uğurlu əməliyyatlar sekvensor tərəfindən paketə çevrilir və hesablaşma qatına göndərilir; hesablaşma qatı adətən sadəcə Ethereum kimi 1-ci səviyyə zəncirindəki ağıllı müqavilələrdir. Hesablama qatı blokçeynə bənzəyir: kiminsə müəyyən bir əməliyyatın etibarsız olduğunu (məsələn, siz həqiqətən dostunuza bəzi tokenlər göndərməmisiniz) aşkar edərsə, həmin blokçeyinə xəta sübutu göndərilir. Bəs bu işi görən kimdir?

Tək-tək dApp (məsələn, DEX) tərəfindən işlədilən digər tam node-lar da sekvensor əməliyyatları icra etdiyi anda onları işləyir. Bu, onlara ən yeni vəziyyəti görməyə və sizə balans yeniləmələri təqdim etməyə imkan verir. Daha da önəmlisi, onlar əməliyyatın etibarsız olub-olmadığını əvvəlcədən yoxlaya bilərlər. Əgər belədirsə, xəta sübutu hesablaşma qatına təqdim edilir.

  • Yəqin xatırlayırsınız: optimistik rollup-larda əməliyyatın hesablaşmadan əvvəl bir zaman pəncərəsi olur. Siz əməliyyatları əvvəlcədən yoxlayan operator tam node-ları işlədən tərənə etibar etdiyiniz müddətdə, bu cür yoxlama istifadəçilərə optimistik pəncərə bağlanmadan əvvəl əməliyyatları “yekun” kimi qəbul etməyə kömək edir. Bu sistemi “etibarı minimuma endirmə” adlandırırıq, çünki siz şəbəkənin çox sayda səmimi node-dan ən azı bir node-nun olması faktına həqiqətən etibar etməlisiniz—bu sayədə optimistik zaman pəncərəsini atlaya bilərsiniz.

  • Sekvensorun düzgün davranmamasını yoxlamaq üçün tam node-lar və hesablaşma qatı Celestia-ya yayımlanmış bəzi məlumatlara çıxış əldə etməlidir; çünki sekvensor etibarsız əməliyyatları icra etmiş ola bilər. Xoşbəxtlikdən, Celestia şəbəkəsi həmin partiyaya əvvəl daxil edilmiş bütün Roll Protocol daxilolma əməliyyatlarını ehtiva edən bir blok yayımlayıb. Bu səbəbdən bizə lazım olduğu vaxt sekvensorun dürüstlüyünü sübut etmək üçün tələb olunan məlumatların bizdə olduğuna əminik.

Diqqətçəkən bir məqam budur ki, Celestia hər bir əməliyyatın daxilində nə olduğunu vecinə almır. Əslində, onu başa düşmür də—çünki Celestia-da həmin əməliyyatları eyni dildə icra edən icra mühiti yoxdur. Bu modul stack sayəsində bu problemlər bir-birindən ayrılır: sekvensor sürətli icraya fokuslana bilər, hesablaşma qatı təhlükəsizliyə və körpüləşdirmə funksiyasına fokuslanır, konsensus və məlumat mövcudluğu qatları isə mərkəzsizliyə fokuslanır. Şəbəkəni işlədən hər bir alt komponenti yüksək ixtisaslaşmış etməklə genişlənmə və optimizasiya imkanları xeyli artır.

Nümunəmiz Cosmos SDK əsaslı rollup-lar üzərində qurulsa da, EVM uyğun rollup-ların da istisna olmadığını qeyd edək. Celestia həm də EVM ekosistemi üçün məlumat mövcudluğu qatı kimi işləyə bilər; bu, Ethereum üzərindəki EIP-4844 (Danksharding kimi də tanınır) kimi alternativlərdən çox vaxt daha ucuz ola bilər.

Rollup-ların suveren zəncirlə müqayisəsi

Rollup qurmaq və Celestia şəbəkəsindən istifadə etməyin çox faydası var. Əgər siz artıq zənirlərarası (interchain) inkişaf edirsinizsə, bəyəndiyiniz alət və proqram təminatından istifadə etməyə davam edə bilərsiniz; protokolun throughput-u artır, şəbəkədə doğrulayıcı tələbi azalır və hətta lazım olsa token olmadan da işə başlamaq mümkün ola bilər. Gəlin rollup qurmaqla suveren (sovran) tətbiq zənciri arasında bəzi fərqlərə baxaq:

  • Genişlənmə və səmərəlilik: Suveren Cosmos SDK zənciri ilə müqayisədə, Celestia-ya əsaslanan rollup-lar adətən daha yüksək genişlənmə və səmərəlilik verir. Çünki rollup əməliyyatların çox hissəsinin işlənməsini 2-ci səviyyəyə köçürür; beləliklə daha çox əməliyyatı daha tez emal etmək olur, suveren zəncirsə konsensus alqoritminin məhdudiyyətləri ilə sıxılır. Tətbiqiniz çox sayda əməliyyat tələb edirsə, rollup suveren zəncirdən daha uyğun ola bilər. Bu halda tətbiqinizin hesablaşma qatında token xərcləməsi lazım olacaq ki, seçdiyiniz zəncirə görə bu bahalı ola bilər; baxmayaraq Celestia dərc etməli olduğunuz məlumat həcmini azaldır.

  • Aktivlik və mərkəzləşmə (decentralization): Rollup-lar adətən tək bir sekvensorla işləyir. Effektiv paylaşılmış sekvensor yaratmaq üzərində araşdırmalar gedir, amma bu iş hələ qabaqcıldadır və rollup-ın səmərəliliyini də aşağı sala bilər. Hazırda icra qatının mərkəzsizliyi faktiki olaraq mövcud deyil. Buna görə də, sekvensor offline olarsa rollup-un redundansı və aktivliyi itirmə riski daha yüksəkdir. Redundans mexanizmləri dizayn edilə bilər, amma rollup tərtibatçıları adətən suveren blokçeynlərdə doğrulayıcılar tərəfindən bölüşdürülən bu tip infrastrukturuqlurun mürəkkəbliyini miras alırlar.

  • Təhlükəsizlik: Rollup-lar altdakı hesablaşma qatının təhlükəsizliyindən yararlanır; suveren zəncir isə öz şəbəkəsinin təhlükəsizliyinə zəmanət verməlidir. Əgər suveren Cosmos SDK zəncirindən istifadə etsəniz, şəbəkənizi qorumaq üçün çox sayda və müxtəlif doğrulayıcıya malik olmalı, həmçinin (proof-dan istifadə edirsinizsə) kifayət qədər böyük bazar dəyərinə malik, stake edilə bilən tokenlərə sahib olmalısınız. Rollup ilə isə siz hesablaşma qatının təhlükəsizliyini miras alırsınız; tətbiq zənciri üçün bəzi tələbləri özünüz implement etmək çətin ola bilərsə bu faydalı ola bilər.

  • Mürəkkəblik: Cosmos SDK ilə suveren zəncir yaratmaqla müqayisədə rollup sistemi qurmaq daha mürəkkəb ola bilər. Bunun səbəbi rollup, Celestia və hesablaşma qatı arasında qarşılıqlı əlaqəni idarə etmək lazım olmasıdır. Komandanızda rollup təcrübəsi yoxdursa və ya artan mürəkkəbliyi idarə etmək istəmirsinizsə, suveren zəncir daha yaxşı seçim ola bilər. Ancaq Rollkit çərçivəsindən istifadə inkişaf prosesini daha asan edir və siz rollup-u nisbətən rahat qura bilərsiniz.

  • İnteroperabellik: Cosmos SDK zəncirləri blockchainlərarası rabitə (IBC) protokolundan faydalanır; bu protokol fərqli zəncirlərin bir-biri ilə işləməsinə imkan verir. Rollup-lar da digər zəncirlərlə qarşılıqlı əlaqə qura bilər, amma detalları konkret implementasiyadan asılıdır və daha mürəkkəb ola bilər. Əksər hallarda, rollup-lar hesablaşma qatını körpüləşdirici mərkəz kimi istifadə edir.