IPFS’ning kamchiligi
Markazlashmagan ma’lumotlarni saqlash haqida gap ketganda, IPFS nomi bilan tanilgan Sayyoralararo fayl tizimi — chetlab o‘tib bo‘lmaydigan loyihalardan biri.
Eng e’tiborga molik markazlashmagan saqlash loyihalaridan biri sifatida IPFS Merkle daraxti asosida takomillashtirilgan Merkle DAG (yo‘naltirilgan asiklik graf) ma’lumotlar tuzilmasidan foydalanadi. Ushbu ma’lumotlar tuzilmasi yordamida IPFS fayllar uchun kontent manzillash va bo‘laklarni yuklab olish imkoniyatlarini ta’minlaydi.
Aniqroq aytganda, IPFS har bir faylga faylning barmoq izi kabi o‘ziga xos xesh qiymatini beradi. Har bir ildiz fayl bir nechta tugun fayllariga ishora qiladi. Tugun faylining mazmuni o‘zgarsa, xesh qiymati ham shunga mos ravishda o‘zgaradi va natijada ildiz faylning xeshi ham o‘zgaradi.
Shu tariqa, IPFS fayllarni manzilga asoslangan emas, balki kontentga asoslangan noyob manzillash usuli orqali saqlaydi va topadi. Bu faylni qidirayotganingizda uning qayerda ekanini bilishingiz shart emas, faqat ichida nima borligini bilsangiz kifoya. IPFS har bir fayl uchun noyob xesh yaratadi. Foydalanuvchi faylni qayta olmoqchi bo‘lsa, uni topish uchun IPFS’dan shu xesh kimda borligini so‘rashi kifoya. Xeshlar takroriy saqlashning oldini olgani sababli, bir xil kontentga ega fayllar IPFS’da takror saqlanmaydi. Bu yondashuv saqlash jarayonini optimallashtiradi va tarmoq unumdorligini oshiradi.

Kontentga asoslangan manzillash mexanizmi IPFS’ning katta afzalligi, ammo har qanday narsaning ikki tomoni bo‘lganidek, uning ham kamchiligi bor. IPFS’da fayl saqlangach, uni tizim ichida o‘zgartirib bo‘lmaydi, chunki fayl kontentini o‘zgartirish xeshini ham o‘zgartiradi va foydalanuvchi o‘zgartirilgan faylni dastlabki xesh qiymati orqali topa olmaydi. Bu ko‘p tanqid qilinadigan muammolardan biridir: vaqti-vaqti bilan yangilanishi va o‘zgartirilishi kerak bo‘lgan fayllarni saqlash IPFS’ning kuchli tomoni emas.
IPFS statik fayllarni saqlashda yaxshi ishlasa-da, o‘zgaruvchanlik, versiyalarni boshqarish, kirishni nazorat qilish va dasturlashtiriladigan mantiq kabi ma’lumotlar bazasiga xos ilg‘or imkoniyatlar uchun zarur bo‘lgan hisoblash va holatni boshqarish salohiyatiga ega emas. Bu imkoniyatlar ishlab chiquvchilarga to‘liq funksional markazlashmagan ilovalar yaratish uchun kerak. Shu bois dinamik ma’lumotlarni saqlash uchun samarali va markazlashmagan yechimga shoshilinch ehtiyoj bor. Ceramic bu muammoni ishlab chiquvchilar tuzilmali va o‘zgaruvchan kontentni saqlashi uchun NoSQL’ga o‘xshash ma’lumotlar bazasi orqali hal qiladi.
O‘zgaruvchan kontent uchun yaratilgan
Ceramic’ning saqlash tizimi IPFS’ga asoslangan bo‘lib, uni markazlashmagan dinamik saqlash qatlami bilan kengaytiradi.
Ceramic’da har bir ma’lumot qo‘shib boriladigan commitlar jurnali ko‘rinishida ifodalanadi va “Stream” deb ataladi. Quyidagi rasmda u kulrang kvadratlar majmuasi sifatida ko‘rsatilgan. Stream tushuncha jihatidan Git daraxtlariga o‘xshaydi: boshlang‘ich holat (Genesis Commit) va undan keyingi har bir o‘zgarish (Commit) IPLD’da (InterPlanetary Linked Data — IPFS’ning ma’lumot tuzilmalariga bag‘ishlangan qatlami) saqlanadi va bu yozuvlar birlashtirilib Stream’ni hosil qiladi. Stream’larda yakuniy holatning “suratlari” emas, “o‘zgarishlar” qayd etilgani uchun jurnalning eng so‘nggi holatini olish maqsadida Stream’dagi barcha hodisalarni qayta ishlash kifoya.

