想基于电报开发完全去中心化的端端加密的即时通信 APP,目的是避免审查,有朋友有兴趣吗

2022-09-05 12:51:01 +08:00
 wanmyj

Problem:

  1. 不翻墙的墙内安全群聊
  2. 中心化的 APP 一定会在被封和被审查当中二选一
  3. imessage 这种虽然不会被关键字审查(理论上),但不能跨平台

Solution:

  1. 基本设想是类似于magnet link,需要客户端,并且所有客户端都可以作为某些服务节点
  2. group owner发起一个group link,内容包含群 hash ,和自身 IP 和开放端口等信息组成的 tracker (NAT 造成的困难可以再想办法解决,我还没想到最优方案),有效期,校验等信息。发布出去等待group member连接,建立群聊天室。
  3. 任何群组员group member都可以当 tracker 提供group link给其他人。
  4. group 内采用端端加密通信,并且无中心 server 。如果所有group member在同一时间换掉了 IP 地址,那这个群就会消亡。
  5. 聊天记录记录在一个或多个group member的本地,如果所有group member同时删掉了某条聊天记录,则这条记录无法恢复。

本人在外企工作,平均每天能有 3 个小时的开发时间.这个项目可能需要数千小时的开发量,我的工程经验怕难以承担这种项目,所以想找一些同好一起完成这个 project 。最好有个有 IM 和网络工程经验的大佬来做 leader 。

我想这个项目一定要开源,无论哪种许可证。

11167 次点击
所在节点    程序员
153 条回复
midknight
2022-09-06 22:14:08 +08:00
好主意,我看刑!
ChenYFan
2022-09-06 22:36:58 +08:00
@mokiki 难就难在新建账户根本不需要门槛。我承认你说的情况在一个小圈子里或小组中完全可行,毕竟我只接受我熟悉的人,但放眼大环境,这种不需要成本的信用很难维持,也极易出现滥用问题,这我也提到了。

至于代币,我只是打个比方,真正有效的激励不应该局限于此
关于手机终端切换问题,只是影响了接入点。单纯的广播签名消息其实没有太大影响

账号的注册我有个想法,社区维护一个私钥,注册的时候给用户公钥签名,之后网络中的检测只要校验签名即可
niru
2022-09-06 23:37:03 +08:00
朋友,Delta Chat 了解一下。端到端强加密,你只需要下载 app 并拥有一个在大陆可用的邮箱。
mokiki
2022-09-06 23:44:19 +08:00
@ChenYFan 如果网络带宽有空余,完全可以尝试和新用户交流看看。多认识人路子也宽广些,新人欠债不还,损失也不多。想象一下,公司里借钱不还的人多吗?还是每个人觉得借几百块钱不还也不会坐牢,所以每个人都借你钱?借钱不还只会社死。而且这些都用程序记录,无需手工操作,和你朋友聊天时,程序后台就会把你的黑名单推送给朋友,朋友就知道这号人没信用了。

如果你要用此去中心化系统中的其它程序和其他人交流可能都需要介绍人,此时可能新人就需要主动奉献给老用户,就是老用户欠新用户债了,这样老用户才能考虑和新人继续交流。老用户觉得新人还行,才会推给老用户的朋友。老用户和朋友,圈子多(各种程序里的各种小组)人脉广(联系人)资源全(美剧音乐电子书)。新人必须正直才能进入老用户的朋友圈。想象一下你开个烟酒店,突然来个新面孔要赊账,你肯定不愿意,新面孔必须卖点你想要的土特产给你,你才愿意用你欠新面孔的帐来结算他从你这里买的东西,慢慢的,你愿意把新面孔介绍给你的卖包子的朋友,理发的朋友。新面孔就为了赊一个包子就断掉生活的便利吗?

我想象的系统是程序上结构上完全平等,但是每个人都有自己的社会信用。社会信用是交往认识时长,网络稳定度,帐目结余等信息,程序自动算出的。可以用来优化数据传输优先级。
mayli
2022-09-07 07:29:37 +08:00
leegradyllljjjj
2022-09-07 10:15:13 +08:00
这世界根本没有完全去中心化的东西存在
AoEiuV020CN
2022-09-07 11:01:04 +08:00
这样的帖子站内已经有了,
/t/848089

我的看法是,app 能做出来,但是可以封锁你 app 的传播,
只要任何平台不允许上架,任何国产手机都报毒,任何论坛和 IM 禁止讨论,你的 app 就传播不开,只能小范围和朋友玩,
已经大范围分发了的 app 可以封锁 app 中写死的入口地址,
修改后新分发的 app 继续封锁传播,
ChenYFan
2022-09-07 11:08:34 +08:00
@mokiki 还是一个根本性问题,新面孔的生成不需要任何门槛。

如果一个人能容忍少量的新人欠账,无门槛的生成必然会有人一瞬间注册大量新账户来消耗额度。最终导致网络中的每一个人都不再信任陌生人。

如果每一个新面孔都要奉献一定能力才能加入网络,那么入网就会变得比较困难,不适合那些弱接入人员。再者,这实际上已经是激励的变种了。
ChenYFan
2022-09-07 11:11:51 +08:00
至于诸位所说的对分布式网络的打击,还是停留在早期 Tracker 层面。目前的 DHT 去中心化网络,实际上只要有任意一个入口(引导人)就可以达成加入,是非常难以完全阻断,这一点完全不必担心。

至于广播消息,用 KAD 的桶特性,每个人只转发消息到比来源桶小的桶即可,这样发布者只要最少 160 次传递即可完成全网广播,也能避免网络海啸
uni
2022-09-07 13:48:45 +08:00
有没有考虑基于隐私公链的方案,没有 ip 问题,顺带还可以发个币(
Kiriri
2022-09-07 13:53:10 +08:00
NAT 造成的困难就是最大的困难, 这个网络环境, 完全去中心化, 理论上做不到吧
bthulu
2022-09-07 17:54:01 +08:00
group owner 难道不就是一个服务端吗? 抓人只要抓 group owner 就行了
Nb665
2023-08-09 18:27:07 +08:00
老哥,怎么样了

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

https://www.v2ex.com/t/877787

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

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

© 2021 V2EX