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

2022 年 4 月 20 日
 soyojoearth
昨天微信差点被封,于是我突发奇想,希望发起或参与这样一个开源的项目:

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


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

这些需要用到的技术不复杂,但是工作量非常大,希望能有多人参与。
大家觉得怎么样?
16739 次点击
所在节点    奇思妙想
191 条回复
Joker123456789
2022 年 8 月 18 日
@AoEiuV020CN 封杀了,你可以换地址啊,区块链那么多节点。
AoEiuV020CN
2022 年 8 月 18 日
@Joker123456789 #161 对啊,可以换地址,但新地址要怎么告诉别人?

更新软件?代码就在那里,你换了地址我立马封杀就是了,闭源了也可以抓包找到地址,

境外社区发布让用户复制?用户能看到的我也能看到,看到一个封杀一个就是了,

端到端加密的私密群组内部共享不公开?那你这用户量就上不去了,影响力就没有了,我封杀的目的直接达到了,

有什么其他手段是封杀不了的?你有多少节点去不去中心都没用,我压根就不需要管你的节点,只要管住你的入口你就没办法,
Joker123456789
2022 年 8 月 18 日
@AoEiuV020CN 可以封杀,但不能捣毁和破坏, 而且你再怎么封杀 也只能封杀 客户端到链 这条路,节点可以搭建在任意国家,任意地区,而且去中心化的精髓就在于,人人都可以搭建节点,他不是由中心化的组织或公司来管理的,任意一个人 只要搭个节点就可以成为网络的一部分,你如果要扯全球封杀,那就有点脱离实际了,如果要这么说的话,那有什么人造的东西是捣毁不了的?

客户端到链这条路,想全面封杀 也得下点功夫,搭个节点 或者 换个域名 这种事,比起中心化的 web 那真是太简单了, 你杀一个,又冒出一个,而且数据你还捣毁不了,我上面也提到了,任何人 都可以搭建节点 加入进来。 对于这种东西你想彻底封杀,让他消失在某个区域,还是别多想了。 除非出台法律,谁搭建就抓谁,那还差不多。
Joker123456789
2022 年 8 月 18 日
@AoEiuV020CN 还有一点,你说“你有多少节点,不去中心都没用”, 你是不是忘了,区块链不存在中心。
Joker123456789
2022 年 8 月 18 日
@AoEiuV020CN 假如我是区块链的开发者,我起了一个创世节点放在这, 然后地球上任意一个人 在任意区域 启动一个节点连上我,那我们就组成了一个网络, 第三个人启动一个节点,他随便连两个中的哪个都可以,不一定非要连我, 第四个人启动一个节点,他随便连 3 个中的哪个都可以, 第五个人启动一个,他随便连 4 个中的哪个都行, 这 5 个节点中任意一个被关了(包括创世节点),都不会影响整个网络,如果再有新的节点起来 只要连上正在运行的任意节点就行。

区块链 根本不存在中心,没有中心的概念。 这些节点可以在任意地区 启动,你这个区域的节点 如果被法律禁止了,全部关闭,那其他区域的还存在呢。 这是节点的角度来看。

客户端的角度,如果这个节点对外提供的域名被封杀了,那客户端可以访问另一个节点,如果又被封杀,那客户端可以再连另一个节点。 只要世界上有人还在拥护这个网络,节点的数量可以无限,杀一个 起来一个,你怎么封杀?
AoEiuV020CN
2022 年 8 月 18 日
@Joker123456789 #163 我感觉你搞混了一个点,
你可以搭建节点,出了国家你可以搭建一万个节点,但你改不了 bitcoin core 的源码,你新搭建的节点不会出现在 bitcoin core 源码中,别人依然是通过 bitcoin core 源码中写死的入口来加入这个网络,先加入了才能得到你的节点信息,

单说封杀入口,去中心的区块链和不去中心的传统服务是没有区别的,不去中心的传统服务一样可以杀一个换一个,数据只要在境外都是捣毁不了的,比如 potato ,就是这样的,杀一个换一个,哪天国家要封杀 bitcoin ,bitcoin 想在国内使用也只能沦落到 potato 一样的下场,

真要封杀的话那必然是“谁搭建就抓谁”的,节点只可能部署在境外,否则服务器运营商第一个不答应,
我上面的说法都是建立在被封杀无法在国内搭建的前提的,你在境外搭建有没有法律都管不到,
AoEiuV020CN
2022 年 8 月 18 日
@Joker123456789 #165 我这里说的封杀入口,目的是让国内大多数人无法正常使用,不是要瘫痪掉你的网络,这不可能做到的,
就算是普通中心化服务,只要在境外哪个犄角旮沓部署个服务器,我们国家也是无法瘫痪掉对方的,

”他随便连两个中的哪个都可以,不一定非要连我, “
这个没问题,但我只要让他”一个都找不到“,就可以了,这就是封杀入口,我不是要把你的节点打死,
Joker123456789
2022 年 8 月 18 日
@AoEiuV020CN 搭建节点 跟源码有什么关系? 别人通过什么入口加入网络 又跟我有什么关系? 只要节点存在直接或者间接地连接,就行了。你用什么入口加入网络 和 别人用什么入口加入网络,没有任何关系,完全不搭嘎的。

传统服务器 你怎么换啊? 你指望全地球的人 都拿到你的数据库和源码吗? 就算你把数据库和源码都公开,那别人起的服务跟你的有屁关系? 在数据上 都已经完全隔开了,完全不搭嘎了。 而且这个搭建的成本 可比起一个节点 高多了。
Joker123456789
2022 年 8 月 18 日
@AoEiuV020CN 你只要记住一件事就可以了, 任何人在任何区域 启动一个服务器,他就可以对外提供这个 区块链的完整服务。

