IPFS trūkums
Runājot par decentralizētu datu glabāšanu, starpplanētu failu sistēma, kas pazīstama kā IPFS, ir projekts, kuru nevar apiet.
Kā viens no ievērojamākajiem decentralizētās krātuves projektiem IPFS izmanto datu struktūru Merkle DAG (Directed Acyclic Graph), kas ir modifikācija, kuras pamatā ir Merkle Tree. Izmantojot šo datu struktūru, IPFS ievieš satura adresēšanu un failu fragmentu lejupielādi.
Konkrēti, IPFS katram failam piešķir unikālu jaucējvērtību, kas ir līdzīga faila pirkstu nospiedumam. Katrs saknes fails norāda uz vairākiem mezgla failiem, un, tiklīdz mezgla faila saturs mainās, jaucējvērtība attiecīgi mainās, izraisot izmaiņas arī saknes faila jaucējkodā.
Tādā veidā IPFS saglabā un atrod failus unikālā saturā, nevis adreses adresēšanā. Tas nozīmē, ka, ja meklējat failu, jums nav jāzina, kur tas atrodas, ir tikai jāzina, kas tajā atrodas. IPFS katram failam ģenerē unikālu jaucējkodu, un, kad lietotājam ir jāizgūst šis fails, viņam tikai jālūdz IPFS, kuram ir šī jaucējfunkcija, lai pabeigtu izgūšanu. Tā kā jaucējvērtības novērš dublikātu krātuvi, IPFS nedublē failus ar tādu pašu saturu. Šī pieeja optimizē krātuvi un uzlabo tīkla veiktspēju.

Satura adresācijas mehānisms ir galvenā IPFS priekšrocība, taču katrai monētai ir divas puses, un tai ir arī trūkums. IPFS gadījumā, kad fails ir saglabāts, to nevar modificēt sistēmā, jo faila satura modificēšana maina faila jaucējkodu un lietotājs nevar atrast mainīto failu pēc sākotnējās jaucējvērtības. Tas ir plaši kritizēts sāpju punkts: IPFS nav piemērots failu glabāšanai, kas laiku pa laikam ir jāatjaunina un jāmaina.
Lai gan IPFS darbojas labi statisku failu glabāšanai, tai trūkst skaitļošanas un stāvokļa pārvaldības jaudas progresīvākām datu bāzēm līdzīgām funkcijām, piemēram, maināmībai, versiju kontrolei, piekļuves kontrolei un programmējamai loģikai, kas ir nepieciešamas, lai izstrādātāji varētu izveidot pilnībā aprīkotu decentralizētu. lietojumprogrammas. Tāpēc ir steidzami nepieciešams efektīvs un decentralizēts risinājums dinamisku datu glabāšanai — Ceramic atrisina šo problēmu ar NoSQL līdzīgu datubāzi izstrādātājiem, lai saglabātu strukturētu un mainīgu saturu.
Izstrādāts mainīgam saturam
Ceramic krātuves dizains ir balstīts uz IPFS un paplašina to ar decentralizētu dinamisko krātuves slāni.
Pakalpojumā Ceramic ikviena informācija tiek attēlota kā tikai pievienošanas saistību žurnāls, ko sauc par “straumi”, kas tālāk esošajā attēlā ir parādīta kā pelēko kvadrātu kombinācija. Straume pēc koncepcijas ir līdzīga Git kokiem: sākotnējais stāvoklis (Genesis Commit) un katra nākamā izmaiņa (Commit) tiek saglabāti IPLD (starpplanētu saistītie dati, IPFS slānis, kas veltīts datu struktūrām), un šie ieraksti tiek apvienoti, lai izveidotu Straume. Tā kā straumes reģistrē iegūtā stāvokļa “izmaiņas”, nevis “momentuzņēmumus”, ir jāapstrādā tikai visi notikumi straumē, lai iegūtu jaunāko žurnāla stāvokli.

