2014-04-03 208 views
0

场景:用户通过DHT连接的P2P分布式网络。他们用一个十六进制的76个字符的字符串标识自己。分布式P2P网络中的标识

问题:用户需要选择自己的ID,没有一个真正的长和随机的分配给他们。考虑到安全性,网络需要保持100%分布,因此使用pubkey:username的服务器是不可能的。

可能的解决方案:分布式数据库。但是,我们如何保证用户名的唯一性?区块链比特币不是一种可能性,因为下载千兆字节的数据也不便于用户使用,也不适用于动态内容。

可能的解决方案:分布式文件系统,如塔霍-LAFS。非常复杂和矫枉过正,不容易或干净地实施。

因此,问题是同时具有用户友好性和安全性/分配。

任何想法?

回答

0

所以问题是 - 你认为用户是友善还是邪恶?这意味着 - 你认为,用户会试图窃取对方的身份证,或者如果你告诉他们这样的身份证已经被拿走了,他们会接受并简单地选择另一个ID?

当您认为用户友好时,您可以简单地使用DHT并为每个用户名或用户标识生成一个虚拟条目。通过这种方式,您可以轻松检查这样的条目是否已经存在,并且还可以创建它。这不应该允许任何重复的条目(当DHT写入正确时)。

当你认为用户会尝试模仿别人,比你需要更强大的安全机制,也许应该去的GnuPG或其他PGP或PPK(公私钥)的实现。就我所知,这是确保某人身份的最简单的分散方式。但是在这种情况下,您需要存储用户的公钥。