过去一年在写一个匿名分布式的消息网络,取名叫 Nymo ( annonymous 中间的字母,读作 nemo )。
在这个网络中每个用户会持有一组非对称式密钥对,公钥用来做身份识别和消息加密,私钥用来做签名和消息解密。生成消息和加入网络需要工作量证明,以避免拒绝服务和中间人攻击。消息通信是每个节点尽力交付,目前用的是类似疫情传播的算法。每个用户会被随机分入不同的群组内,以做到 k-匿名性和有效率的消息传递。
协议还定义了节点交换、消息格式、本地节点发现协议和中继节点。协议会隐藏在常用应用层协议之下(如 HTTPS )以规避审查,在验证通过之后才会开始真正的 Nymo 网络通讯协议。
白皮书还在写,但是已经用 Go 写了一个实现,顺便还内置了 UPnP NAT 穿越。还写了一个 Web UI ,所以可以直接拿来用。希望有兴趣的朋友可以试一试,看看能不能找到安全方面的问题。
Nymo Core: https://github.com/nymo-net/nymo
Nymo WebUI: https://github.com/nymo-net/nymo-webui
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.