Masalan, Ceramic’dagi yozuvlar quyidagicha bo‘ladi: dastlab Alice va Bobning har birida $10 bor; ikkinchi kuni Alice Bobga $5 o‘tkazadi; uchinchi kuni esa Bob Alice’ga $3 o‘tkazadi. Bu blokcheyn reyestriga juda o‘xshaydi: reyestrda har bir foydalanuvchining balansi ko‘rsatilmaydi, yakuniy balansni aniqlash uchun barcha oraliq jarayonlarni hisoblash kerak bo‘ladi.
Taqqoslash uchun, IPFS’dagi an’anaviy yozuvlar quyidagicha: a faylida Alice va Bobning har birida $10 bor; b faylida Alice’da $5, Bobda esa $15 bor; c faylida Alice’da $8, Bobda esa $12 bor. Bu yerda har bir yozuv yakuniy holatning suratidir va o‘zgarish yuz berishi bilan yangi surat yaratilishi kerak.
Ceramic bu dizayn orqali har bir jurnalga global miqyosda yagona nomlash tizimiga ega bo‘lgan noyob Stream ID berilishini va kontent o‘zgargani uchun nom o‘zgarmasligini ta’minlaydi. Har bir yozuv uchun foydalanuvchining ruxsati talab qilinadi. Butun jarayon blokcheyndagi hisob yuritishga o‘xshaydi, ammo yoziladigan narsa tranzaksiya ma’lumotlari emas, balki foydalanuvchi hisobi ma’lumotlari kabi boshqa o‘zgaruvchan kontentdir.
Ma’lumotlarni birgalikda ishlatish
Ceramic ilovalararo ma’lumotlarni birgalikda ishlatish imkoniyatini, asosan, ma’lumotlar modellari deb ataluvchi yangi abstraksiya orqali ta’minlaydi.
Ma’lumotlar modellari odatda foydalanuvchi profili, ijtimoiy graf yoki blog kabi yagona, mantiqiy ilova funksiyasini ifodalaydi. Masalan, markazlashmagan Twitter’ning har qanday talqini bir nechta umumiy ma’lumotlar modelida ishlashini tasavvur qilishingiz mumkin: har bir foydalanuvchining tvitlari uchun bittadan, ijtimoiy grafigi uchun bittadan, shaxsiy xabarlari uchun bittadan va hokazo. Ilovalar bir xil asosiy ma’lumotlar modellaridan foydalansa, ayni ma’lumotlar bilan bevosita o‘zaro ishlay oladi.
Ceramic’ning ma’lumotlar modeli standartlaridan foydalanishini aktivlar reyestridagi token standartlaridan foydalanish bilan qiyoslash mumkin. Masalan, Ethereum’da ERC20 fungible token va ERC721 non-fungible token standartlarining joriy etilishi o‘zaro bevosita ishlaydigan tokenlar va moliyaviy ilovalarning butun ekotizimlarini yuzaga keltirdi. Ceramic shu g‘oyani ma’lumotlarga tatbiq etadi.
Ceramic bu ma’lumotlar modellarini yaratishda hamjamiyatga asoslangan yondashuvni qo‘llaydi va istalgan ishlab chiquvchiga o‘z modellarini ekotizimdagi boshqa ishlab chiquvchilar bilan oson belgilash, ulashish va qayta ishlatish imkonini beradi. Hamjamiyat tobora ko‘proq ma’lumotlar modellarini yaratar ekan, birgalikda ishlatiladigan ma’lumotlar asosida qurilgan ilovalarning soni va xilma-xilligi uzluksiz kengayib boradi.
Shu tarzdagi birgalikda ishlatish ishlab chiquvchilar uchun tajribani ham yaxshilaydi. Ceramic’da ilova yaratish ma’lumotlar modellari bozorini ko‘zdan kechirish, keraklilarini ilovangizga ulash va ushbu modellarda saqlangan tarmoqdagi barcha ma’lumotlardan avtomatik foydalanish imkoniyatiga ega bo‘lishga o‘xshaydi. Ceramic’dan foydalangan holda, ishlab chiquvchilar o‘z ilovalarini alohida foydalanuvchilar va ma’lumotlar bilan noldan to‘ldirish haqida qayg‘urmaydi. Ishlab chiquvchilar o‘rtasida yangiliklar kumulyativ tarzda yaratilishi keskin tezlashadi.
Masshtablanuvchanlik
Ceramic masshtablanuvchanlikka bo‘lingan bajarilish muhiti orqali erishadi. Ceramic’dagi barcha Stream’lar o‘z holatini mustaqil saqlaydi, tarmoq tugunlari esa Stream tranzaksiyalarini parallel bajaradi. Ko‘pchilik blokcheynlardan farqli ravishda, bu yondashuv Ceramic’ga Twitter yoki Facebook kabi ijtimoiy ilovalarning markazlashmagan versiyalari uchun zarur bo‘lgan darajada kengayish imkonini beradi.
Masshtablanuvchanligi yagona global virtual bajarilish muhiti bilan cheklangan va bitta reyestr holati barcha tugunlar o‘rtasida umumiy bo‘lgan an’anaviy blokcheyn tizimlaridan farqli o‘laroq, Ceramic’ning har bir tuguni Stream’lardagi hisob-kitoblarni bajarish va tranzaksiyalarni tekshirish uchun alohida bajarilish muhiti vazifasini o‘taydi — global reyestr mavjud emas. Bajarilishning shu “ichki” bo‘linishi tarmoqdagi tugunlar soni oshgani sari Ceramic Network’ga bir vaqtning o‘zida ko‘payib borayotgan Stream tranzaksiyalarini parallel qayta ishlash uchun gorizontal kengayish imkonini beradi. Bunday dizayn dunyodagi ma’lumotlar ko‘lamini boshqarish uchun zarur, chunki u moliyaviy blokcheyn talab qiladigan o‘tkazuvchanlikdan bir necha daraja yuqori. Bu dizaynning yana bir afzalligi shuki, Ceramic tuguni Stream tranzaksiyalarini avval oflayn rejimda bajarishi, so‘ngra tarmoqqa qayta ulangach yangilanishlarni tarmoqning qolgan qismi bilan sinxronlashi mumkin.
DID yechimi
Ceramic, shuningdek, IDX deb nomlangan moslashuvchan va mustahkam identifikatsiya yechimini — to‘liq funksional ilk markazlashmagan identifikatsiya (DID) yechimini taklif etadi.
IDX — markazlashmagan identifikatsiya va o‘zaro ishlay oladigan foydalanuvchi ma’lumotlariga ega ochiq ilovalar uchun zanjirlararo identifikatsiya protokoli. U foydalanuvchilarga barcha ma’lumotlaridan tarkib topgan yagona raqamli identifikatsiyani yaratish imkonini beradi, ishlab chiquvchilarga esa alohida ma’lumotlar omborlarini birlashtirish va foydalanuvchi ma’lumotlarini ilovalar o‘rtasida erkin ulashish imkonini beradi. Quyidagi rasmda ko‘rsatilganidek, u tuzilmali ma’lumotlarni markazlashmagan identifikator (DID) bilan bog‘lash imkonini beruvchi markazlashmagan indeksni taqdim etadi. Ma’lumotlar ta’riflar orqali belgilanadi va yozuvlarda saqlanadi.