Piemēram, Ceramic ierakstu shēma ir šāda: sākotnēji Alisei un Bobam katram ir 10 USD; otrajā dienā Alise pārskaita Bobam $5; trešajā dienā Bobs pārskaita Alisei 3 USD. Tas ir arī ļoti līdzīgs blokķēdes virsgrāmatai, kur virsgrāmatā nav norādīts katra lietotāja atlikums, un ir jāaprēķina visi starpprocesi, lai iegūtu gala lietotāja bilanci.
Salīdzinoši tradicionālais IPFS ierakstu modelis ir šāds: failā a Alisei un Bobam katram ir 10 USD; failā b Alisei ir 5 USD un Bobam 15 USD; un failā c Alisei ir 8 USD un Bobam 12 USD. Šeit katrs ieraksts ir iegūtā stāvokļa momentuzņēmums, un jauns momentuzņēmums ir jāģenerē, tiklīdz notiek izmaiņas.
Ar šo dizainu Ceramic nodrošina, ka katram žurnālam ir unikāls straumes ID ar vienotu globālu nosaukumu un satura izmaiņu dēļ netiek mainīts nosaukums. Katrai rakstīšanai ir nepieciešama lietotāja autorizācija, un viss process ir līdzīgs blokķēdes grāmatvedībai, izņemot to, ka rakstītais nav transakciju dati, bet cits mainīgs saturs, piemēram, lietotāja konta informācija.
Datu komponējamība
Ceramic nodrošina datu kompozīciju starp lietojumprogrammām, galvenokārt izmantojot jaunu abstrakciju, ko sauc par datu modeļiem.
Datu modeļi parasti attēlo vienu loģisku lietojumprogrammas līdzekli, piemēram, lietotāja profilu, sociālo grafiku vai emuāru. Piemēram, varat iedomāties, ka katra decentralizētā Twitter ieviešana darbotos ar dažiem koplietotiem datu modeļiem: vienu katra lietotāja tvītiem, vienu viņu sociālajam grafikam, vienu viņu DM utt. Izmantojot tos pašus pamatā esošos datu modeļus, lietojumprogrammas var sākotnēji sadarboties ar tiem pašiem datiem.
Savā ziņā varat salīdzināt to, kā Ceramic izmanto datu modeļu standartus, ar marķiera standartu izmantošanu līdzekļu virsgrāmatām. Piemēram, Ethereum ERC20 aizstājamā marķiera un ERC721 neaizvietojamā marķiera standartu ieviešana ir radījusi veselas marķieru un finanšu lietojumprogrammu ekosistēmas, kas dabiski sadarbojas. Keramika sniedz šo pašu koncepciju datiem.
Ceramic izmanto kopienas virzītu pieeju šo datu modeļu izveidei, ļaujot jebkuram izstrādātājam viegli definēt, koplietot un atkārtoti izmantot savus modeļus ar citiem izstrādātājiem ekosistēmā. Tā kā kopiena izveidos arvien vairāk datu modeļu, jūs redzēsiet nepārtrauktu to lietojumprogrammu daudzuma un daudzveidības pieaugumu, kuras ir izveidotas, izmantojot komponējamus datus.
Šādā veidā veiktā kompozīcija uzlabo arī izstrādātāja pieredzi. Lietojumprogrammas izveide uz Ceramic izskatās kā datu modeļu tirgus pārlūkošana, to pievienošana lietotnei un automātiska piekļuve visiem datiem tīklā, kas tiek glabāti šajos modeļos. Izmantojot Ceramic, izstrādātājiem nebūs jāuztraucas par lietojumprogrammas sāknēšanu ar saviem lietotājiem un datiem. Izstrādātāju inovāciju apvienošanas ātrums strauji palielināsies.
Mērogojamība
Keramika nodrošina mērogojamību, izmantojot šķelto izpildes vidi. Visas Ceramic straumes uztur savu stāvokli neatkarīgi, un tīkla mezgli veic straumes transakcijas paralēli. Šī pieeja, atšķirībā no vairuma blokķēžu, ļauj Ceramic darboties ar mērogojamību, kas nepieciešama sociālo lietojumprogrammu, piemēram, Twitter vai Facebook, decentralizētām versijām.
Atšķirībā no tradicionālajām blokķēdes sistēmām, kur mērogojamība ir ierobežota līdz vienai globālai virtuālai izpildes videi un vienas virsgrāmatas stāvoklis tiek koplietots starp visiem mezgliem, katrs keramikas mezgls darbojas kā individuāla izpildes vide aprēķinu veikšanai un straumju transakciju apstiprināšanai — nav globālas. virsgrāmata. Šī “iebūvētā” izpildes sadalīšana ļauj Ceramic Network mērogot horizontāli, lai paralēli tiktu apstrādāts arvien lielāks skaits vienlaicīgu straumes darījumu, jo tīkla mezglu skaits palielinās. Šāds dizains ir nepieciešams, lai apstrādātu pasaules datu mērogu, kas ir par lieluma kārtām lielāks nekā finanšu blokķēdē nepieciešamā caurlaidspēja. Vēl viens šī dizaina ieguvums ir tas, ka keramikas mezgls var veikt straumēšanas darījumus vispirms bezsaistes vidē un vēlāk sinhronizēt atjauninājumus ar pārējo tīklu, kad tas atkal ir tiešsaistē.
DID Risinājums
Ceramic piedāvā arī elastīgu un stabilu identitātes risinājumu, ko sauc par IDX, kas ir pirmais pilnībā funkcionāls decentralizētās identitātes (DID) risinājums.
IDX ir starpķēžu identitātes protokols atvērtām lietojumprogrammām ar decentralizētu identitāti un sadarbspējīgiem lietotāja datiem, kas ļauj lietotājiem izveidot vienotu digitālo identitāti, kas sastāv no visiem viņu datiem, vienlaikus ļaujot izstrādātājiem sadalīt tvertni un brīvi koplietot lietotāju datus starp lietojumprogrammām. Kā parādīts attēlā zemāk, tas nodrošina decentralizētu indeksu, kas ļauj strukturētus datus saistīt ar decentralizētu identifikatoru (DID), un dati tiek definēti ar definīcijām un tiek glabāti ierakstos.