只要地球上还有人在拥护这个网络,节点数量就可以无限,换句话说 入口数量是无限的。 除非丧心病狂的 禁止一切海外连接,把国内变成一个 真正的局域网,然后出台法律,谁搭节点就抓谁。 要不然 是做不到封杀的。
AoEiuV020CN
2022 年 8 月 18 日
@Joker123456789 #168 我明明举了 bitcoin core 和 potato 的例子你还是无法理解”入口“吗?
我确实可以通过任意一个节点连接上你的网络,但你不得给我提供一个”找到节点“的方法吗?
你搭建了一万个节点我要怎么知道这些节点的地址?不知道不就连不上了?
总不能你每搭个节点都一个一个告诉全国所有人你的节点地址吧?
源码写死只是一种方法,没被封杀的情况最稳定好用,要封杀也最容易,

传统服务器要换当然是运营方或者说开发者自己换的了,不是让用户自己搭服务器,
AoEiuV020CN
2022 年 8 月 18 日
@Joker123456789 #169
"换句话说 入口数量是无限的"
你这说的就和我说的不是一个东西,可以通过一个节点得到连上整个网络,对这个网络来说确实这个节点就算是入口,
但这个入口不会突然出现在用户脑子里,你必须为这个入口再准备一个入口,必须让用户通过固定的方法连接到至少一个节点,才能加入网络,
AoEiuV020CN
2022 年 8 月 18 日
@Joker123456789 #169 我重新看了一遍,是不是我总在说”入口节点“让你误会了,
我这里强调的是入口,不是节点,节点可以是无限的,但入口不能是无限的,用户记不住无限个入口,
这个入口可以是任何方法,通过入口得到节点,包括口口相传,也包括写死在源码中,不论是什么,都一定是有限的,可以封杀的,
这里说的封杀是指”掀不起风浪“,让国内多数人无法正常使用这个网络,让这个网络影响力降到最低,而不是让这个网络不存在,
Joker123456789
2022 年 8 月 22 日
@AoEiuV020CN 你还是以中心化的思维在想问题,你要记住,节点人人都可以搭,记住这一点就好了,区块链没有中心化的运营商。

区块链的魅力就在于 去中心化,没有明确的服务商和用户,你老想着 我作为用户连不上 服务器咋办,你这个想法本身就是错的。

如果连不上,那我自己搭一个节点行不行,你就告诉我行不行就完了, 我自己搭的这个节点 怎么连上已有的节点? 很简单啊,我搭在海外行不行?
Joker123456789
2022 年 8 月 22 日
@AoEiuV020CN 你可能又要说,我自己搭建的这个节点 只要暴露了就会被封杀,那也很简单啊,我重新搭一个行不行?

而且 我会这么做,世界上其他人也会这么做,我就算不自己搭建,我也能找到别人的吧?
AoEiuV020CN
2022 年 8 月 22 日
@Joker123456789 #174 我是觉得你神话了去中心化,
你自己可以随便搭节点,但你的节点也要连上原本网络才有用啊,这不是喊个咒语“搭”就连上了,否则就只是个子链了,和原来的网络没啥关系了,
你可以找别人的,但关键就在这里,你要怎么找,这一步任何手段都可以封杀,除非你端到端口口相传,但这样就不可能做大,用户量和影响力上不去,
AoEiuV020CN
2022 年 8 月 22 日
@Joker123456789 #174 我总觉得你把去中心化当成集体潜意识了,
在你看来一个节点就一定是网络的一部分,每个人都是网络的一部分,不需要任何媒介就可以交换信息,
哪有这么神奇的技术,
AoEiuV020CN
2022 年 8 月 22 日
@Joker123456789 #174 你从头到尾就没有入口的概念,
在你看来你搭一个节点整个网络就会记住你这个节点,你的节点直接就成为网络的一部分,
你稍微仔细考虑一下,这必然要先能连上这个网络才能搭出来的,连不上就是废的,
不是跑一段代码服务器起来就搭好了,
AoEiuV020CN
2022 年 8 月 22 日
@Joker123456789 #173
> 如果连不上,那我自己搭一个节点行不行,你就告诉我行不行就完了,
不行,我可以明确的告诉你,不行,任何区块链,都不是说自己搭一个节点就不用连接别人节点了,

搞清楚,现在区块链也都是 tcp/ip 协议连接的,物理底层原理和普通网络服务根本没区别,不是脑电波通信或者量子通信什么的,一样会有 client 和 server ,只不过是每个节点都既是 client 也是 server ,对新节点来说就是 client 连接 server ,和中心化服务的连接是一样的,
AoEiuV020CN
2022 年 8 月 22 日
@Joker123456789 #173 我是真的不明白我明明举了那么清楚的例子你为什么还是不理解,
bitcoin core 跑起来就是一个比特币网络节点,
你可能觉得这段代码任何都可以下载,都可以运行,可以在世界各地跑起来一个一个的节点,
但我 160 楼就说了,bitcoin core 是有内置 9 个地址写死的,你真的无法理解这里写死这些地址的作用吗?
go522000
2022 年 8 月 22 日
从需求来看确实有点像 email ,那能不能在 email 服务上进行升级,比方说在原邮件服务上增加长查询、白名单(好友)、通知等。

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

https://v2ex.ih06.com/t/848089

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

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

© 2021 V2EX