ArcBlock / dappideas

Ideas collection for decentralized apps
7 stars 0 forks source link

一种去中心化的 social network 模型 #296

Open mave99a opened 1 year ago

mave99a commented 1 year ago

去中心化社交网络的设计和实现有多种模型,这是其中一种。 另外这是一个面向开发者的抽象信息模型,具体产品实现可能最终用户并不会体会到这些概念模型的存在。

Social Node (节点)

社交节点是一个逻辑概念,不要个物理上的服务器(server)或区块链的节点等混淆。

社交节点可以是属于一个人的,也可以是属于一个组织(这个组织的地位相当于一个人,但往往其中包含有一群人,例如一个公司、一个DAO,一个群)。

社交节点在逻辑上:

Social Hub / Aggregator (聚合点)

Social Hub 也是一个逻辑概念, social hub 可以有很多种表现形式:

Hub的界面表现形式:

Hub 是一个聚合器(aggregator),对于数据各个hub 有不同的策略,比如有的hub可以完全不保存数据(例如社交节点自己的hub,因为数据就在自己的节点上,没有必要保存); 也可以作为数据的cache,长期保存; 也可以有自己data retention策略。 节点可以对自己提供的数据的cache/retention提出建议,但Hub自主决定。

去中心的系统中,往往不存在一个Hub 有全部的内容 (即使一个海量收集信息的hub,也因为有些节点的数据并不是公开的而不能被Hub收录)。

Hub 可以从多种协议的信息来源来聚合内容,例如Twitter,RSS, ActivityPub,... 等。

有的hub内容是moderate 或者editoral的,这完全取决于hub自己的运行决定。

推荐系统是Hub的一个附属功能。用户可以自主决定接受来自哪些hub的推荐。

Social Objects 可以通过 Hub 来呈现。 例如一个电影的Hub 可以汇聚所有公开的电影评论。

和常见的 social network 模型的区别和联系

常见中心化social network 中非常注重双向friend 关系(最早的FOAF协议),twitter 流行后变成单向follow 关系。 很多人认为这是社交的关键点。 其实这些follow 关系主要作用仅仅是用于信息发现的时候聚合,早期这些信息是信息聚合的唯一来源。 后来推荐系统的出现,一定程度上打破了这种状态(也让用户感觉自己获得的信息不受控制)。

中心化的社交网络实现上,聚合和推荐的实现显得相对容易,数据库的查询就能获得聚合后的内容。 推荐的内容也来自相同的来源。 去中心化社交网络的难点在于,这些聚合的数据可能不在本地(需要首先去获取),另外没有未订阅的内容是没有的 (这是为什么需要 Hub)。

Mastodon 其实一个实例有很多用户,因此类似于中心化网络,但因其用户可以订阅其他实例上的用户,因此每个实例上除了本实例用户的内容外还会有更多来自其他实例的内容(但不会齐全,也会比较随机)。mastodon的默认timeline 有三个,因此用户刚开始觉得很混乱和随机,也会看到自己厌恶的内容:

Mastodon 基于的ActivityPub 其实只解决消息投递的问题,聚合完全是mastodon自己来实现的。 因为他们的设计,使得 hub 这样的概念是隐含的。

用户界面的UX

参考:

mave99a commented 1 year ago

以上信息模型的几个例子(待续)

shenxiuqiang commented 1 year ago

去中心化应用应该有些不一样的东西,我有个LBS应用想法; 节点有可以设置local,经纬度坐标(或者电子围栏),节点根据质押量,管理一定范围的“领地”; 用户只有在领地内才能发分类信息。查看信息、回复信息不限制地域。使得信息具有地理属性,可以在地图上展示; 分类信息可以设置不同的运营规则进行收费,不同的分类信息可以免费或收费。 比如一个社区领地,只有社区的人可以发送分类信息。 社交信息可以免费,或限量。租房信息、广告信息可以收费。 另外可以结合各种应用系统,比如餐饮可以启用菜单、点餐系统。NFT优惠券系统等等都可以接入; 节点运营者可以开拓商业应用。

领地大小除了质押量,还要考虑参与人数,参与的人越多,领地越大,参与的人组织成DAO。

mave99a commented 9 months ago

FB 的这种personal timeline builder是一种典型的aggregator:

https://github.com/facebookresearch/personal-timeline