iVampireSP.com
我们一直都在为梦想而前进着。
iVampireSP的物语

一个去中心化匿名社交平台方案

这是今天经历了下午三节英语课并来自头脑风暴的方案。

参照的是Mastodon的中继。

实例相关

  1. 新加入的实例只能接收新的数据。
  2. 实例可以加入不止1个中继服务器。
  3. 文章内容将存储在各个实例上,文章ID将由各个实例分配,每个实例之间互不干扰。
  4. 媒体可以由各个实例进行保存,或者从原实例获取。(双方都要设置)
  5. 用户注册时,用户名以及密码由用户自行设置(密码设置后无法更改)。由于考虑到是匿名和隐私,所以没有邮件功能,所有通知全为站内通知。注册后将发送到中继服务器,中继服务器生成唯一ID,然后进行广播。
  6. 前端应使用WebSocket实时获取时间轴中的内容。

中转(中继)

  1. 中继服务器将存储实例域名与交换密钥以及用户唯一ID(需要对应用户名)。
  2. 中继服务器发送数据时应该带上原服务器发送内容时的时间,避免出现时间轴混乱。

特性

注册广播

当新用户注册时,新用户会被广播到所有服务器。

用户在一个实例注册时,实例会到实例所在的所有中继服务器查找用户名是否已经注册。如果已经注册,则不能再注册。

也就是说,一个用户名可以登录多个实例,但是他只有一个主实例。用户可以自行设置自己的主实例,设置新的主实例时不会迁移原实例文章,也就是说如果数据不同步,那么迁移后数据依旧不同步。

如果发生冲突,则用户将无法在发生冲突的服务器上登录。

恶意广播

实例与中继服务器无法判断来源是否合法,因此有些恶意实例或者恶意第三者会向广播中投放有害内容。

中继服务器可能需要接入一个第三方内容识别服务器来区分是否为恶意内容,但可能会产生额外消费,但是不用担心,这个并不是强制性的。

数据修改与删除

用户可以只可以删除自己的账号,但是无法修改已发布的内容。因为内容会在时间轴中流动,在联邦宇宙中,内容不会彻底删除。

账号删除后,会被标记为不可用并清楚用户名密码等,但是并不会完全删除,当下一个人注册重名账号时,会重新分配账号ID。

账号也不会彻底删除,因为有些实例可能会永久保存并归档。

最后

其实今天晚自习已经开始研究了,按照最近放鸽子的情况,估计半年应该会完成(可能)。

iVampireSP.com

Author

即使有些奇怪,那也是你的可爱之处。

Leave a Reply

textsms
account_circle
email

  • Ruok233

    看起来整个系统有些依赖于中转节点,我想这样网络的去中心化就打了折扣。在我的设想中(见上条),网络中只有对等节点,当新节点加入时去连接一个已知节点,已知节点返回自己知道的其他节点。(最初需要一些种子节点,当网络中节点足够多的时候种子节点就能下线了)。网络中节点会有分类,用来存储不同类型的数据,但大家都是平等的,不存在仲裁权。最后是激励层,实现一个区块链代币用来奖励节点运营者,同时运营节点需要质押代币,用来防止恶意节存在。

    4 weeks ago Reply
  • Ruok233

    巧了,最近我也在构思一种去中心化平台,主要功能是存储论文和即时通讯,为了节点维护者有动力运营,甚至包括一个激励层(代币发行/炒币bushi)。

    4 weeks ago Reply
  • 万物皆可去中心化x
    但是节点少了就很麻烦

    1 month ago Reply

iVampireSP的物语

一个去中心化匿名社交平台方案
这是今天经历了下午三节英语课并来自头脑风暴的去中心化方案。
Scan QR code to continue reading
2021-05-17