构想:为了打破垄断,想做一个开源的产权去中心化的即时通讯开源项目

2022-04-20 11:07:29 +08:00
 soyojoearth
昨天微信差点被封,于是我突发奇想,希望发起或参与这样一个开源的项目:

1 、一个相当于去中心化的微信,任何服务器完蛋都不会影响系统的功能;
2 、没有任何人控制该系统全部,没有任何人可以恶意干涉内容;
3 、传输管道加密,点对点加密,朋友圈内容也加密;
4 、App 分发自由,Android 和 iOS 全开源,任何人都可以打包、发布,只要协议一致就可以互通;
5 、服务器代码全开源,也有 Docker 封装,简单一键安装便形成一个节点;
6 、各服务器产权分布式归属,且该系统协议上没有特征,内容不受恶意干涉、避免恶意攻击扫描;
7 、商业上可持续,可以通过广告、群社区经营实现盈利;


我花了 1 天推敲了各技术实现基本思路,还画了架构图。(再这里放图链接就提示我需要注册满 30 天)
架构图在 github 项目 /soyojoearth/freechat 首页

这些需要用到的技术不复杂,但是工作量非常大,希望能有多人参与。
大家觉得怎么样?
13805 次点击
所在节点    奇思妙想
191 条回复
ltkun
2022-04-20 20:52:01 +08:00
你能想到的难道注重隐私的欧美人想不到吗?不仅有去中心化的聊天系统也有去中心化的微博
chenshaoju
2022-04-20 21:40:53 +08:00
bs10081
2022-04-20 22:16:54 +08:00
twing37
2022-04-20 22:19:35 +08:00
- 不要想着去跳过监管.监管的部分条例反倒应该是要抄的作业.这是不可绕过的.
- 去中心化这个在我看来属于变相推向用户端,增加其心智负担.有一种方式可以并网节点,服务数据特定于客户网络
- 点对点的加密导致后续的应用服务的蓝图就是一张废纸.

- 做用户与节点的连接,做 99%的数据开放.但是数据流开关握在用户自己手里
- 做致力于信息流的应用服务的无切裂感动作
- 用实时信息流的特性冲刷脏信息
- 关联节点服务器可互通与合并信息主干,具有协作性.
- 能够报告数据服务账单
- 22 年了.我们的信息获取,处理方式和老百姓跑各种窗口类比下,也没啥差.共勉
lovepplforever
2022-04-20 22:22:27 +08:00
我只想要一个去中心化的 v2ex
iyaozhen
2022-04-20 22:24:27 +08:00
这样吧,飞书支持私有化部署,你花钱自己部署一套自己玩。

你说的都有,包含点对点加密,阅后即焚
galenzhao
2022-04-20 22:45:02 +08:00
端多端加密违法
谢谢
endle
2022-04-20 22:54:52 +08:00
@DiamondYuan 不如简单一点,给电子邮件包一个类似微信的客户端,邮件列表包装成群聊。lz 的需求都满足了
wellqq
2022-04-20 22:56:28 +08:00
@AoEiuV020CN 说到挖矿,我问一下,硬件钱包里的加密货币要转出去给一个地址,这时候需要连接的网络是固定的入口节点吗,也就是挖矿他能封矿池 ip.,但是加密货币的转账,从技术上他能封的住吗
miaoge520
2022-04-20 23:00:07 +08:00
telegram 不就是是嘛?干嘛要自己去开发
moeik
2022-04-20 23:08:32 +08:00
op 这个是不是有点像 Matrix ?
XiLingHost
2022-04-20 23:48:15 +08:00
@wellqq 不需要,你只需要把你的交易信息广播出去让足够多的节点记录到账本上就可以了
GeruzoniAnsasu
2022-04-21 00:47:21 +08:00
整天见到一群人喷「自我阉割」,怎么一讨论到 idea 就都上来先「审查!!」

----

说几个硬伤

