一直有一个想法,就是每个人生成一个自己的 RSA 密钥对
即可创建一个账户,公网上公开自己的 密钥签名
,并且加入到这个 P2P 的网络中来。
应该是可以和 BT 下载的 DHT 一样,完全去中心化,可以有公共的 Tracker,但每个人又都是 Tracker,相互交换自己已经获取到的 其他用户 / Tracker 的连接信息。
当 A 需要发送信息给 B 时,使用自己的私钥对信息加密签名,然后把接收人的公钥指纹和加密的信息打包在一起,然后将打包后的数据广播给自己可以连接的用户。
每个用户接收到别人投递的包裹时,如果收件人不是自己,则再次广播给自己的其他用户,直到信息被收件人签收,也许会和 “六度空间理论” 一样,经手 6 个人就可以到达收件人手中。
为了激励用户,并且减少 “广播风暴”(是这个词么?),应该加入类似 TTL 的过期制度,或者使用金钱作为奖励,如果链路连接成功,则将奖励平均分给成功的链路中所有参与的用户,如果平均奖励低于最低单位时,丢弃信息。
但是似乎这样发送效率会挺低的,并且垃圾信息会很多,可以考虑把自己的指纹隐藏一部分然后与其他人交换。
例如:"63BA2ACA57F35E34B52153F9FA217BF1" => "6------A---35----5--5--------B-1";
每个人收到信息后,优先将邮件转发给指纹比较相近的若干人,也许能减少。
漏洞挺多的,但感觉挺有意思的😂理性讨论,不要喷我哈,暂不考虑政策问题。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.