Chyba IPFS
Pokud jde o decentralizované ukládání dat, meziplanetární souborový systém, známý jako IPFS, je projekt, který nelze obejít.
Jako jeden z nejpozoruhodnějších projektů decentralizovaného úložiště IPFS používá datovou strukturu Merkle DAG (Directed Acyclic Graph), modifikaci založenou na Merkle Tree. S touto datovou strukturou IPFS implementuje adresování obsahu a stahování fragmentů souborů.
Konkrétně řečeno, IPFS přiřadí každému souboru jedinečnou hodnotu hash, podobnou otisku souboru. Každý kořenový soubor ukazuje na více souborů uzlů, a jakmile se změní obsah souboru uzlů, změní se odpovídajícím způsobem i hodnota hash, což způsobí, že se změní i hash kořenového souboru.
Tímto způsobem IPFS ukládá a nachází soubory v jedinečném adresování založeném na obsahu spíše než na adresování. To znamená, že pokud hledáte soubor, nemusíte vědět, kde se nachází, jen co obsahuje. IPFS generuje jedinečný hash pro každý soubor, a když uživatel potřebuje tento soubor načíst, stačí se pouze zeptat IPFS, kdo má tento hash, aby načítání dokončil. Protože hash zabraňuje duplicitnímu úložišti, soubory se stejným obsahem nejsou duplikovány protokolem IPFS. Tento přístup optimalizuje úložiště a zlepšuje výkon sítě.

Mechanismus adresování obsahu je hlavní výhodou IPFS, ale každá mince má dvě strany, přináší to i nevýhodu. V IPFS, jakmile je soubor uložen, nemůže být v systému upraven, protože úpravou obsahu souboru se změní hash souboru a uživatel nemůže najít změněný soubor podle původní hodnoty hash. Toto je široce kritizovaný bod bolesti: IPFS není dobrý v ukládání souborů, které je třeba čas od času aktualizovat a změnit.
Ačkoli IPFS funguje dobře pro ukládání statických souborů, postrádá výpočetní kapacitu a kapacitu pro správu stavu pro pokročilejší funkce podobné databáze, jako je mutabilita, řízení verzí, řízení přístupu a programovatelná logika, které jsou nutné k tomu, aby vývojáři mohli vytvářet plně vybavené decentralizované aplikací. Proto existuje naléhavá potřeba efektivního a decentralizovaného řešení pro ukládání dynamických dat – Ceramic řeší tento problém pomocí databáze podobné NoSQL pro vývojáře, aby mohli ukládat strukturovaný a proměnlivý obsah.
Vytvořeno pro proměnlivý obsah
Design úložiště Ceramic je založen na IPFS a rozšiřuje jej o decentralizovanou dynamickou úložnou vrstvu.
Na Ceramic je každá informace reprezentována jako pouze připojený protokol odevzdání, nazývaný „Stream“, který je zobrazen jako kombinace šedých čtverců na obrázku níže. Stream je konceptem podobný stromům Git: počáteční stav (Genesis Commit) a každá následná změna (Commit) jsou všechny uloženy v IPLD (InterPlanetary Linked Data, vrstva IPFS vyhrazená pro datové struktury) a tyto záznamy jsou kombinovány do podoby Proud. Vzhledem k tomu, že streamy zaznamenávají „změny“ spíše než „snímky“ výsledného stavu, je pouze nutné zpracovat všechny události ve streamu, abyste získali nejnovější stav protokolu.