1. 对于 IM 来说,长链接是非常不经济的,server 和 client 都一样。大多数 im 都会保持一个流量或者负载很小的长链接来同步一些服务器状态,然后消息体用 UDP/短会话连接来发。这个设计里「除非退群否则还会一直保持连接」,我 client 关了群聊还要同时保持数十个群服务器的连接?意义何在?而且根据这个架构,这些群连接是不可能多路复用的,我真的 **必须保持几十个 TCP 连接,占掉几十个端口**。

2. 群服务器之间并不相互通信,所以「任何一个人服务器毁灭不影响整体」纯属无稽之谈,如果服务器=社区,一个服务器没了整个社区都会消失。请务必注意你现在的设计里,社区是运行在单独一个「群服务器」上的,并不运行在整个网络上,这点前面的人说过了但我强调一下,这是与你根本目标「去中心化」最背道而驰的一个设计谬误。

3. 当新孤立用户加入网络的时候,他如何发现全网的群服务器?跟问题 2 类似,假设极端情况两个大「 _群服务器_ 群」间仅有很少的共同用户,当这些共同用户离线后,两个「群服务器群」之间就无法互相发现了。想象一下很少人会同时上 A (cfun)站 B (ilibili)站,当某些用户离线之后,新孤立用户发现 B 站在服务器列表上消失了,what?

4. 还是孤立用户的问题,如果有两个可通过其他方式联系的用户(比如现实好友),他们怎么在这个网络上开始通信?先扫到一个共有服务器?如果两边的网络环境不一样扫不到公共服务器呢?

5. 无法 invalidate 某用户过去发过的消息,这与隐私性极度相悖。由于群服务器和叶子结点客户端都是非官方、非自己控制的,因此不存在可靠机制能确保服务器或结点删除用户的数据。注意「群服务器」是社区搭建的,它完全可以私自镜像所有用户的聊天数据,而你没有任何手段去管控。设想我通过营销手段搭起了全网最大的群服务器,然后偷偷镜像所有聊天记录卖给黑产——没有任何人能管控得到我。请注意这不是个审查问题,这是 **安全问题**。 不过这点可以用与你设计中的朋友圈相同的机制解决:发出的消息只存本地,中转只中转公钥


还有这些相互矛盾的话(红)和无足轻重的特性(青)…… 建议别当成纲领性 feature 来宣传






----

大多数的 idea 根本走不到验证阶段
开始实践的 idea 也有相当一部分走不到运营阶段
运营阶段的 idea 大部分也会被现实因素否决
建议「先跑起来再说」
ex2vkf
2022-04-21 03:33:57 +08:00
lzyfred
2022-04-21 04:45:58 +08:00
出国再干,国内没这样的土壤。
man2vec
2022-04-21 07:39:50 +08:00
@soyojoearth 看到你在 20 楼这条回复。其实你想解决的问题和用什么技术,中心化不中心化没有关系。
无非就是把有监管转变为无监管了。

去中心化并不是什么天堂,事实上也证明了没有人需要一个完全去中心化的服务。

其实你理想中的东西应该是 telegram ,你的信息相对的安全了,但是也有「 N 号房」这样随之而来的问题。
Ourobotos
2022-04-21 09:14:28 +08:00
我觉得与其在软件层面去中心化(这方面现有的方案已经够多了),不如考虑一下硬件层面低成本去中心化,比如用树莓派加天线什么的做个对讲机式网络,每台机器自动转发接收到的包,实现无线加密局域网,只要这个范围能够覆盖一个人口稠密的地区,例如东京、魔都之类的,然后一台机器被破坏破解也破坏不了整个网络,那就会有相当的价值。

例如黑市,间谍。
wangyzj
2022-04-21 09:43:24 +08:00
去中心化和即时是矛盾的
AoEiuV020CN
2022-04-21 09:48:23 +08:00
@wellqq #109 转账本身防不住,但可以针对发布的钱包软件封锁,钱包软件必须内置一个或者多个入口节点地址以便获取其他节点,如果已经获取到了其他节点再想封锁是做不到的,但只要封锁了入口节点就可以让以后安装钱包的用户连一个有效节点都找不到,
deepout
2022-04-21 09:49:16 +08:00
本质上这并不是技术问题,是政治问题。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://yangjunhui.monster/t/848089

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX