Discovering Ceramic Network: a new framework for Web3 developers
I’m building a web app to fight against scams and fake news related to cryptocurrency. This project gave me the chance to work with ceramic network. I would like to share with you about this web3 framework.
Ceramic Network what’s it?
It can be seen as a P2P database, fully decentralized.
It’s based on DID and IPFS.
Users authenticate using their DID, and are the only ones allowed to update their data while everyone can read it.
A DID is a public identifier associated with an asymmetric key. Knowing your DID identifier, I can fetch and read what you put online into ceramic’s network and be sure you wrote it.
It’s kind of like a smart contract where only can write data into it.
Ceramic network under the hood
Ceramic rely on IPFS to duplicate data across nodes, and DIDs to inspect who holds what and is authorized to update content.
Document on the ceramic network employs json-schema. It provides discoverability and ensures updates are validated.
While you don’t need tokens to store data onto this network in the end there is data anchoring occurring (currently with Ethereum). But end users don’t even have to know about it!
Isn’t IPFS enough for web 3 Dapp?
IPFS is great but: files identifiers chance when you update a document (file hash is not the same anymore). It makes it hard to link data to a particular user.
Ceramic use DID identifier and the document identifier (called a Stream Id). Those don’t change, data does. Just like with an URL.
To summarize
- Documents are discoverable, thanks to json-schema
- Data are owned by their creator
- Everything is cryptographically signed
- No token required
I’m betting big on ceramic’s framework, building this new tool to make the web a little safer, it’s called swearby.io.
Ceramic is really promising and will give Web3 apps a proper decentralized database.
Thanks for bearing with me! Please tell me if you would be interested in a tutorial about developing with ceramic network (typescript+node).