从技术角度讲,是否有可能建立(或已经有)类似 P2P + Tor 的匿名聊天/邮件工具?

2020-05-22 13:53:41 +08:00
 imdong

一直有一个想法,就是每个人生成一个自己的 RSA 密钥对 即可创建一个账户,公网上公开自己的 密钥签名,并且加入到这个 P2P 的网络中来。

应该是可以和 BT 下载的 DHT 一样,完全去中心化,可以有公共的 Tracker,但每个人又都是 Tracker,相互交换自己已经获取到的 其他用户 / Tracker 的连接信息。

当 A 需要发送信息给 B 时,使用自己的私钥对信息加密签名,然后把接收人的公钥指纹和加密的信息打包在一起,然后将打包后的数据广播给自己可以连接的用户。

每个用户接收到别人投递的包裹时,如果收件人不是自己,则再次广播给自己的其他用户,直到信息被收件人签收,也许会和 “六度空间理论” 一样,经手 6 个人就可以到达收件人手中。

为了激励用户,并且减少 “广播风暴”(是这个词么?),应该加入类似 TTL 的过期制度,或者使用金钱作为奖励,如果链路连接成功,则将奖励平均分给成功的链路中所有参与的用户,如果平均奖励低于最低单位时,丢弃信息。

但是似乎这样发送效率会挺低的,并且垃圾信息会很多,可以考虑把自己的指纹隐藏一部分然后与其他人交换。

例如:"63BA2ACA57F35E34B52153F9FA217BF1" => "6------A---35----5--5--------B-1";

每个人收到信息后,优先将邮件转发给指纹比较相近的若干人,也许能减少。

漏洞挺多的,但感觉挺有意思的😂理性讨论,不要喷我哈,暂不考虑政策问题。

3623 次点击
所在节点    奇思妙想
17 条回复
catror
2020-05-22 13:55:30 +08:00
tox 了解一下
imdong
2020-05-22 14:20:47 +08:00
@catror 研究了一下,是 P2P 对等聊天工具,没有包含 Tor 属性,不能隐藏自己的 IP,但有提到有人使用 Tor 隐藏自己。

隐私上足够了,只是 Tor 好像没办法实现 P2P ?
catror
2020-05-22 16:12:31 +08:00
@imdong 要 Tor 属性的话,可以 Tox over Tor,官网有配置指引
jimmyismagic
2020-05-22 20:30:23 +08:00
tok, telegram, keybase, 等等
jimmyismagic
2020-05-22 20:35:40 +08:00
再参考下 grin,一种是通过蒲公英,另外一种是 tor,tor 当然可以 p2p,点对点加密聊天原理其实很简单,至于激励,你说的那种方式不太可能,必须用到区块链的激励制度,这种方式下并不是你帮忙传播就能得到激励的,事实上 p2p 不需要激励,就像 tcp 一样
swulling
2020-05-22 21:38:30 +08:00
直接建一个 smtp 服务器,然后用 tor 网络发出去不就行了。

email 本身就是 p2p 的系统,唯一需要解决的是匿名。
wzzzx
2020-05-22 22:59:49 +08:00
脑洞挺不错的丫
AngryPanda
2020-05-22 23:01:27 +08:00
类似 dht 网络的翻墙方案应该不错
cnt2ex
2020-05-23 08:59:29 +08:00
@AngryPanda i2p 差不多就是这样
cnt2ex
2020-05-23 09:13:31 +08:00
>每个用户接收到别人投递的包裹时,如果收件人不是自己,则再次广播给自己的其他用户,直到信息被收件人签收,也许会和 “六度空间理论” 一样,经手 6 个人就可以到达收件人手中。
可以参考 tor 或者 i2p 的做法。
比如 A 和 B 之间的通信,B 会事先找一个节点 C,和 C (通过匿名的方式)建立连接,然后 B 在 dht 里存要找 B 的话去找 C,之后 A 如果想和 B 通信,A 会查 dht 得到这个信息,然后 A 和 C (通过匿名方式)建立连接,这样 A 和 B 就能通信了。
wangbudong
2020-05-23 10:07:50 +08:00
@cnt2ex 这个人不在线是否一直广播,还是只广播 6 次
cnt2ex
2020-05-23 10:34:45 +08:00
@wangbudong 我那段话是引用楼主的。
learningman
2020-05-23 22:20:42 +08:00
@cnt2ex 我觉得会变成风暴
lechain
2020-05-25 20:54:24 +08:00
小杠一下“当 A 需要发送信息给 B 时,使用自己的私钥对信息加密签名,”不应该要用对方的公玥加密吗?🤣自己的私钥加密,你的公玥可是公开了的呀😂
lechain
2020-05-25 20:55:59 +08:00
个人觉得楼主的想法很有意思,如果能实现,应该会有一定的接受度
imdong
2020-05-25 21:33:02 +08:00
@lechain 得亏发现的早,不然就算重大漏洞了,这都不是 BUG 这么简单了😂

应该可以实现,只是效率之类的太多问题需要解决,反正我是没有这个能力的(当下)
firefox12
2020-06-04 12:40:05 +08:00
关键是激励机制, 别人为什么要帮你广播? 都是 p2p, 谁也不欠谁, 其次是 spam, 如果解决好激励机制,spam 也就不是问题。 任何系统的核心只有一个 利益分配 。

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

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

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

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

© 2021 V2EX