Například Ceramicův záznamový vzor je následující: zpočátku mají Alice a Bob každý 10 $; druhý den Alice převede 5 $ Bobovi; třetí den převede Bob 3 dolary Alici. To je také velmi podobné účetní knize blockchainu, kde účetní kniha neuvádí zůstatek každého uživatele a pro získání konečného zůstatku uživatele je třeba vypočítat všechny meziprocesy.
Pro srovnání, tradiční záznamový vzor IPFS je: v souboru a mají Alice a Bob každý 10 $; v souboru b má Alice 5 $ a Bob 15 $; a v souboru c má Alice $ 8 a Bob má $ 12. Zde je každý záznam snímkem výsledného stavu a jakmile dojde ke změně, je potřeba vygenerovat nový snímek.
Ceramic tímto designem zajišťuje, že každý protokol má jedinečné ID streamu s globálním jednotným pojmenováním a žádné změny názvu kvůli změnám obsahu. Každý zápis vyžaduje autorizaci uživatele a celý proces je podobný blockchainovému účetnictví, až na to, že to, co se zapisuje, nejsou transakční data, ale jiný proměnlivý obsah, jako jsou informace o uživatelském účtu.
Složitelnost dat
Ceramic dosahuje skládání dat napříč aplikacemi především díky použití nové abstrakce, nazývané datové modely.
Datové modely obvykle představují jedinou logickou funkci aplikace, jako je uživatelský profil, sociální graf nebo blog. Můžete si například představit, že by každá decentralizovaná implementace Twitteru běžela na několika sdílených datových modelech: jeden pro tweety každého uživatele, jeden pro jejich sociální graf, jeden pro jejich DM atd. Přijetím stejných základních datových modelů mohou aplikace nativně spolupracovat na stejných datech.
Svým způsobem můžete porovnat použití standardů datových modelů Ceramic s používáním standardů tokenů pro účetní knihy aktiv. Například na Ethereu zavedení zaměnitelných tokenů ERC20 a nezastupitelných tokenů ERC721 vedlo ke vzniku celých ekosystémů tokenů a finančních aplikací, které nativně spolupracují. Keramika přináší stejný koncept do dat.
Ceramic využívá komunitní přístup k vytváření těchto datových modelů, který umožňuje jakémukoli vývojáři snadno definovat, sdílet a znovu používat své modely s ostatními vývojáři v ekosystému. S tím, jak komunita vytváří více datových modelů, zaznamenáte neustálé rozšiřování množství a rozmanitosti aplikací, které jsou vytvořeny pomocí skládacích dat.
Složitost provedená tímto způsobem také zlepšuje vývojářskou zkušenost. Vytváření aplikace na Ceramic vypadá jako procházení trhu s datovými modely, jejich zapojení do aplikace a automatické získání přístupu ke všem datům v síti, která jsou v těchto modelech uložena. S použitím Ceramic se vývojáři nebudou muset starat o zavádění svých aplikací s vlastními uživateli a daty. Rychlost slučování inovací mezi vývojáři se dramaticky zrychlí.
Škálovatelnost
Keramika dosahuje škálovatelnosti prostřednictvím prostředí sharded provedení. Všechny toky na Ceramic si udržují svůj stav nezávisle a síťové uzly provádějí transakce toků paralelně. Tento přístup, na rozdíl od většiny blockchainů, umožňuje Ceramic pracovat se škálovatelností požadovanou pro decentralizované verze sociálních aplikací, jako je Twitter nebo Facebook.
Na rozdíl od tradičních blockchainových systémů, kde je škálovatelnost omezena na jediné globální virtuální prováděcí prostředí a stav jedné účetní knihy je sdílený mezi všemi uzly, každý keramický uzel funguje jako individuální prováděcí prostředí pro provádění výpočtů a ověřování transakcí na streamech – neexistuje žádné globální účetní kniha. Toto „vestavěné“ provádění shardingu umožňuje keramické síti horizontálně škálovat, aby paralelizovalo zpracování rostoucího počtu simultánních toků transakcí s rostoucím počtem uzlů v síti. Takový design je potřebný pro zvládnutí rozsahu světových dat, který je řádově větší než propustnost potřebná na finančním blockchainu. Další výhodou tohoto návrhu je, že keramický uzel může provádět streamové transakce v prostředí nejprve offline a poté později synchronizovat aktualizace se zbytkem sítě, když se vrátí online.
Řešení DID
Ceramic také nabízí flexibilní a robustní řešení identity s názvem IDX, první plně funkční řešení decentralizované identity (DID).
IDX je protokol cross-chain identity pro otevřené aplikace s decentralizovanou identitou a interoperabilními uživatelskými daty, který uživatelům umožňuje vytvořit jednotnou digitální identitu sestávající ze všech jejich dat a zároveň umožňuje vývojářům rozebírat sila a volně sdílet uživatelská data mezi aplikacemi. Jak je znázorněno na obrázku níže, poskytuje decentralizovaný index, který umožňuje spojení strukturovaných dat s decentralizovaným identifikátorem (DID) a data jsou definována pomocí definic a ukládána do záznamů.

Kromě toho lze IDX použít s jakýmkoli druhem úložiště dat, jako je Ceramic, Textile, OrbitDB, IPFS, Sia, Arweave, blockchainové registry nebo dokonce centralizované databáze a podporuje ověřování z jakéhokoli druhu Web3 peněženky.
IDX je skvělý pro přiřazování uživatelských profilů, přenosných sociálních grafů, skóre reputace, ověřitelných tvrzení, uživatelem generovaného obsahu, dat aplikací, nastavení, doménových jmen, blockchainových adres a sociálních Web2 účtů k uživateli decentralizovaným způsobem.
Závěr
Stručně řečeno, nástup Ceramic značně posílil konstrukci Web3 a odemkl nové funkce pro vývojáře Web3. Bez ohledu na to, na kterém veřejném blockchainu (Ethereum, BSC, Polygon, Avalanche atd.) vývojáři staví, mohou současně využít Ceramic pro funkce zaměřené na data, aby byly jejich aplikace lepší. Navíc prostřednictvím flexibilního systému účtů Ceramic založeného na DID se Ceramic přirozeně propojuje s účty a klíčovými systémy současných hlavních blockchainů, což uživatelům poskytuje velké pohodlí.
Je potěšující vidět, že na Ceramic již existuje mnoho projektů sociálních platforem DID a Web3. Mezi nimi jmenujme několik pozoruhodných projektů: CyberConnect, platforma middlewaru sociálních grafů; Orbis, platforma Web3 Twitter; a The Convo Space, platforma pro rychlé zasílání zpráv atd. Těšíme se na nové možnosti, které může infrastruktura datových sítí Ceramic přinést aplikační vrstvě Web3.
Prohlášení: Tento výzkum slouží pouze pro informační účely. Nepředstavuje investiční poradenství ani doporučení k nákupu nebo prodeji jakékoli investice a nemělo by se používat při hodnocení přínosů jakéhokoli investičního rozhodnutí.
🐦 @chestersigned
📅 8. května 2022
Odkazy:
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/


