This is epicenter episode, 482, with guest joah thorsten.
Welcome to epicenter the show which talks about the
Technologies project and people driving decentralisation and the
blockchain revolution. I'm literally can't and I'm here
with my hair Roy and today, we're speaking with do, with
those citizen, who is the technical co-founder of
three-box Labs, the creator of ceramic and creative.
Ceramic, is this data storage solution?
For web three projects and we will talk about this in just a
little bit. But just before, I'd like to
tell you about our sponsor this week, our sponsor this week is
Omni Omni is your new favorite Mighty change Mobile wallet.
I'll need supports more than 25 protocols, so you can manage all
of your assets in one place. But what's really special about?
Omni is what you can do. Inside the wallet want to get
yet on the allows you to get the best API.
With zero fees and three Taps need to swap on the Aggregates
are major Bridges and dex's so you can Bridge into up across
all supported networks in one transaction directly in your
wallet love and ft is Omni offers the broadest and a few
support of any wallet. So you can collect and manage
your favorite and F Keys across all chains in one place.
I'm need through these, the easiest way to use web three and
it's fully safe custodial. Meaning, you never has Factory.
Trust anyone with your assets other than yourself and they
support Ledger's. Well, If I'm near Triad Omni dot
Airport. So it's a pleasure to have you
on. Yeah, thanks.
Great to be here. I remember you from ages ago at
consensus. So clearly you've been in the
ecosystem or wire, tell us what you've been up to?
Yeah, well started I was playing around with it there even before
the launch in like 2015, did a bachelor project the LED to an
internship at consensus and eventually started working
part-time at consensus. As I was finishing my masters in
complex, adaptive systems. And so at the time, the project
I was working at a consensus called you bored.
So this was this early identity Focus project in the theorem
ecosystem so some of the older listeners might remember that.
And as you port, that's essentially where I met my
co-founders. And we started actually
incubating inside of you port with eventually has become
ceramic Network. Right.
So how did you come up with the idea of settlement or rather?
What is the grand idea behind ceramic?
Yeah, so one thing that we noticed with you port was that
we're building this identity solution and we kind of had to
build our own wallet and even back in like 2016, 2017, it felt
like it doesn't seem right to compete with metal mask and all
of the other walls that were was around at the time.
And so, one of the inquiries that led to the creation of our
first prototype called three-box Jas, Was essentially like, hey
can we build a system that allows allows developers to
build more data Rich applications but it works with
any wallet. And so we're prototyping on that
and that led to this three-box JS SDK and after like that
having been used by a bunch of people over time, we draw some
main insights from that experience and and created
hammock. Thinking back a while ago, the
first thing that I kind of became aware of under the
three-box umbrella. Was this chat box?
And we actually, at the time we kind of integrated into a
prediction Market platform that we were offering at the time.
I mean, still around, you can still use them but I mean and
basically, it was just a way to kind of put comments and stuff.
So how did you get from there to?
You know, this very comprehensive data source?
Sushi. The JavaScript SDK that we're
building was very ambitious. We're trying to build this
completely decentralized in browser system that would allow
you to make some basic social features, like comments and
profiles, and things like this and have that be live inside of
your browser. So, that was using a JavaScript
implementation of ipfs at the time.
And some of the learnings we got from, That is that these kind of
data structures that enable this really local first type of
applications or really powerful Primitives.
And they are have similarities to blockchains in that you have
these verifiable data structures that can be shared across
multiple nodes, but doing actually doing it and starting
to build that in browser. First is really difficult and so
we took the core insides of like these data structures how we can
deal with identities and how we can create basically use Updates
and events users create over time to create an actual
database and take this and build a node application that your
front-end applications can talk to.
So in the same way you talk to you like an ethereal node, you
can also talk to a ceramic. Now they could deal with more of
like the data Rich features. I was going through all these
ceramic ceramic documentation on the on the web today and maybe
I'll tell you my imagination of how like, why you need something
like ceramic or how this idea comes about and maybe you could
corroborate, if if I understand it, right?
So to me the story really starts with Just just the observation
that, you know, the fact that you know I have data on is
helium and then I can use multiple front ends or multiple
user interfaces for for my accounts is really cool.
And you always start to wonder why doesn't like the entire
internet stack work that way inning start to wonder?
Okay, why doesn't she Chill media work.
That way I can put my data onto Facebook and then I can use some
other user interface to Facebook.
And this is like this is like is quite a standard thought
experiment. Many of us have done and there
are many projects that go down in this direction.
So I think one of the things that one starts to realize When
you want this kind of composability that like they
should be multiple user interfaces to some data.
I have is you don't really need. Blockchains or consensus all the
time, right? So if your financial data that
data should lie on is helium or if you have a dow that Financial
logic, should lie on is helium, but if it's my personal data,
That I want to put somewhere and allow lots of people to build
applications. Then my personal data may not
need the blockchain at all and I necessarily don't want to pay
the cost of the blockchain consensus at.
Also start to need some kind of data layer where I can put I can
push my data. And and then other people can
build applications on top of top of that.
So that's kind of like the direction.
Ceramic goes down. Goes toward, but what ceramic is
kind of also. Adding is the observation that
for for good interoperability to exist among multiple
applications. We need no standard ways of
doing identity, standard ways of doing profile standard ways of
doing X, like all of these news feeds and things like that and
you're allowing for such standards to to exist.
So is that right? Is it is like a data.
It's a data layer that enables people to build you eyes for
these. You eyes to be on interoperable
with each other. Yeah, I think that that's a good
overview. I think there's a few things
there, I could double click on. So first of all like the
financial aspect of blockchains blockchains are hard to scale
because we have this requirement of what in this resistance is
called strong consistency. That means that basically all
nodes in the network need to be able to have an agreement, all
the time, like what the state of the system is, and this is how
we prevent double spins. And in a system that doesn't
deal with any kind of assets but it's more data that's produced
by the user. We can kind of loosen that
constraint because we're fine with what is called eventual
consistency and so we don't need to always have all the nodes
have the same agreement on what the state of the system is.
And the nice thing is that we can also have different nodes,
only synchronize, different aspects of the network.
So you might care only about a subset of users or subset of
data models in the network. And this is really what we
achieve with ceramic. Yeah.
And then the second Point around like standards and things like
this. I think that's something that is
really tricky and and our approach to it has been to like
provide examples where we don't want to like set the standards
right? We want the community to come up
with the things that works for that.
Applications because ultimately like, we are not going to be
able to know what the different applications needs.
And so, the approach we take to it in in our graph database
product which were building on top of ceramic called compose,
DB is that developers can come and create the data models, they
can onboard their users and have their uses write data to these
data models. And then other developers can
import these data models into their applications and kind of
get the onboarding of those users for free because the data
is already there. So that's the composability that
you were talking about. I have lots of questions for
kind of these for lots of lots of different facets here but
kind of, I think I want to step back and kind of look at the
larger landscape of Data Solutions in the web three space
first. So I think our listeners may be
familiar with products such as we even ipfs and sire.
And so, how would you kind of We contextualize ceramic within
that landscape. How is it different or similar
to those? So, you're all of the three
products. You mentioned their focus first
on this, like, how can we store files?
And I can restore like pieces chunks of data in an efficient
way that can scale and those are all very useful.
Things to have in the ecosystem, like storage of massive amount
of data is, is incredibly important.
Our Focus From the Start has been on Users their identity in
like how to make these systems easy to use for people.
So in the ceramic instead of having creating blocks where you
either have deals with minors to store data or you have big
blocks that include a bunch of data.
As in some of these systems through we use.
Let we don't really have blocks in ceramic.
We rely on the security of a theorem and instead each user
creates an event stream, Of actions, they take in the
network. This event stream you can think
of kind of like a micro Ledger that is signed by the users key
and all these updates, we can verify that the come from the
user. And since we have like all like,
if we take that together, we can have a view of multiple users
with all their independent event streams and we can compose that
into a database view. So it's like a different
approach to 22 the architecture. But but does it mean that
basically the only the event Creator can write to the event
stream? Because basically if different
people have like right permissions, this won't work,
right? Yes, in ceramic right now.
Each event stream has a controller, which is essentially
a user account. So, right now, there's support
for, I think three different block chain wallets most users.
Use the varium if they're in based wallets.
And so every event stream is controlled by one account, but
then you can take multiple event streams and listen, to all these
events and create a combined view of that.
Okay. So say one of the event streams
is say. My Twitter output, so things I
tweet. But also things I like and
things I retweet. And so on, you could just kind
of this will kind of fit the. I don't know whether broader
social media data structure or Twitter data structure and then
it can be compared to other people's data structures.
And can be compiled into a view of a decentralized version of
Twitter where they see, I can say how I want to how I want to
view things or which things I want to prioritize.
Guys are which things I want to be showed because basically, the
way that social media works right now is that I mean
obviously there's you know, very complex algorithms at work to
kind of calculate what to show you but what exactly they do and
how they operate and what they prioritize, this is this is not
visible and there's no competition as to this.
So basically it would kind of ceramic enable.
Other people to kind of build on the same data streams and kind
of showcase this differently or prioritize things with
differently. The power of ceramic in this
case is that we can actually start to mimic a little bit
more. How the architecture of kind of
web to social media works because web to social media
networks like Twitter or Facebook.
They don't scale on a strong consistency model like a
blockchain they have they have some databases, they have event
streams in their systems and they have a bunch of micro
services that they care of different tasks.
So we can imagine a very primitive social network on.
Around make that just like oh here's my tweets and then when I
follow Frederick in mayor, I use compost that into my view.
But if I follow, like thousands of people, that's not really
going to be efficient. But the cool thing with ceramic
is that they could actually be a service somewhere that ingests,
all of these strings of my followers as and as a micro
service run, some computation over it and outputs that in a
new event stream. And then, Then I consume that
and this computation could be done in a verifiable matter.
Either. It's a deterministic computation
that I can rerun and see that it was correct or maybe in the
future, if we can have like very efficient seek a piece like that
could even be that. But for the time being like
having compute actually attributed, by in the ceramic
stream, by The Smokers micro service provider actually gives
us some Um better trust in the system.
And I can actually choose which of these service providers that
I want to build my my stream of tweets or what have you.
Okay, I think one thing that I kind of don't understand yet is
I mean, you do distinguish between different kinds of
consensus. But why do you need a consensus
in the ceramic Network at all? I mean, if it's just a
decentralized storage layer and it can be proven that basically
my data stored, why does it need consensus?
Also, we need some some basic form of consensus, right?
Like if your node and my node, get the exact same events.
We want to be sure that we end up in the same state if we don't
end up in the same state that's bad.
So it's not like a global consensus that in the in the
sense of blockchains, where there is an agreed-upon state
that everyone didn't ever get grease on.
It's more like if we consume the same events we end up at the
same state so it would be terrible.
Check them. Yeah, in distributed systems,
this is called consensus like that that your knowledge can
actually arrive at the same conclusion.
Okay, I think then I just have very different mental
representation of consensus because to me, consensus kind of
is it is by default a global thing.
But I think this is maybe just a Corruption of kind of how the
actual technical term is used by and learn communities.
Okay? So then I kind of then I kind of
understand that part you said that you guys build on e
theorem. So basically what's kind of the
connection between ceramic and deuterium Yeah, so I mentioned
this event streams. There are signed by end users so
they're good for like, okay. Now we know we have attribution
to who created what and who wrote, what into the network.
But we also want some some guarantees about when certain
events took place and this is where ethereum comes into the
picture. So every once in awhile event
streams are anchored into the blockchain, and what this means
is that That there is a hash or some other kind of vector
commitment that's included in the blockchain that basically
allows any consumer of this event stream to convince
themselves that. Okay this event was published at
least at this point in time and obviously like making one
ethereum transaction per event stream update would not really
be scalable. So what we do is we create a
Merkle tree That batch has a bunch of updates to a bunch of
different streams and puts the root of that Merkle, Tree on
Jay. So earlier, you mentioned that
data in ceramic will be eventually consistent, which,
which kind of means that, if, if let's say, I push to updates.
So let's say I'm using the ceramic Twitter and I push two
posts and one. After the other ultimately, the
ceramic network will decide on which post came first and which
came second. Right?
And they might be a span of time where the network hasn't made a
decision, but ultimately it will eventually it will make make
this decision. That's how I think of eventual
consistency. Yeah.
And in the case of your personal posts, you actually, when you
make post one, and then you make post to your post, you will
actually point back to your previous posts.
So like for your personal things, it will be like ordered
but between like two different users, it's not ordered in the
When done, we would rely on these anchors.
Okay, so how do you reach eventual consistency in the
network? Is it is it down to, is it down
to the Anchor in the ethereum blockchain meanings like some
ceramic node at some point of time is going to put push an
anchor and then whatever ordering they did is the
ordering of the ceramic network, is it like that or is there a
different mechanism here? So based on the anchor, you can
look at the Block Chain and see like, hey, that's this block
those produce was the block out and what's the timestamp in this
block and so if you have two conflicting events in the
network, you can look at like which one came first and then
you would know how to choose I'm actually I'm actually curious
like so data. There have been these computer
science data structures called like CR DTS conflict free data
types are essentially. It's a data structure.
Different people can push updates to it and they will be
eventual consistency of the data.
Without there being like an active voting base consensus,
like in proof of stake, proof of stake Networks.
So, you have ways of getting consistency of data in a
decentralized network without, you know, practical Byzantine
fault tolerant consensus. I you using something like that
in ceramic as well. Or or or IUI, you actually
getting eventual consistency. We are some other mechanism.
Yeah. So, let's sociology thesis is
something that we're quite familiar with we're not actually
using them. Yet, but it's something we are
intending to use as we improve the protocol.
So right now, if we think about a single event stream, a single
event stream, is only allowed to have one canonical history, kind
of in the same way at watching has like one canonical chain.
And if there is a conflict, if there's a fork in this, in this
event log, then we would basically choose the the fork
Was anchored earliest and this is this actually is the property
that allows us to do key rotation in a secure way.
And that's a whole other rabbit hole, which I have an article on
our block on by the way. But for many cases, we don't
actually need to choose one of these Forks.
We can actually use like do a merge and then do a senior TT
based logic to figure out the complete ordering of these
events. So that's that is an improvement
that we're planning in the protocol.
Okay, so so essentially now the way I'm imagining ceramic is
okay, there's this huge Lake of data.
I can push my event stream to it and by virtue of how my event
stream is designed. And the fact that ultimately
this network will anchor something on the ethereum
blockchain, this kind of going to be eventual consistency in
the network where the network can agree on what events came.
First. And what events came came.
Second roughly. That's, that's, that's my,
that's my picture. Yeah, exactly.
So if you have two nodes in the network and they observe the
same events they even though there might not be talking to
each other, but they have seen the same events they can arrive
at the same conclusion. So let's talk about the nodes in
the network, right? So basically, anyone can what
are the requirements for running a ceramic node?
Yeah, so running, a ceramic node in itself, it doesn't have like
super big requirements because when you start a ceramic node,
you don't have any data on it and then you have to tell your
node that hey I want to subscribe to this particular
event stream and so if you're familiar with With something
like ipfs, where you have to, like, pin individual objects,
you have to subscribe to individual event streams and
ceramic. So, for most users of ceramic
right now, you actually or the developers that are building on
ceramic, they are running their own nodes to support their
applications and and right now and ceramic, there's no like
built-in redundancies one thing that's we're doing with this
database product. Composed, the be that I
mentioned is the ability to synchronize data between nodes
so that they can have the same view.
For example, if you have like a blog post model, we can have two
different applications that build on this blog.
So that's like kind of Allowing nodes to use like, subscribe to
the data which they care about now.
That's fine, kind of for developers but if I'm an end
user I don't have any guarantees that like these two blog
applications will be online. So one thing we are going to add
in the future is a network incentive where you as a user or
you as a developer can pay the network.
And pay I said up Notes to keep this data available in the
network. but right now nodes are run mainly by application
developers that wants to leverage the functionality of
ceramic You kind of everyone kind of stores their own data.
And there's no way to kind of say I would back up, someone
else's data or someone else will backup.
My data is just basically all in my own ceramic node know, you
can definitely, it's a public open network.
So anyone can subscribe to any stream in the network.
So I could, for example, subscribe to to your stream and
provide like a redundant copy of the Stream, So as we kind of
alluded to earlier, this is for very specific types of data.
It's kind of not, it's not a general storage solution, you
kind of we already talked about social networks for a bit, but
what I kind of the articles that kind of what, what what, what
kind of data usage is this gear towards So, yeah, so there's
there's around for different niches that we look at being
more common today and one of the most prominent ones right now is
reputation. So we have projects like get
going and disco. There are putting different
kinds of verifiable credentials on ceramic that are associated
with your ethereum address, or your other blockchain address
and then be able to calculate Late some kind of score based on
that so and get coins. Case you have a civil resistance
score but we already talked about social.
So there's a few different applications building different
kinds of web. Three posts, social networks or
business. One cyber connected and other
one. Then another category is
knowledge graphs so there we have mainly projects within the
decentralized, science-based D, PSI.
One of the the most furthest along there is lateral, they're
building, essentially a knowledge graph that represents
scientific discourse and the cool thing there, of course is
like can look at this knowledge graph and since it's stored on
ceramic you can see who actually contributed what to do.
Us Knowledge Graph because it's cryptographically link to your
ethereum address. And what they want to do
eventually is to trickle down payments to people who actually
contribute valuable knowledge. Then another Niche, I think in
the ceramic communities Bell, tolling.
So basically, if we think about the Dow ecosystem, today we use
a lot of, like, centralized tools.
We use Discord, we use hosted forms that Maybe like one guy on
the Dow is hosting and like this seems very fragile.
And so one example here so when we could be used to like replace
these things would like a more decentralized and resilient
infrastructure one place where this is starting to happen.
In particular is the gnosis safe Community where the safe app has
a Centralized back in that. These stores, a bunch of
transactions that are pending and may be signed by some of the
delegates. So there's this company called
thousand systems, they're building a decentralized, save
registry for these pending transactions on in ceramic.
So, those are some of the like use cases, we see today, I think
there's like interesting things in the future that might be more
speculative, but around data provenance that could be like
These new language and image models.
We're seeing in AI, there's a bunch of copyright problems.
Ceramic could be used to like provide attribution to who
actually did what, and how that feed into these systems.
I think we want to have Supply chains have more attribution in
the systems and similar with, with iot.
So that's things. That's worth exploring the
future. Does it have to be public data
by default? I mean, can I put private data
on ceramic and have it? Stay private or only accessible
to some? Yeah, this is a great question,
and it's nuanced, right? So, by default, ceramic is a
fully public network. Now, the first thing you might
want to think about when putting some data on ceramics, it.
Hey, I can encrypt it. So you can certainly encrypt
data put it on ceramic and this will be private, but you have to
think about the future, right? Because in the future, we're
going to have a very fancy quantum computers.
That might break some of our cryptography.
So if you're using any kind of like current asymmetric
cryptography, your private data might not be so private anymore,
and that might be. You might also not be like
satisfied with like ciphers that exist today.
They might be broken, even though they're like supposed to
be Quantum secure, it really depends on like your risk.
And like how private this data really is in any decentralized
system that is publicly verifiable.
You have this problem. So the only way you can really
be safe, that your data is completely secure is probably to
encrypt it and store it on your own machine or you trust someone
to store. For you and then you just that
they don't get hacked and so on it's there's a possibility that
we could explore in the future. Some kind of Access Control
logic in ceramic ware. Only if you have an authorized
Identity or like account you're able to synchronize certain
subsets of data but that's not something that we really focus
on right now. We think there's like a lot of
exciting things in the public. Data or public but encrypted,
data ecosystem. So yeah, so my imagination of
ceramic is now okay, so there's a network, there's lots of nodes
on the network. I can publish my event stream in
the early days of the network. It's probably nice.
If I publish my event stream, either way that it doesn't
contain my private data or it rather contains data that I am
comfortable sharing with the world and there's eventual
consistency in the networks and network will agree on what came
first. Eventually.
Okay, understood. So we have that basic primitive
but allude to the fact that, okay, you want to allow people
to build applications on top where, where ultimately
ultimately their interoperable with each other, that's on your
website. So what is the meaning of
interoperability for applications on top of ceramic
and And what might be some of the tools you have built on top
to enable it. Yeah, so at its core like
ceramic is an event streaming protocol.
And this is not something that like most developers are
familiar with in web to like, there are few different events
streaming Solutions, but it's more of like a thing that
experienced back. End, Engineers used to really
scale to applications to like, handle a lot of load.
And so we need some tooling to Actually usable and easy to use
for developers. And so, what we created for this
is composed DB to compose DB is a graph database that allows
developers to Define data models, which is basically a
schema for your data. And this model you can, it's
kind of analogous to a Smart contract where you define the
data model and then users come to an application.
They create objects or documents that conform to this schema and
then the developer can query this data and read like, hey,
here's all the objects that conform to the schema and buy
all these different users or query like subsets of that.
And you can also have relationships between different
models. So, if you have a blog post you
might have a comment that points to the blog post and you will be
able to query like hey give me all blog posts.
We're like this subset of blog post and also all the comments
related to that subset of blog posts.
So that's kind of big, the graph aspect of that and this tooling
is built in something that's familiar with too many
developers called graphql. So you actually Define your data
models and graphql and you query read and write the data using
graphql as well and compost, it be So, I understand that,
basically, when I write data to my own data stream, I have to
choose a data structure. But how, how is the knowledge
about which data structure? I'm using percolated in the
network? Because as I understand that
today, I you I host my own data. So how is, how is the lateral
connection made? So, you can run an indexer by
spitting up your ceramic node and towing it to index and say
like, hey, what are all the data models in the network?
Or if you have some application that you really like, and you
would like to use like, oh, I need that data, then you can
just look at if their application is open source.
You can look at their application code and it's like,
pull, pull in the data model from there.
So don't like, this is the early days, I think what, what we're
hoping to see in the future? There is some kind of Explorer
or catalog of data models where people can use browse the
different data model, see the popularity and how much usage
they have. And so on and so that experience
should become much easier over time.
And that is also what happens. If there's two competing
standards for the same data model that basically you just
check what gets more usage or what people are more because you
kind of, there's a lock-in effect.
I mean, if you want to be composable the number of things
you can put, composable with is super relevant, right?
Yeah. So there might be two competing
standards for like a user profile.
And you might want to choose two, most popular one, or you
might just want to have a super application that can include
both profiles in this, like, kind of display the information.
That's, that's best it because then you have like reach to more
more existing users but really it's like enabling the developer
Community to figure out what's best for their needs.
So but data models are by default open source, right?
So I can use any data model that's out there.
Yeah, exactly. Okay so maybe let's talk about
the economics of everything a little bit.
So if at the moment I kind of i-i'm not actually guaranteed
any redundancy is there any way to actually monetize data that I
make available? Yeah.
So right now is there any because it fully peer-to-peer
Network and anyone has been up a node and replicate the data.
So I think the the primary use case right now is not for people
who want to monetize their data, it's more for like, hey, where'd
our community. We want to make sure that are
pending transactions or discussion governance, Forum
doesn't disappear and then you can have like, multiple
individuals in this. Wedding in this style, like
providing redundancy for this data.
I think monetization of data is something that's really
interesting. It's not our core Focus right
now and ceramic is primarily a Data Network right now.
I think there's a lot of interesting combinations that
could be made with financial systems, like ethereum and other
blockchains where we can Leverage The Best of Both
Worlds. Like maybe like N ftes and
Jersey 20 tokens for doing some of the financial aspects of
social media or knowledge, graphs, or something else.
And then using ceramic for that really high throughput, scalable
data system, Okay. Yeah, I think I understand where
you're coming from. I'm still kind of, I think I
still have a couple of mental disconnect.
So if basically, if currently people kind of replicate data,
you know, altruistically and are not compensated for this.
How do I protect myself against censorship?
How do I protect myself? Against kind of having people
replicate my data either in complete lie or you know
maliciously differently than I, I wanted it to be sword.
Yeah. So you can certainly not.
If you have your data, you're running your own ceramic note
and have that data there. You can certainly not like
guarantee that other nodes in the network right now can like
are providing exactly the same data.
But however, if there is one on as node in the network, any
honest, no disease. Like is wanting to synchronize
data, your data, would eventually be able to get up to
speed and and find all of the data that your Note is
providing. So, - there's one on us node.
The data will be in the network, but how do I decide which one
the honest version is right? So say my I was one of the
hostess for my Dau community and my computer went up in flames
and there there's like a couple of people who kind of hosted the
same content and now they are in disagreement about which the
real content is. Hmm.
So the only thing that these nodes can do is to remove data
and if your note that you know, as honest disappears, yeah.
Then you can have to trust that they are providing all the data
that was there before but they can't like say that hey this
data is in Compton completely different or here's a bunch of
new data like they can only say here's all the data or like a
subset of the data because all the data is signed by the end
users that are participants in the Darwin. that's not really
something you can fake and so, Yeah, it's be clear like this is
this is the current state of the network.
We are planning to add a network incentive where either
developers or communities or individuals can pay to make sure
that that data is kept available in the network.
Could you add something like a proof of completeness or so?
yeah, I mean I think that's like kind of wood block chains to
like they have this completeness because they have like this
Global state in an end eventually consistent system.
You can't really know if there's like some piece of data that
someone's been hiding for a long time and then eventually reveals
because there isn't like a the same completeness or time you
kind of have to let go of some of those guarantees to get this
more scalable system. Okay, that, that that's fair.
So we kind of talked about potential ways to kind of
generate revenue from streams as a user.
What about Ceramics? We see how it does.
How's ceramic financier? How's it going to be financed in
the long run? Yeah.
So as I mentioned ceramic is a fully peer-to-peer Network right
now. Anyone can run a node there's a
few aspects that we think it makes sense to introduce some
kind of token model. So the aspect right now that is
the biggest cost of the network as a whole and that three bucks
Labs is currently subsidizing is the anchoring process.
So like actually making the unchain ethereum transactions,
that's something that we were, we wanted To decentralized as
soon as possible. So that it's more of like a
network activity where you participating in the network.
You participate also to this process of anchoring things, so
that's one aspect. The other aspect is the
availability of data. So having the ability for users
to pay for their data to be available and node providers to
get paid by the network. To use like running node and
keep some subset of the data network of data, in the network
available. I think that's.
That's also like key to understand it.
Like once we have this logic and in system for nodes to be
compensated, we're likely we can actually have each node.
Only needs to provide a subset of the network and we can have
this decentralisation without having the Throughput
limitation, we have currently in blockchains.
I hope that answered your question.
Yeah it does answer my question and so you already talked about
kind of the four different niches that you feel could
benefit from building on ceramic.
There's already a large number of projects already building on
ceramic. Can you talk about kind of the
ceramic ecosystem and which projects you excited about?
Yes, I mentioned some of them already.
So I think the largest one right now is get going that they're
building this passport. Functionality on top of ceramic
disco is building their data back back system.
And in The Social Network in each, there is like orbis and
cyber connect. They're both building different
kinds of social networks or braces, definitely doing a bunch
of interesting things there and they are using some other
security. Multi-party compute system to
actually store encrypted data on ceramic.
So that's pretty exciting. They're providing like an SDK
for people to integrate comments and that kind of social
functionality in in similar way that was on the the previous
Omen prediction Market, I believe it was called that we
mentioned in the beginning. So what three bucks JS did way
back. Lateral is a project in the
design space that I mentioned before the building These
scientific discourse graphs and the Dowling ecosystem, I
mentioned that the safe decentralized.
Safe registry. I think I think the Dowling
space is there's a lot of opportunity there once people
realize that this this like resilience aspect is actually
rather important. And what's on the roadmap for
this year? Yeah.
So for this year next up is the release of composed to be on
ceramic magnet. So that's something we're
planning to go live with that if Denver.
So that's the end of February early March.
So that that's kind of what we're in the team.
Are the most excited about right now beyond that, there's a bunch
of improvements that we want to make in terms of developer
experience and performance to the composted be graph database.
And we're also working to make a lot of improvements on the core
event streaming layer. So, right now there's a pretty
tight coupling between the event streaming layer and compose the
be, we want to decouple this. So the event streaming layer is
more on its own and it essentially also enable other
people to build databases or different types of micro
services and so on. So those are like some of the
most eminent Isis over the next year.
I'm trying to wrap my head around this problem, that a lot
of a lot of what ceramic is doing.
Seems very similar to the to the work done by protocol labs in
the ipfs file coin. I coin combo.
So in my imagination of Ceramics, if I think like
ceramic versus ipfs ipfs is similar right, like, I can put
some data into ipfs, but unless I run my node, unless I kind of
replicate my own data, it can get deleted, but nobody can mess
with the Integrity of that data. That's the same seems very
similar across ceramic and and ipfs ipfs.
Does not provide eventual consistency.
So there will be no Global ordering of events, but ceramic
does. So that seems to be a big key
difference, ipfs natively, did Not have.
Yeah, a lot of incentives. Baked into it and ceramic.
As of today, also doesn't have incentives baked into it.
But then protocol Labs build file coin, where They were
incentives. And people can basically be
guaranteed that any data, they put into ipfs, will be
replicated by file called, and made available and ceramic also
seems to make take steps in in that kind of Direction.
I'm trying to understand. Like what's the meaningful
difference between between these two ecosystems and why would
developers prefer one of the ecosystems over the other in
this case, why would somebody prefer?
Take over the other other ecosystem, perfect.
So I will comment on like what these systems do today to my
understanding at least in the protocol apps ecosystem and and
what the differences are today because things think things are
likely to change in the future. So I believe this is really
good. If you have like static files,
right? I can put a file, I get the hash
or what they call a CID of that file and now I can synchronize
that across The network and do a bunch of fun things for that.
And I have integrity proof in this hash But there's no way to
like update this file because if I update the file you get a new
hatch, right? And so there's no way to have
like a an easy way to keep track of updates in.
In ceramic, our core Focus has been actually one important
thing to know is actually ceramic is using the same data
model as ipfs called, I PL D and that's how we represent.
This hatchling event log and the main thing we add on top of that
is that we provide signal like a signature system.
So we have attribution of like who created words and I can't
like let me go in a little bit in how that works.
So essentially when you come to an application that uses
ceramic, there's a session key created in your browser, you
sign sign in with the theory of message with your wallet, the
basically delegates some permissions to this session key
on behalf of your ethereum a This or other blotching actress.
And now the user can actually use the application, like they
would use any web publication without having to like for every
like and for every comment there's like a pop-up that we
need to sign in their wallet like that, the user experience
wouldn't be great. So I think yeah, that's that's
like one of the key differences is that there's like focus on
those making the user experience of how we do attributions really
well. And in ipfs natively, you do And
really have a distribution and in, currently involved coin,
it's really good for storing large files in large chunks of
data, in a kind of backup manner, but it's not right now.
Like something you can easily query and build like feature,
Rich applications on top. And so that has been our core
focus with ceramic. And so we see, we see our, our
technology, as kind of like, it's kind of taking the best of
like ethereum and Ifs emerging that to create a system that is
like enables developers to really build something
meaningful. I also compare ceramic to orbit
a little bit because this this fundamental idea that they
should be data and then they should be lot of, like, people
should be able to build you eyes for for interoperable data.
This actually this value kind of repeats in many different
ecosystems and orbit is another ecosystem in, which this, this
This value repeats and essentially honor, bit the data
you put on herb. It is also such that many people
can build different device to it.
So what? Of course, when you look at the
difference between herb it and ceramic.
I think like the trade-off space here is something like in orbit,
you can push private data to Herb it quite easily.
Like it's, it's designed for for privacy.
That's, that's a strength that orbit offers along with data
interoperability, but then the big big challenge of weakness of
herb it offers on the other side is, It's a completely new tech
stack right from the ground up, starting from operating system
to networking protocol. And so, and to even programming
language. So it it's the case that the
ambition in herb, it is so big that they just might end up
easily out competed by much simpler systems.
That also provide application interoperability like like
ceramic So that's how I tend to view that rid of.
What are your thoughts on how ceramic and orbit differ from
each other? Yeah, so so I'm I'm afraid I
can't make like super neurons comments here because I'm not
intimately familiar with irbid. But from what I understand you
have your kind of own kind of a virtual private server with
orbit, which you could run on your computer or someone else's
computer and that there you have the private data in the way,
which we talked about earlier, where yes, it's private.
If you host it yourself or you trust the person that hosts it
But you don't necessarily have like public verifiability, and
so that's, that's like a core thing that we've been focused on
in ceramic, like how can we have public verifiability and then
add privacy features on top of that?
But since we're coming from like the ethereum blockchain space,
the aspect of public verifiability and that
neutrality that provides is been one of our kind of core
principles. So I've also seen that setup
make raised a quite a big funding around in the in the
recent past. So how was that funding around
structured? And what what what what did
people buy in that funding round essentially and what kind of
incentives? Does, does your funding round
imply for the future? I'm probably not the best person
to answer this question because it was led both mainly by my
co-founders. But yeah, what we essentially
sold is equity in the three bucks Labs company and there's
also a token warrants in a potential token, in the ceramic
Network. Fantastic Joey.
So if someone wants to build on ceramic or on a ceramic node,
where should they go? To kind of find out more about
documentation and speak with people who are already doing
this? Yes, I think the main place to
go for everything as ceramic top Network.
And if we specifically interested in developer
documentation, Ian's, we have a developer portal at
developers.google.com a cloud Network.
Good, fantastic, thank you for coming on.
Joey this is super interesting. Yeah, thank you very much.
This was great fun. Thank you for joining us on this
week's episode. We release new episodes every
week. You can find And subscribe to
the show on iTunes Spotify, YouTube SoundCloud or wherever
you listen to podcast. And if you have a Google home or
Alexa device, you can tell it to listen to the latest episode of
the epicenter podcast, go to epicenter dot TV /, subscribe
for a full list of places where you can watch and listen, while
you're there, be sure to sign up for the newsletter so you get
new episodes in your inbox as they're released.
If you want to interact with us guests or other podcast
listeners, you can follow On Twitter and please leave us a
review on iTunes helps people find the show and we're always
happy to read them but thanks so much and we look forward to
being back next week. On Twitter and please leave us a
review on iTunes helps people find the show and we're always
happy to read them but thanks so much and we look forward to
being back next week.