CERAMIC — a Gateway to Web3 Engineering
September 30th, 2022

Along with useful protocols, I want to spread awareness about projects that can easily become a core component in the future Web3 internet.

If you don’t understand the meaning of Web3 and how it differs from the current Web2 applications – check these great articles out: 1 & 2.

I’ll try to be short and precise. First, I’ll give you a simple explanation of the project and then its architecture in details, transforming complicated tech aspects into simple things.

Contents

PART 1 – What and what’s for?
PART 2 – How does it work?
IPFS
Structure
Consensus
PART 3 – Afterwords

PART 1 – What and what’s for?

Ceramic is a decentralized network for composable data. The network contains various data models that can be used for application building. Official team greatly explains the whole idea:

“Ceramic makes building applications with composable Web3 data as easy as browsing a marketplace of data models, plugging them into your app, and storing, updating, and retrieving data from those models”.

Without any doubt, using composable and reusable data models simplifies development of any applications. You, as a developer, don’t need to write the whole code from a scratch but easily choose an appropriate model you want to integrate. It can be user profile, some internal payment system, option to write comments or create posts, and many more. Actually, any feature you need to add into your application. Moreover, it contains a database, not just a model. F.e. you want to integrate a profile menu into your application. You find the model, you integrate it and get the whole database of this tool too.

PART 2 – How does it work?

You might have heard something like decentralized data before. And you would be right. Such protocols as IPFS, Arweave or Filecoin exist for a while. If you don’t know the names – not a big deal. These are all about data storage in decentralized manner. However, here is a big difference which makes Ceramic pretty unique – it provides accessibility to dynamic data structures instead of simple static data as others do. To understand it better, let’s have a quick look at how the universal IPFS system works. It’s worthy mentioning because Ceramic builds upon and extends its file system.

IPFS

IPFS visualized
IPFS visualized

IPFS is a distributed system for storing and accessing files, websites, applications, and data”.

Instead of relying on some specific centralized server, you can access data from computers which acts as decentralized servers in this system. By simply interacting with some file or webpage, you make it accessible for anyone using IPFS. As long as at least 1 user needs a file, a webpage or any other type of data, it will exist in the network. Thus, nobody can shut off the servers and cause you loosing access to your data.

Please note, you need a special client to use IPFS or a terminal on your pc.

Structure

On Ceramic, each piece of information is represented as an append-only log of commits, called a Stream. Each stream can be thought of as its own blockchain, ledger, or event log”.

Stream structure allows Ceramic to scale horizontally since the streams can be updated in parallel. That’s actually a variation of Sharding technology. Each stream has its own type, so once a Ceramic node receives a new commit, it applies it to a particular stream.

All nodes are connected to the same Ceramic network. And their primary responsibility is to maintain availability of data – in particular Stream commits & Stream state. Nodes perform so in 3 ways – by cashing, pinning & archiving.

By cashing, we understand a mechanism for short-term storage of data. There is a limit of 500 streams for each node to be cashed (at the moment). Once that number is reached, the oldest streams will be replaced by newer ones. Moreover, if the node happens to shut down or restart, the cache will be cleared.

Pinning provides a more long-lived mechanism of data persistence. That’s similar to pinning your tweet on Twitter and keeping it at the top. However, note that if only one IPFS node is pinning a given stream, and it disappears forever or gets corrupted, then that stream will be lost.

PS: Ceramic nodes already contain a bundled IPFS node, which is where this pinning occurs.

Archiving provides the most long-lived form of persistence. Developers can choose which external provider to use for archiving of data. It can be web2 providers like Amazon or web3 like Filecoin or Arweave.

Consensus

Nodes in Ceramic do not need to maintain the whole network (ledger) like in other blockchains. Instead, they maintain some particular streams they are interested in. That, as was said, results in great scalability. Moreover, each stream can have its own type of consensus model, which makes it more flexible for developers.

Also, here is a term called Proof-of-publication:

“A proof-of-publication is a proof that some content was published at some point in time. Updates to Ceramic Streams are periodically anchored onto a blockchain (currently Ethereum)”.

Anchored means saved.

PART 3 – Afterwords

My personal cons on Ceramic:

  • Web3 oriented project;

  • Ethereum’s compatibility; Solana is on the way;

  • The mainnet is deployed, and some projects are using Ceramic already.

Hope you now have an overall understanding of the protocol’s structure and functionality. Some tech details were not mentioned due to its complexity. Jump here if you need more.

For now, thanks for your time. Would love to hear any comments and propositions for future articles here or on Twitter.

That’s my twitter btw ;)

Subscribe to mac'Evoy
Receive the latest updates directly to your inbox.
Nft graphic
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from mac'Evoy

Skeleton

Skeleton

Skeleton