Bundan tashqari, IDX’dan Ceramic, Textile, OrbitDB, IPFS, Sia, Arweave, blokcheyn registrlari yoki hatto markazlashtirilgan ma’lumotlar bazalari kabi istalgan turdagi ma’lumotlar ombori bilan foydalanish mumkin va u Web3 hamyonlarining istalgan turidan autentifikatsiyani qo‘llab-quvvatlaydi.
IDX foydalanuvchi profillari, ko‘chma ijtimoiy graflar, obro‘ ko‘rsatkichlari, tekshiriladigan da’volar, foydalanuvchi yaratgan kontent, ilova ma’lumotlari, sozlamalar, domen nomlari, blokcheyn manzillari va Web2 ijtimoiy tarmoq hisoblarini markazlashmagan usulda foydalanuvchiga bog‘lash uchun juda qulay.
Xulosa
Xulosa qilib aytganda, Ceramic’ning paydo bo‘lishi Web3’ni yaratish jarayonini sezilarli darajada kuchaytirdi va Web3 ishlab chiquvchilari uchun yangi imkoniyatlarni ochdi. Ishlab chiquvchilar qaysi ommaviy blokcheynda (Ethereum, BSC, Polygon, Avalanche va boshqalar) ishlashidan qat’i nazar, ilovalarini yaxshilash uchun ma’lumotlarga yo‘naltirilgan funksiyalarda Ceramic’dan bir vaqtda foydalanishlari mumkin. Bundan tashqari, Ceramic’ning moslashuvchan, DID’ga asoslangan hisob tizimi tufayli u yirik blokcheynlarning amaldagi hisob va kalit tizimlari bilan tabiiy ravishda o‘zaro ishlaydi, bu esa foydalanuvchilar uchun katta qulaylik yaratadi.
Ceramic’da allaqachon ko‘plab DID va Web3 ijtimoiy platforma loyihalari ishlab chiqilayotganini ko‘rish quvonarli. E’tiborga molik loyihalardan bir nechtasini aytib o‘tamiz: CyberConnect — ijtimoiy graf uchun middleware platformasi; Orbis — Web3 Twitter platformasi; The Convo Space esa tezkor xabar almashish platformasi va boshqalar. Ceramic ma’lumotlar tarmog‘i infratuzilmasi Web3 ilovalari qatlamiga qanday yangi imkoniyatlar olib kelishini intiqlik bilan kutyapmiz.
Ogohlantirish: Ushbu tadqiqot faqat ma’lumot berish maqsadida tayyorlangan. U investitsiyaviy maslahat yoki biror investitsiyani sotib olish yoxud sotish bo‘yicha tavsiya hisoblanmaydi va har qanday investitsion qarorning afzalliklarini baholashda ishlatilmasligi kerak.
🐦 @chestersigned
📅 2022-yil 8-may
Havolalar:
https://developers.ceramic.network/learn/welcome/
https://blog.ceramic.network/what-is-ceramic/
https://multicoin.capital/2022/02/16/the-composable-web3-data-network/
https://blog.ipfs.io/2021-07-13-ceramic-mainnet-launch/