How it works
ComposeDB: A new composable graph database powered by Ceramic.
How Ceramic Works
A composable data ecosystem built on decentralized event streams
350M events
10M streams
1.5M accounts
400 apps
Ceramic protocol
Decentralized Event Streams
The Ceramic protocol is a specification for decentralized event streams. On Ceramic, user accounts cryptographically sign data events and then submit them to the network where they are organized into streams. Streams enable data to be published, consumed, exchanged, and reused by any application or device connected to the public internet.
Ceramic is similar in design to Kafka, but is much more powerful as Ceramic extends data beyond a single enterprise and enables composability across the open web.
Accounts
Ceramic accounts are interoperable decentralized identifiers (DIDs) that cryptographically sign data. Supporting integrations with top blockchains, users can connect their blockchain wallet to sign events and grant permissions on Ceramic.
Events
Events are the most atomic units of data in Ceramic. Event messages are stored in the Interplanetary File System (IPFS) using the IPLD protocol and can contain any arbitrary data needed by consumers of the message.
Event Types
// InitEvent type definition
type InitHeader struct {
controllers [String]
}
type InitPayload struct {
header InitHeader
data optional Any
}
// DataEvent type definition
type DataHeader struct {
controllers [String]
}
type DataEventPayload struct {
id &InitEvent
prev &Event
header optional DataHeader
data Any
}
// TimeEvent type definition
type TimeEvent struct {
id &InitEvent
prev &DataEvent | &InitEvent
proof Link
path String
}
Streams
Once submitted to the network, events are organized into streams. Streams are hash-linked chains of events used for a variety of purposes, such as tracking the changes to a JSON object over time. For example, on a social application, a stream can store a post, reaction, profile, or follower.
High-Performance Decentralized Data Infrastructure
Ceramic networks are hyper-scalable data infrastructure networks of nodes operated by the community that provide core utilities for the Ceramic protocol as decentralized web services — including event availability, event ordering, and API hosting. Together, these services enable developers to build fully trust-minimized data applications with Ceramic.
API Hosting
Every Ceramic node hosts an instance of the Ceramic API to service event storage and query requests from Ceramic clients.
Event Availability
The node that services the API request stores the event, applies it to the stream, then distributes it across the entire network where other nodes listen, update or add redundancy.
Event Ordering
Anchor nodes periodically roll up all observed events into a merkle tree and publish the root to the Ethereum blockchain, providing immutable time that enables consensus on the global ordering of Ceramic transactions.
Fast, Scalable Transactions
Unlike financial asset blockchains that rely on slow and unscalable synchronous global state changes, Ceramic uses fast, asynchronous, parallel transaction processing and eventual consistency to enable the scale and throughput needed by the world’s largest data applications.
Low-Cost Infrastructure
Ceramic has an ecosystem of node operators and can be self-hosted for as little as $5 per month. The network is designed to write high-volume data at an extremely low cost, comparable to traditional data infrastructure.
Secure & Verifiable
Ceramic combines IPFS content addressing with advanced cryptography and blockchain timestamps to guarantee security and verifiability of data.
Simple, Powerful Data API
Connect and transact on Ceramic’s data network using a simple API—available in TypeScript and REST.
const response = await fetch('http://localhost:7007/api/v0/streams/kjzl6cw1jw147r7878h32yazawcll6bxe5v92348cxitif6cota91qp68grbhm');
const data = await response.json();
Ceramic Ecosystem
Expansive Ecosystem
The Ceramic API powers an ecosystem of interconnected data services and applications built on the same underlying data events.
Data Services
The core consumers of the Ceramic API are developers building trust-minimized, composable data middleware and services. These services interact with Ceramic event streams behind the scenes to solve specific problems for application developers – who in turn use these tools to build their apps.
ComposeDB
Ceramic's composable graph database with endless use cases for Web3 apps like social networks, coordination tooling, knowledge graphs, and identity and reputation protocols.
Applications
Developers build highly-scalable, composable, data-intensive applications using Ceramic-powered services and middleware.
Social
Grow users & engagement with chat, DMs, followers and social experiences that follow users across applications.
Reputation
Add trust and safety to your app or service with portable profiles, identity, reputation, KYC, anti-sybil, and peer reviews.
Collaboration
Power decentralized collaboration and collective decision-making with proposals, votes, reactions, and contribution graphs.
Knowledge
Unlock the wisdom of the crowd by plugging into knowledge, discourse, DeSci and other information graphs.