Turklāt IDX var izmantot ar jebkāda veida datu krātuvēm, piemēram, Ceramic, Textile, OrbitDB, IPFS, Sia, Arweave, blokķēdes reģistriem vai pat centralizētām datu bāzēm, un tas atbalsta autentifikāciju no jebkura veida Web3 maka.
IDX ir lieliski piemērots lietotāju profilu, pārnēsājamu sociālo grafiku, reputācijas rādītāju, pārbaudāmu apgalvojumu, lietotāju ģenerētā satura, lietojumprogrammu datu, iestatījumu, domēna nosaukumu, blokķēdes adreses un sociālo Web2 kontu saistīšanai ar lietotāju decentralizētā veidā.
Secinājums
Rezumējot, Ceramic parādīšanās ir ievērojami uzlabojusi Web3 izveidi un atbloķējusi jaunas funkcijas Web3 izstrādātājiem. Neatkarīgi no tā, uz kuru publisko blokķēdi (Ethereum, BSC, Polygon, Avalanche u.c.) izstrādātāji balstās, viņi vienlaikus var izmantot Ceramic uz datiem orientētām funkcijām, lai uzlabotu savas lietojumprogrammas. Turklāt, izmantojot Ceramic elastīgo uz DID balstīto kontu sistēmu, Ceramic dabiski saskaras ar pašreizējo galveno blokķēžu kontu un galvenajām sistēmām, kas lietotājiem nodrošina lielas ērtības.
Patīkami redzēt, ka uz Ceramic jau ir izstrādāti daudzi DID un Web3 sociālās platformas projekti. Starp tiem ir daži ievērības cienīgi projekti: CyberConnect, sociālo grafiku starpprogrammatūras platforma; Orbis, Web3 Twitter platforma; un The Convo Space, tūlītējās ziņojumapmaiņas platforma utt. Mēs ceram uz jaunām iespējām, ko Ceramic datu tīkla infrastruktūra var sniegt Web3 lietojumprogrammu slānim.
Atruna: šis pētījums ir paredzēts tikai informatīviem nolūkiem. Tas nav investīciju padoms vai ieteikums pirkt vai pārdot kādu ieguldījumu, un to nevajadzētu izmantot, lai novērtētu ieguldījumu lēmuma pieņemšanas pamatotību.
🐦 @chestersigned
📅 2022. gada 8. maijs
Saites:
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/