Ceramic:开放数据图谱
几天前看了Joel在ETH Berlin上关于ceramic的分享,做了个视频笔记。这篇文章是在笔记的基础上,整理了一下我觉得有魅力的叙事,并继续逼叨 与「文字区块引用」之间的联系。
我喜欢 Ceramic 在一系列问题上的解释:
1)关于「身份」?
与真实身份的隔离,聚焦非金融数据。
2)一个架构去描述「非金融数据」,比如一个社交行为的交互过程
三个层级之间的关系:从签名出发。第一层是事件流(event stream),比如一个评论comment的行为就是个数据流;第二层是索引系统(indexing);第三层是图谱,创建各种data model去汇编数据流,组合数据,实现动态计算。
3)「去中心化知识图谱」将是一个表现、衡量贡献和交换应用数据 的图谱。也是用户之间的关系图。
4)我在一篇文章里看到了一个有魅力的叙事,和拆书计划非常类似:让我们有理由想象“写即成书”。
And we can return to our ancient scholar, wandering library to library in the vain pursuit of sharing and translating each other’s texts so that the libraries might eventually resemble one another, as a kind of meta-library featuring all texts in all languages, accessible to all...
Ceramic is unique not only because it might be considered web3’s great competitor to Meta in developing universal rails for data—but because it’s what lets us write the books in the library in the first place.
笔记
身份
Ceramic从第一天起就聚焦于「去中心化身份」。
什么是「身份」?
数字身份仍然是你和世界的交互。这个交互不仅是金钱数字往来(80%区块链应用聚焦的问题),也是那些很难转让的东西,比如知识创造、信誉、受教育凭证、人与人之间互相的认可...他们一起构成了关系图,并可以在未来借助token分配 价值流。*
*参考自Shu Dong的《代币设计方法论: 价值流》一文(过两天发)
开放数据图谱可以实现什么?
试想一下,经每个人数字签名下的交互构成了开放数据图谱。基于此,我们可以「设计和定义」协作。
那么,开放数据图谱的特点是什么?
第一,数据的跨应用共享。*
这应该是一个可插拔的系统。举例来说,比如gitcoin的捐赠行为构成了你的一个「链上履历」,这就是一个可插拔(pluggable)的数据集。数据可以被组合。
第二,数据真实性的保障。
数据可信并不意味着要与你的真实身份一致,这是最有吸引力的点之一。链上身份与真实身份保持隔离,同时保证数据的Authenticity。
要做到抗审查,以及防止一些恶意的行为(bad actors)。
*联想:
这让我想到了Geoffrey Hinton在「AI与大脑」的播客中提到的非永生计算机(immortal computer):它消耗很少的能量,不记忆权重,通过学习来获得知识,知识可以被提取到其他硬件。当它死亡时,知识也死亡。
现在的区块链系统如何处理数据
数据的可扩展性是主要问题(因为需要很强的consistency,尤其是金融数据)
* 容量限制(limitation)的原因在于,每个区块都要块生产者的共识确认
* 金融数据需要consistency
现在有两种解决方案:第一种是solana,celestia,AR的方案。这几个都是针对自己社区建立共识,并仍需要大型硬件去运行交易。
Ceramic 要解决的问题就是容量限制。通过verifiable audit trails(中文不知道咋翻译)让数据可组合这件事成立。并且专注在非金融(交易)数据的用例,不需要很强的consistency。
三层结构
具体怎么解决?通过三层结构。
事件流(event streams)——索引系统(indexing)——图数据图谱(graphql API)
其中data model是非金融数据的“智能合约”,定义数据的组合逻辑。
数据模型(data model)是由社区中的开发者创建的,通常代表一个单一的、有逻辑的应用功能,如用户档案、社交图或博客,开发者通常结合多个数据模型来创建他们的应用。
用例
用ceramic的三层架构去描述一个社交交互过程。
举个例子,在一个proposal和comment的场景中:杰西提了一个proposal,jimmy要去给他评论(或被邀请评论)。
第一,你的DID控制(连接)着事件流
你产生的每一个行为、改动,在这里就是你写或改动proposal(comment)都基于DID。
第二,data model定义组合逻辑
比如给proposal评论,就是一段逻辑:一个data model是Author A sent a proposal,另一个是comment,中间的关系是reference。
第三,检索图谱
我们已经知道图谱里面承载着什么
* DID身份(与真实身份隔开)
* DID下的行为数据 trials(与金融数据区别)
* DID之间的关系(引用、评论 etc)
*这种情形下,dApp关系没有那么对立,因为用户的数据是自己的,不管是用哪个应用写proposal,proposal的「内容」就是在你的签名之下,到时候query的是你这段stream。可以把数据像乐高那样插来拔去。
为数据编程,就是建立图谱的过程。一旦图谱形成,就可以对个人贡献者进行反向追溯(奖励):有针对性地分配收益或权益。
总结
ceramic勾勒出了有想象力的叙事空间,不管是穿梭时间的图书馆,还是可穿戴数据、开放知识图谱 等等。让我们拿出一首歌的时间忘记寄生于任何一个平台(比如Twitter)的思路,从头开始可以构建什么?
换句话说,如果思考从个人出发的内容生产(流程),原web2平台的突出作用,如分发、裂变、积累流量、endorsement等,在签名经济下会以新的方式呈现吗?
如基于ceramic搭建的去中心化推特Orbis,和dataverse的📁文件夹系统。
Orbis
技术的迭代与更加不确定的新环境相互塑造:publisher可以是每个人,(匹配)算法可以多样,图谱可以公开:我要基于我的生产,找到更相关的关系,与之建立可追溯的图谱。
一个内容可以以N种方式被发现吗?!
让流量至上留在算法单一的平台中吧。
我的问题
re @ceramic:
对于语义层,说实话,我在定义这个问题上有点困难。我所设想的是一个计算文本块的层,没有任何上下文(只是文本),计算它们之间的“相似性”。在这一层,可以设计各种各样的 "匹配算法"。所以,可以激励开发者做各种匹配算法的设计🏃,因而用户在查询最相关的块时,就会有各种选择。
就像我们在自己的roam数据库中做“块引用”一样。不过,现在我们可以从一开始、在更大的范围内做 (( )) 这件事,我们可以查询其他人的区块并相应地找到上下文。但是🔍查询部分会更有意思,因为在roam中我们遵循的是唯一的确定的搜索块的方式,通过建立查询层,我们很可能会接触到各种算法。
@李博 的补充问题:
就假设 所有人的block都在那里了。怎么在这个global block database上,让developers(包括一个普通人、一个文字机构、一个数据科学家)发布他们各自的semantic model 是核心问题了。
(未完待续)
微信扫码关注该文公众号作者